Excel VBA質問箱 IV

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

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


6922 / 13644 ツリー ←次へ | 前へ→

【42309】条件によりデータを振り分ける ニッキ 06/9/6(水) 12:40 質問[未読]
【42310】Re:条件によりデータを振り分ける ichinose 06/9/6(水) 13:08 発言[未読]
【42311】Re:条件によりデータを振り分ける ニッキ 06/9/6(水) 13:42 質問[未読]
【42313】Re:条件によりデータを振り分ける ichinose 06/9/6(水) 13:50 発言[未読]
【42315】Re:条件によりデータを振り分ける ニッキ 06/9/6(水) 14:03 お礼[未読]

【42309】条件によりデータを振り分ける
質問  ニッキ  - 06/9/6(水) 12:40 -

引用なし
パスワード
   以前にある列の内容により別シートにデータを振り分けるという事で下記のような
回答かありましたが、下記のようにした場合、計算式が有ると上手くいきません。
絶対値で振り分けはできないでしょうか?
アドバイスをお願い致します。

Sub test()
Dim WsB As Worksheet, WsC As Worksheet
Dim i As Long
Set WsB = Worksheets("B")
Set WsC = Worksheets("C")
  For i = 1 To Range("B65536").End(xlUp).Row
   Select Case Cells(i, 2).Value 
   Case "A" 
     Call Rows(i).Copy(WsB.Range("A65536").End(xlUp).Offset(1, 0))     Case "B" 
     Call Rows(i).Copy(WsC.Range("A65536").End(xlUp).Offset(1, 0))     End Select
  Next
End Sub

【42310】Re:条件によりデータを振り分ける
発言  ichinose  - 06/9/6(水) 13:08 -

引用なし
パスワード
   ▼ニッキ さん:
こんにちは。

>以前にある列の内容により別シートにデータを振り分けるという事で下記のような
>回答かありましたが、下記のようにした場合、計算式が有ると上手くいきません。

>絶対値で振り分けはできないでしょうか?
>アドバイスをお願い致します。
>
>Sub test()
>Dim WsB As Worksheet, WsC As Worksheet
>Dim i As Long
>Set WsB = Worksheets("B")
>Set WsC = Worksheets("C")
>  For i = 1 To Range("B65536").End(xlUp).Row
>   Select Case Cells(i, 2).Value 
>   Case "A" 
     wsB.Cells(wsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
         = Rows(1).Value     
>    Case "B" 
>     Call Rows(i).Copy(WsC.Range("A65536").End(xlUp).Offset(1, 0))  
'       こっちも同じように変更してください
>   End Select
>  Next
>End Sub

【42311】Re:条件によりデータを振り分ける
質問  ニッキ  - 06/9/6(水) 13:42 -

引用なし
パスワード
   ▼ichinose さん:
こんにちは。

早速の回答有難うございます。
下記のように直してみましたが、元のシートの1行目がそれぞれのシートに
振り分けられてしまいます。(対象の行数の数分)
宜しくお願い致します。

     Case "A" 
      wsB.Cells(wsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
         = Rows(1).Value     
     Case "B" 
     wsC.Cells(wsC.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
         = Rows(1).Value

【42313】Re:条件によりデータを振り分ける
発言  ichinose  - 06/9/6(水) 13:50 -

引用なし
パスワード
   ▼ニッキ さん:
失礼しました
>
>早速の回答有難うございます。
>下記のように直してみましたが、元のシートの1行目がそれぞれのシートに
>振り分けられてしまいます。(対象の行数の数分)
>宜しくお願い致します。
>
>     Case "A" 
      wsB.Cells(wsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください    
>     Case "B" 
>      wsC.Cells(wsC.Rows.Count, 1). _
>         End(xlUp).Offset(1, 0).EntireRow.Value _
>          = Rows(1).Value

【42315】Re:条件によりデータを振り分ける
お礼  ニッキ  - 06/9/6(水) 14:03 -

引用なし
パスワード
   ▼ichinose さん:

早速の回答有難うございます。

お蔭様で上手くできました。

有難う御座いました。

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