【最終回】part 6・自動入力するマクロを作ろう(最後まで動かしてマクロを終了する) | VBAびより

VBAびより

こんにちわ!VBAびよりの、春っちです!
春っち流VBAをマスターすれば、秒で仕事を終わらせるVBAを作れるように、きっとなります!
(初めての方は1記事目から読んでいただくことをオススメします。)
どうぞよろしくお願いします!!

こんにちわ!VBAびよりの、春っちです!

 

「変数」を使って自動入力するマクロを作り初め、ついに、ついに、part 6【最終回】になりました。

 

今回は最終回ということで、出来上がったVBA文をまとめ、最後まで動かしてマクロを終了する。までやっていきます!

 

ここで忘れないよう、使わなかった「変数」の宣言は削除しておきます。

--------------------------------------

Dim ws1, ws2, ws3 As Worksheet
Dim a, b, c, LastRow As Long
Dim stra, strb As String

--------------------------------------

 

出来上がったVBA文はこちら▼

--------------------------------------

Sub 注文書作成()


Dim ws1, ws2, ws3 As Worksheet
Dim a, b, LastRow As Long

Set ws1 = ActiveWorkbook.Sheets("リスト")
Set ws2 = ActiveWorkbook.Sheets("注文書")

'リストを並び替える
ws1.Range("A1").CurrentRegion.Sort key1:=ws1.Range("A1"), key2:=ws1.Range("B1"), Header:=xlYes, SortMethod:=xlStroke

'リストの最終行を見つける
LastRow = ws1.Cells(1, 1).End(xlDown).Row

ws2.Copy after:=Worksheets(Sheets.Count) 'シートをコピーし右側に置く
Set ws3 = ActiveSheet 'コピーしたシートをアクティブにする
ActiveSheet.Name = ws3.Cells(1, 1) 'シートに名前をつける

b = 4
For a = 2 To LastRow

ws3.Cells(b, 1) = ws1.Cells(a, 1)
ws3.Cells(b, 2) = ws1.Cells(a, 3)
ws3.Cells(b, 3) = ws1.Cells(a, 2)
ws3.Cells(b, 4) = ws1.Cells(a, 4)

b = b + 1

Next a
End Sub
--------------------------------------


確認のため、2つのシート(リストと注文書)がある状態で「実行ボタン」▶を押してみます。

 

 

無事に出来ています涙😢

 

今度はリストの行数を50行まで増やして実行します。

 

出来ました★★★★★

無事にpart 6を迎え、最後まで書き終えることができました。
 
次回は少し「感想」を書かせていただく予定です。
最後までご覧いただきありがとうございました★☆★
 
 

【今日のpickup】~買ってよかった!春っちのオススメ商品~

 

(石鹸派の春っちは、とても重宝しております。)

 

 

1記事目はコチラからどうぞ↓