「For Each Column」ループを使用して、貼り付け内容をあるシートから別のシートにコピーしようとしています。列オブジェクト内のセルを正しく参照するのに苦労しています。または、少なくともそれが問題だと思います。
行 Sheets("Combo")... がこのエラーを出すのはなぜですか: オブジェクトはこのプロパティまたはメソッドをサポートしていません
Sub CRangeCopy()
Set ws = Sheets("Sheet1")
ColNr = 1
For Each c In ws.UsedRange.Columns
lastCellNr = c.Cells.Count
c.Cells(2, lastCellNr).Copy
Sheets("Sheet2").Cells(2, ColNr).Paste ' Object doesn't support
' this property or method
ColNr = ColNr + 1
Next c
End Sub
編集:
提案された変更を行い、現在 Range を使用しています。以下のコードはデバッグ モードで動作することがありますが、全体として実行すると動作しませんか? 理由はありますか?
Sub CopyToNewSheet()
Sheets.Add.Name = "Combo"
Set ws = Sheets("Sheet1")
For Each c In ws.UsedRange.Columns
Range(Cells(2, c.Column), Cells(4, c.Column)).Copy Sheets("Combo").Cells(2, c.Column)
Next c
End Sub