selectを使用せずにコードを書き直してスピードアップしようとしています。選択/アクティブ化を使用せずにワークシート名を別のワークシートにコピーして貼り付ける
私は3つのタブを持っており、タブを選択せずに、それぞれのタブに表示されるデータの隣にタブ名を貼りたいとします。
しかし、シート1のようにコードを実行すると、シート1では機能しますが、シート2では同じコードを実行しようとすると「実行時エラー」1004 ':アプリケーション定義またはオブジェクト定義のエラーです。
下記のコードをご覧ください。
Sub Create_Reports_NEWWWW()
Application.ScreenUpdating = False
Dim wb As Workbook
Dim LastRow As Integer
Dim LastColumn As Integer
Set wb = ActiveWorkbook
'copy sheet name to right of raw data on each sheet
LastRow = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(1).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(1).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(1).Name
LastRow = wb.Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(2).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(2).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(2).Name
LastRow = wb.Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(3).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(3).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(3).Name
++あなたは正しいですか?行と列の前にDOTSを追加することもお勧めします。 –
よろしくお願いいたします。それらを編集した。 –
私は知っているから。 :P私はそれを説明したいですか? ;) –