|
▼kanabun さん:
こんにちは。
No.56852のコメント含め、分かりやすい説明ありがとうございます。
説明を読み、理解です。本当にありがとうございます。
早速、下のコードを実際のブック名やシート名を当てはめて実行してみました。
>Sub 値だけ貼付けVer3()
は、理解できたのですが、
>'WS1:コピー元シート strCopyTo: コピー先先頭セル([A13]のときのみ指定)
これより下で止まってしまいました。
>Private Sub CopyData(ByVal WS1 As Worksheet, Optional strCopyTo$ = "")
> Dim y As Long
> Dim CopyTo As Range
> Dim WS2 As Worksheet
> Set WS2 = Workbooks("集計.xls").Sheets("集計")
> If IsMissing(strCopyTo) Then
> Set CopyTo = WS2.Cells(65536, "A").End(xlUp).Offset(1)
> Else
(止まってしまったのは下の部分です。)
> Set CopyTo = WS2.Range(strCopyTo)
1つ目のブックのシートのコピーはうまくできました。
2つ目のブックを開いたまでは進むのですが、
この部分で実行時エラーが出てしまいました。
そこで、セルの指定が無いからかなと思って、
(1)『その他.xls』を開いて 「集計」シートに値貼り付け
Set Book = Workbooks.Open(myFolder & "その他.xls")
CopyData Book.Sheets("その他"), "A13"
Book.Close
Set Book = Nothing
と同じ用に仮に
(2)『13.xls』を開いて 「集計」シートに値貼り付け
Set Book = Workbooks.Open(myFolder & "13.xls")
CopyData Book.Sheets("QC"), "A13"
CopyData Book.Sheets("AA"), "A13"
Book.Close
Set Book = Nothing
というようにしてみると、動きましたが、
この場合だと、もちろんコピー先のA13に貼り付けます。
いろいろ試してみましたが私に知識が無さ過ぎてだめでした。
|
|