詳細を提供するためにこの記事を編集しています。ソースブックの多くのワークシートの特定の範囲の値をコピー先のワークブックの多くのワークシートの同じ範囲にコピーする
これは、元のブックの複数のワークシート(約90)の特定の範囲の値を、宛先ブックの多くのワークシートの同じ特定の範囲にコピーしようとするものです。ソースブックと宛先ブックの両方のワークシートには、同じ名前が付けられています。例えば
は、「N」による名「A」とのワークシートのため、アルゴリズムのようなものかもしれない:私だけにしようとすると、エラーが発生している
Copy from SourceWorkbook.Worksheet("A").Range ("H46:H85")
PasteValues to DestinationWorkbook.Worksheet("A").Range ("H46:H85")
.
.
.
Copy from SourceWorkbook.Worksheet("N").Range ("H46:H85")
PasteValues to DestinationWorkbook.Worksheet("N").Range ("H46:H85")
名WS先がある場合は貼り付けが発生することができますソースws名と同じです。
これはこれまで私が行ってきたことです。
Sub TestGetReview_5()
'still not working
Dim ToWb As Workbook
Dim FromWb As Workbook
Dim FromSht As Worksheet
Dim ToSht As Worksheet
Dim SheetName As String 'not sure this is needed
Set FromWb = Workbooks("SourceWorkbook.xlsm") 'wb is open
Set ToWb = Workbooks("DestinationWorkbook.xlsm") 'wb is open
For Each FromSht In FromWb.Worksheets
If FromSht.Name Like "N*" And FromSht.Name <> "Notes" Then
SheetName = FromSht.Name
FromWb.Activate
FromSht.Activate
Range("H46:H85").Copy
ToWb.Activate
Set ToWb.ToSht.Sheets(SheetName) = FromWb.FromSht.Sheets(SheetName) 'Attempt to only allow pasting if Destination worksheet name is same as source worksheet name produces error "object doesn't support this property or method". Variable SheetName is correctly set to first ws in source wb
ToSht.Activate
Range("H46:H85").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next FromSht
End Sub
本当に助けていただきありがとうございます!
ようこそStackOverflow! StackOverflowはコードを記述するよう人に依頼するのに適していないことに注意してください。コードの作成/実行中に特定の問題が発生した場合、その質問はStackOverflowに適しています。 –
自分の質問を削除するには、削除リンクをクリックして質問を削除します。 –
ありがとう、Zev。私はより詳細なバージョンを投稿します。私はそれが働いていたと思っていましたが、悲しいかな、まだです。 – user7354053