1つのワークブック内の複数のワークシートで実行されるマクロに取り組んでおり、シートを切り替えて、データを1つのマスターシートにコピー/貼り付けしています。
私の問題は、Windows(index).Activateを使用して別のシートに切り替えてから、削除する列を選択しようとすると、列が正しく選択されないことです。以下のコードを使用していますが、マスターシートではまったく同じコードで問題なく機能しますが、VBAコードで別のシートに切り替えて使用すると、列1から末尾までのすべての列が選択されます。データ。
以下のコードの背後にある考え方は、列1から始めて、「複合評価」という列を検索することです。次に、列3から複合評価列までのすべての列を削除します。
誰かが私が間違っていることを教えてもらえますか?助けてくれてありがとう!
For counter = 1 To 40 Step 1
Cells("1", counter).Select
strval = ActiveCell.Value
If strval = "Composite Rating" And counter <> 3 Then
Range(Cells(1, 3), Cells(1, counter - 1)).EntireColumn.Select
Selection.Delete Shift:=xlLeft
Exit For
End If
Next counter
編集:申し訳ありませんが、私の設定について言及する必要があります。Windows7でExcel2007を使用しています。xlsファイルとxlsxファイルの両方を試しましたが、同じ結果になりました。