2

あるワークシートから、すでに行がある別のワークシートに列の値をコピーしたいと思います。

ワークシート「source」の列Aの値をワークシート「dest」の列Xに追加したいと思います。ただし、ソース列の最初の2行をスキップしたいので、値は2000行目の後に挿入する必要があります。

たとえば、次のようになります。

Workbook.Sheets("source").Columns("A3:A").Copy Destination:=nDestSheet.Range("X2001")

しかし、VBAはタイプの不一致について教えてくれます。構文に関して何か間違ったことをしているだけだと思います。

誰か助けてもらえますか?

ありがとうございました!

4

2 に答える 2

3

.Columns範囲ではなく、列番号または文字を受け入れます。「A3:A」はとにかく有効な範囲ではないため、これは必ずしも重要ではありません。

あなたはおそらくしたい

With Workbook.Sheets("source")
  .Range(.Range("A3"), .Columns("A").Cells(.UsedRange.Rows(.UsedRange.Rows.Count).Row)).Copy Destination:=nDestSheet.Range("X2001")
End With
于 2013-01-12T19:59:56.617 に答える
0

簡単なことはどうですか:

Workbook.Sheets("source").Columns("A").Copy Destination:=nDestSheet.Range("X2001")
于 2013-03-08T08:25:29.717 に答える