Excel VBA質問箱 IV

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

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


6920 / 13646 ツリー ←次へ | 前へ→

【42317】条件によりデータを振り分ける(2) ニッキ 06/9/6(水) 15:45 質問[未読]
【42320】Re:条件によりデータを振り分ける(2) ハチ 06/9/6(水) 16:20 発言[未読]
【42323】Re:条件によりデータを振り分ける(2) ニッキ 06/9/6(水) 17:04 質問[未読]
【42324】Re:条件によりデータを振り分ける(2) ハチ 06/9/6(水) 17:16 発言[未読]
【42325】Re:条件によりデータを振り分ける(2) ニッキ 06/9/6(水) 17:36 質問[未読]
【42326】Re:条件によりデータを振り分ける(2) ハチ 06/9/6(水) 17:53 発言[未読]
【42328】Re:条件によりデータを振り分ける(2) ニッキ 06/9/6(水) 18:27 質問[未読]
【42334】Re:条件によりデータを振り分ける(2) 漂流民 06/9/7(木) 0:30 発言[未読]
【42339】Re:条件によりデータを振り分ける(2) ニッキ 06/9/7(木) 8:35 お礼[未読]

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

引用なし
パスワード
   42309の件ですが、再度教えて下さい。
別シートからコマンドボタンにより実行したいのですが、どのように
変更すればよいでしょうか?
宜しくお願い致します。

Private Sub CommandButton1_Click()

Dim WsB As Worksheet
Dim i As Long

Set WsB = Worksheets("B")
Set WsC = Worksheets("C")
  For i = 2 To Range("B65536").End(xlUp).Row
    Select Case Cells(i, 1).Value
    Case 0 To 9999
      WsB.Cells(WsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    Case Else
      WsC.Cells(WsC.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    End Select
  Next

End Sub

【42320】Re:条件によりデータを振り分ける(2)
発言  ハチ  - 06/9/6(水) 16:20 -

引用なし
パスワード
   ▼ニッキ さん:
>42309の件ですが、再度教えて下さい。
>別シートからコマンドボタンにより実行したいのですが、どのように
>変更すればよいでしょうか?
>宜しくお願い致します。

Workbookから指定すれば良いと思いますが。

>Set WsC = Workbooks("Test.xls").Worksheets("C")
>  For i = 2 To Range("B65536").End(xlUp).Row ←Rangeとかも
>    Select Case Cells(i, 1).Value ←このCellsとかも

基本中の基本なので一度、Webなどで勉強してください。
解りやすく解説されているページは沢山あります。

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

引用なし
パスワード
   質問が上手くなかったようですみません。
元となるシート上では下記で動作するのですが別シートに作ると上手く動作しません。
元になるシートをActivate状態にしても同じでした。

Private Sub CommandButton1_Click()

Dim WsB As Worksheet
Dim i As Long

Set WsB = Worksheets("B")
Set WsC = Worksheets("C")
  For i = 2 To Range("B65536").End(xlUp).Row
    Select Case Cells(i, 1).Value
    Case 0 To 9999
      WsB.Cells(WsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    Case Else
      WsC.Cells(WsC.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    End Select
  Next

End Sub

【42324】Re:条件によりデータを振り分ける(2)
発言  ハチ  - 06/9/6(水) 17:16 -

引用なし
パスワード
   ▼ニッキ さん:
>質問が上手くなかったようですみません。
>元となるシート上では下記で動作するのですが別シートに作ると上手く動作しません。
>元になるシートをActivate状態にしても同じでした。

「何が」うまくいかないのか、わかりません。
XXで〜エラーが出る とか
転記されない とか

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

引用なし
パスワード
   ▼ハチ さん:
お手数をお掛けして申し訳ございません。

エラーも出ないで何も変わりません。

見ているところが違っているみたいです。

申し訳ありません。

【42326】Re:条件によりデータを振り分ける(2)
発言  ハチ  - 06/9/6(水) 17:53 -

引用なし
パスワード
   ▼ニッキ さん:
>見ているところが違っているみたいです。

よくわかりませんので勘だけで。
1、
他はA列なのにここだけB列?
2、
A列のデータはホントに数値?文字列型になっているとか
3、
Buttonがどこにあって、どこのデータを振り分けたいのかわからない。


Private Sub CommandButton1_Click()

Dim WsB As Worksheet
Dim i As Long

Set WsB = Worksheets("B")
Set WsC = Worksheets("C")
  For i = 2 To Range("B65536").End(xlUp).Row '←1
    Select Case Cells(i, 1).Value '←2
    Case 0 To 9999
      WsB.Cells(WsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    Case Else
      WsC.Cells(WsC.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    End Select
  Next

End Sub

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

引用なし
パスワード
   ▼ハチ さん:
お手間をとらして申し訳ありません。

Aシートにデータがあり、A列の内容によってBシートとCシートへ
振り分けを行いたいのですが、コマンドボタンをDシートに作りました。
以上で宜しいでしょうか?
宜しくお願い致します。

Private Sub CommandButton1_Click()

Dim WsB As Worksheet
Dim i As Long

Set WsB = Worksheets("B")
Set WsC = Worksheets("C")
  For i = 2 To Range("A65536").End(xlUp).Row 
    Select Case Cells(i, 1).Value 
    Case 0 To 9999
      WsB.Cells(WsB.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    Case Else
      WsC.Cells(WsC.Rows.Count, 1). _
         End(xlUp).Offset(1, 0).EntireRow.Value _
          = Rows(i).Value 'ここの変数iを入れてください
    End Select
  Next

End Sub

【42334】Re:条件によりデータを振り分ける(2)
発言  漂流民  - 06/9/7(木) 0:30 -

引用なし
パスワード
   ▼ニッキ さん:
こんばんわ

>Aシートにデータがあり、A列の内容によってBシートとCシートへ
>振り分けを行いたいのですが、コマンドボタンをDシートに作りました。
コードは良くみていないのですが、Aシートがアクティブシートでは
ないのであれば明示する必要があります。
(未実行です、エラーがあったらすみません)

Private Sub CommandButton1_Click()
  Dim WsA As Worksheet
  Dim WsB As Worksheet
  Dim WsC As Worksheet
  Dim i As Long
  
  Set WsA = Worksheets("A")
  Set WsB = Worksheets("B")
  Set WsC = Worksheets("C")
  
  With WsA
    For i = 2 To .Range("B65536").End(xlUp).Row
      Select Case .Cells(i, 1).Value
      Case 0 To 9999
        WsB.Cells(WsB.Rows.Count, 1). _
           End(xlUp).Offset(1, 0).EntireRow.Value _
            = .Rows(i).Value 'ここの変数iを入れてください
      Case Else
        WsC.Cells(WsC.Rows.Count, 1). _
           End(xlUp).Offset(1, 0).EntireRow.Value _
            = .Rows(i).Value 'ここの変数iを入れてください
      End Select
    Next
  End With
End Sub


ハズしてたらすいません^^

【42339】Re:条件によりデータを振り分ける(2)
お礼  ニッキ  - 06/9/7(木) 8:35 -

引用なし
パスワード
   ▼漂流民 さん:

有難うございました。
お蔭様で上手くいきました。
心から御礼申し上げます。

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