Excel VBA質問箱 IV

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

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


58356 / 76732 ←次へ | 前へ→

【23105】Re:データの抽出について
発言  ponpon  - 05/3/13(日) 19:36 -

引用なし
パスワード
   ▼indy さん:
ponpon です。こんばんは。
offsetとresizeをヘルプで調べればできると思います。

>sheet1
>  A     B  ・ ・・・・ M  N
>1 品目CODE 品目       A店 B店
>2 001   みかん      500 700
>3 002   りんご      800 800  
>4 003   バナナ      300 450
>5  :    :         :
>6
>というデータを
>sheet2
>  A     B    C  D
>1 品目CODE 品目  A店 B店
>2 001   みかん  500 700
>3 003   バナナ  300 450  
>4  :    :    :
>5
>と、条件は変わらないのですが、sheet1のデータが離れてしまっている
>(DからL列は条件には関係のないデータが入っています)
>ものをsheet2のようにしたい時はどのように書けばいいのでしょうか・・。
>初心者の為、お手数おかけ致します。
>宜しくお願いします。

>>Sub test()
>>  Dim myRng As Range
>>  Dim myRng2 As Range
>>  Dim r As Range
>>  
>>  With Worksheets("sheet1")
>>     Set myRng = .Range(.Range("B2"), .Range("B65536").End(xlUp))
                  ↑       ↑
                  M2にかえる   M65536にかえる。
>>     For Each r In myRng
>>      If r <> "" Then
>>       If r.Value <> r.Offset(, 1).Value Then
>>        Set myRng2 = Worksheets("sheet2").Range("A65536").End _
>>          (xlUp).Offset(1, 0)
>>        Worksheets("sheet2").Range("A1").Resize(1, 3).Value _
>>         = .Range("A1").Resize(1, 3).Value
          ↑
         ここは、A1:B1 とC1:D1に分けて考える。
          ↓
>>        myRng2.Resize(1, 3).Value = r.Offset(, -1) _
>>                      .Resize(1, 3).Value

           ↑ここも、rからどれくらいoffsetするか考える

>>       End If
>>      End If
>>     Next
>>  End With
>>
>>End Sub

 自分でがんばってみてください。
 後sheet2のA列は書式を文字列にしないといけません。
0 hits

【23094】データの抽出について indy 05/3/12(土) 23:46 質問
【23098】Re:データの抽出について ponpon 05/3/13(日) 0:32 回答
【23102】Re:データの抽出について indy 05/3/13(日) 16:25 質問
【23105】Re:データの抽出について ponpon 05/3/13(日) 19:36 発言
【23107】Re:データの抽出について ponpon 05/3/13(日) 20:38 回答
【23113】Re:データの抽出について indy 05/3/13(日) 23:38 お礼
【23106】Re:データの抽出について かみちゃん 05/3/13(日) 20:20 回答
【23114】Re:データの抽出について indy 05/3/13(日) 23:56 お礼

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