久々にVBA
今日は久しぶりにExcelのマクロを作成しました。
とあるExcelシートから別のシートにセルの内容をコピーするプログラムで
Private Const START_FROM As Integer = 4 Private Const START_TO As Integer = 3 Private Sub Start_Click() Dim copyTo As Workbook Dim copyFrom As Workbook '貼り付け先Excelファイル Set copyTo = ActiveWorkbook 'コピー元Excelファイル Set copyFrom = Workbooks.Open(Filename:=["C:/Excelsample/test1.xls"]) On Error GoTo ERROR Dim i As Long Dim rowCount As Long rowCount = 0 For i = START_FROM To 65536 '一定の条件のセルのみコピー If copyFrom.ActiveSheet.Cells(i, 5).Value = "table" Then Cells(rowCount + START_TO, 1).Value = _ copyFrom.ActiveSheet.Cells(i, 1).Value Cells(rowCount + START_TO, 2).Value = _ copyFrom.ActiveSheet.Cells(i, 2).Value Cells(rowCount + START_TO, 3).Value = _ copyFrom.ActiveSheet.Cells(i, 3).Value Else Exit For End If rowCount = rowCount + 1 Next i ERROR: copyFrom.Close End Sub
まぁこんな感じのマクロです。
このプロジェクトでVBの経験が役に立つとは思わなかったw