開発時によく使う処理です。
設定を可変にしたい場合など、ユーザー目線に立った開発を心掛けています。
ループ処理を可変で行う
上記のようにB列から最終列まで可変の処理をする場合があります。
今回は「集計」を30行目に追加、「担当者」を31行目に行追加の2つだけですが、
今後増えたり、減ったりする可能性は否定できません。
わざわざ、そのような追加修正(費用もらったとしても)は無駄だと思うので、
当方ではユーザー目線に沿った開発をします。(費用もらったとしても面倒ともいう)
ループ処理を可変で行うサンプルコード
'■行追加処理 Public Function call_InsertRow(ws As Worksheet, COL_START As Long, SETTING_ROW As Long) Dim wsSetting As Worksheet: Set wsSetting = ThisWorkbook.Worksheets("Setting") '★ここを手動で変更する '■Settingシートを最終列まで処理する Dim c As Long For c = COL_START To Call_LastColWs(SETTING_ROW, wsSetting) Step 2 Dim tRow As Long: tRow = wsSetting.Cells(SETTING_ROW, c) ws.Rows(tRow).Insert '30行目に行追加 ws.Cells(tRow, 1) = wsSetting.Cells(SETTING_ROW, c + 1) '30行目のA1セルに「集計」の文字を追加 Next End Function
注意点
- Call_LastColWsはこちらの記事参照。
- 実際には行を追加すると基準の行は異なってくるので、若い行から記入は必要です。
コメント