こんにちは脇村です。僕のブログでは、本業での実務上のEXCEL、ACCESSマクロ&VBAの使えそうなコードの紹介、コールドリーディングの実践例、電話占いでの現場、最近読んでいいなと思った本等について、主に発信していきたいと思っています。
今回はEXCELVBAについて発信したいと思います。 こういったプログラム系統は何を実現したいかを強く頭に描くことが実現への第一歩につながると思います。 少しずつ発信していってその手助けができれば幸いだと思っています。 今回はEXCELVBAFor~nextを使ったマクロについてです。 現在のsheetの数字を別のsheetに反映させると言うVBAです。
納入リストsheet
Activesheet(1日sheet)
Sub 数字反映()
Dim 行 As Integer
Dim 行2 As Integer
行2 = 11 ①
For 行 = 4 To 32 ②
Sheets(“納入リスト”).Range(“L” & 行2).Value = ActiveSheet.Range(“H” &行).Value③
行2 = 行2 + 1 ④
Next
End Sub
①の行2 = 11と言うのは納入リストSheetの最初に処理をする行が11行目だから11です。
②は現在のsheet( ActiveSheet)のスタートがH列4行目で最後が32行目だからFor 行 = 4 To 32になります。
③は納入リストsheetのL11に現在のsheet( ActiveSheet)のH4の値を反映させます。
④は納入リストsheetのL11から次はL12反映するので、行2に+1しないといけません。なので行2 = 行2 + 1になります。 行は次にループで4→5になります。 後は②の中のプログラムを行が32になるまで処理を繰り返します。 今回はFor~nextの初歩の初歩のマクロでした。次回もまたよろしくお願いします。
平均150万円/月以上のコンサル案件多数【Strategy Consultant Bank】