Excel VBA質問箱 IV

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

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


51878 / 76738 ←次へ | 前へ→

【29714】Re:列と行を入れ替えてコピーする
回答  座布団  - 05/10/12(水) 14:10 -

引用なし
パスワード
   ▼あさこ さん:
>例えばりんご.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さんのコードのようにサブルーチン化して、
再構成の範囲や列数が指定できる汎用的な関数を自作するのも一つの手です。
0 hits

【29670】列と行を入れ替えてコピーする あさこ 05/10/11(火) 15:13 質問
【29671】Re:列と行を入れ替えてコピーする 座布団 05/10/11(火) 15:32 回答
【29676】Re:列と行を入れ替えてコピーする あさこ 05/10/11(火) 16:40 質問
【29685】Re:列と行を入れ替えてコピーする ichinose 05/10/11(火) 19:46 発言
【29716】Re:列と行を入れ替えてコピーする あさこ 05/10/12(水) 14:41 お礼
【29714】Re:列と行を入れ替えてコピーする 座布団 05/10/12(水) 14:10 回答
【29717】Re:列と行を入れ替えてコピーする あさこ 05/10/12(水) 15:08 お礼

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