Excel VBA質問箱 IV

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

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


25176 / 76732 ←次へ | 前へ→

【56900】Re:別シートへ行と列を入れ替えてコピー
発言  kanabun  - 08/7/10(木) 10:39 -

引用なし
パスワード
   こんにちは。

▼Copy元範囲のアドレス
> 【sheets(1)データ】
> 11行のデータのセル場所 【R11:Y11】,【AA11:AH11】,【AJ11:AQ11】
> 15行のデータのセル場所 【R15:Y15】,【AA15:AH15】,【AJ15:AQ15】
> 19行のデータのセル場所 【R19:Y19】,【AA19:AH19】,【AJ19:AQ19】
> 23行のデータのセル場所 【R23:Y23】,【AA23:AH23】,【AJ23:AQ23】

上の4行は、こういう風にも考えられませんか?

[R11]を基点として【A1:H1】,【J1:Q1】,【S1:Z1】
         【A5:H5】,【J5:Q5】,【S5:Z5】、

[R19]を基点として【A1:H1】,【J1:Q1】,【S1:Z1】
         【A5:H5】,【J5:Q5】,【S5:Z5】、

つまり、2行を1ブロックと考えると、起点セルの座標が単調増加するだけで、
Copy範囲の相対位置はどのブロックでも同じ、ということ。

'コピー先についても同じ。


Sub Try1()
 Dim r As Range
 Dim c As Range
 
 Set r = Worksheets(1).[R11] '最初のCopyブロック基点セル
 Set c = Worksheets(2).[C5] '最初のPaste先セル
 
 Do
   BlockCopy r, c
   
   Set r = r.Offset(8) 'つぎのブロック先頭へ
   Set c = c.Offset(16)
 Loop Until r.Row > 1207
 
End Sub

Private Sub BlockCopy(ByVal r As Range, ByVal c As Range)
 With r
  .Range("A1:H1").Copy
     c.Range("A1").PasteSpecial xlValues, Transpose:=True
  .Range("J1:Q1").Copy
     c.Range("C1").PasteSpecial xlValues, Transpose:=True
  .Range("S1:Z1").Copy
     c.Range("F1").PasteSpecial xlValues, Transpose:=True
  
  .Range("A5:H5").Copy
     c.Range("I1").PasteSpecial xlValues, Transpose:=True
  .Range("J5:Q5").Copy
     c.Range("K1").PasteSpecial xlValues, Transpose:=True
  .Range("S5:Z5").Copy
     c.Range("N1").PasteSpecial xlValues, Transpose:=True
 End With
End Sub

0 hits

【56864】別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 9:11 質問
【56866】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 9:22 回答
【56868】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 11:27 質問
【56869】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/9(水) 12:02 発言
【56885】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 16:51 お礼
【56873】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 13:19 発言
【56874】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 13:33 発言
【56883】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/9(水) 16:48 質問
【56886】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/9(水) 17:18 発言
【56887】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 17:39 発言
【56888】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/9(水) 17:54 発言
【56897】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 9:07 お礼
【56899】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 10:27 お礼
【56902】Re:別シートへ行と列を入れ替えてコピー ハチ 08/7/10(木) 11:10 発言
【56900】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 10:39 発言
【56901】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 10:56 お礼
【56904】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 11:22 発言
【56918】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 16:10 質問
【56919】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 17:04 発言
【56905】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 12:00 質問
【56906】Re:別シートへ行と列を入れ替えてコピー Abebobo 08/7/10(木) 12:36 発言
【56907】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 13:03 回答
【56908】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 13:15 回答
【56909】Re:別シートへ行と列を入れ替えてコピー kanabun 08/7/10(木) 13:47 発言
【56913】Re:別シートへ行と列を入れ替えてコピー 初心者さっち 08/7/10(木) 14:45 お礼

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