Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


64586 / 76732 ←次へ | 前へ→

【16726】Re:他のブックからの、値のみスマートなコピー
質問  ackkn  - 04/8/7(土) 11:13 -

引用なし
パスワード
   ▼Asaki さん:
>こんばんは。
>
>スマートかどうか解りませんが、↓のような感じでは如何でしょうか?
>2箇所くらいだと、ループしなくてもよいかな、と思います。
>
>Sub test()
>  Dim strFile     As String
>  Dim rngCopy     As Range
>  
>  Application.ScreenUpdating = False
>  'ファイルオープン
>  Workbooks.Open Filename:=strFile
>
>  'データコピー
>  With ThisWorkbook.Worksheets("MAIN")
>    Set rngCopy = _
>      ActiveSheet.Range(ActiveSheet.Cells(2, 5), ActiveSheet.Cells(6536, 5).End(xlUp))
>    .Cells(5, 1).Resize(rngCopy.Rows.Count).Value = rngCopy.Value
>    Set rngCopy = _
>      ActiveSheet.Range(ActiveSheet.Cells(2, 11), ActiveSheet.Cells(6536, 11).End(xlUp))
>    .Cells(5, 2).Resize(rngCopy.Rows.Count).Value = rngCopy.Value
>  End With
>  Set rngCopy = Nothing
>  Workbooks(Dir(strFile)).Close
>  Application.ScreenUpdating = True
>  
>End Sub

Asaki さん、早速のレスありがとうございました。

早速やってみますが、何せ初心者ですので、できましたら下記の部分の簡単な解説をして頂けないでしょうか?

>    Set rngCopy = _
>      ActiveSheet.Range(ActiveSheet.Cells(2, 5), ActiveSheet.Cells(6536, 5).End(xlUp))
>    .Cells(5, 1).Resize(rngCopy.Rows.Count).Value = rngCopy.Value
>    Set rngCopy = _
>      ActiveSheet.Range(ActiveSheet.Cells(2, 11), ActiveSheet.Cells(6536, 11).End(xlUp))
>    .Cells(5, 2).Resize(rngCopy.Rows.Count).Value = rngCopy.Value

それと、ActiveSheet.Cells(6536, 11).End(xlUp))の 6536 の部分は、通常データの量から何も最下行(65536)から上がらなくてもという事でしょうか?

よろしくご教示下さい。
1 hits

【16720】他のブックからの、値のみスマートなコピー ackkn 04/8/7(土) 0:08 質問
【16721】Re:他のブックからの、値のみスマートなコ... Asaki 04/8/7(土) 0:30 回答
【16726】Re:他のブックからの、値のみスマートなコ... ackkn 04/8/7(土) 11:13 質問
【16727】Re:他のブックからの、値のみスマートなコ... Asaki 04/8/7(土) 11:29 回答
【16728】Re:他のブックからの、値のみスマートなコ... ackkn 04/8/7(土) 15:00 質問
【16759】Re:他のブックからの、値のみスマートなコ... Asaki 04/8/9(月) 9:03 回答
【16773】Re:他のブックからの、値のみスマートなコ... ackkn 04/8/9(月) 15:45 お礼

64586 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free