|
▼あさこ さん:
>例えばりんご.xlsのリンゴというシートのデータを
>総合.xlsのリンゴというシートに貼り付けたい場合なんですけど・・
前回、提示させていただいたコードを改良し、
操作範囲をシートからブック(〜.xls)まで広げれば解決します。
ちなみに、以下のコードは、りんご.xlsと総合.xlsが開かれていて、
各ブックに"リンゴ"というシートが存在する前提でしか動作しません。
Private Sub Seiretu2()
Dim s1 As Object 'ブック1内のシート
Dim s2 As Object 'ブック2内のシート
Dim s1row As Long 's1の操作先の行番号
Dim s2row As Long 's2の操作先の行番号
'以下のSetで「S1」は「Workbooks("りんご.xls").Sheets("リンゴ")」と
'同じ意味を持つようになります。
'「S2」についても同じ考えです。
Set s1 = Workbooks("りんご.xls").Sheets("リンゴ")
Set s2 = Workbooks("総合.xls").Sheets("リンゴ")
s1row = 1
s2row = 1
While (s1.Cells(s1row, 1).Value <> "")
s2.Cells(s2row, 1).Value = s1.Cells(s1row, 1).Value
s2.Cells(s2row, 2).Value = s1.Cells(s1row + 1, 1).Value
s1row = s1row + 2
s2row = s2row + 1
Wend
End Sub
[P.S]
もちろん、ichinoseさんのコードのようにサブルーチン化して、
再構成の範囲や列数が指定できる汎用的な関数を自作するのも一つの手です。
|
|