Excel VBA質問箱 IV

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

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


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

【51762】OptionButtonの使い方について Mikiko 07/10/3(水) 21:50 質問[未読]
【51763】Re:OptionButtonの使い方について neptune 07/10/3(水) 22:47 発言[未読]
【51764】Re:OptionButtonの使い方について ichinose 07/10/3(水) 23:00 発言[未読]
【51771】Re:OptionButtonの使い方について neptune 07/10/4(木) 10:37 発言[未読]
【51793】Re:OptionButtonの使い方について Mikiko 07/10/4(木) 19:23 お礼[未読]
【51795】Re:OptionButtonの使い方について ichinose 07/10/4(木) 20:38 発言[未読]
【51799】Re:OptionButtonの使い方について Mikiko 07/10/5(金) 7:20 お礼[未読]

【51762】OptionButtonの使い方について
質問  Mikiko  - 07/10/3(水) 21:50 -

引用なし
パスワード
   今晩は。よろしくお願いします。
ListBox1にシート1の4列のデータを拾っています(Initializeにて)。
OptionnButton1_Clickで4列目をAutoFilterをかけて抽出したデータをシート2にコピーさせ、
その後、Filterで絞られたシート2のコピーしたデータをListBox1に反映したいのですが・・・出来ません。コードの不手際が何なのか分かりません。
どなたか教えてください。

Private Sub UserForm_Initialize()
  With Worksheets("Sheet1")
  .Range("A2").AutoFilter
    Me.ListBox1.RowSource = .Range("a2").CurrentRegion.Address
  With ListBox1
   .ColumnCount = 4
   .ColumnWidths = "30;30;30;30"
  End With
 End With
End Sub

Private Sub OptionButton1_Click()
With Sheets("sheet1")
 .Range("D2").AutoFilter Field:=4, Criteria1:="1"
 .Range("A2").CurrentRegion.Copy Sheets("sheet2").Range("A1")
End With
With Sheets("sheet2")
  Me.ListBox1.RowSource = .Range("A1", .Range("D" & .Rows.Count).End(xlUp)).Address  'このコードが美味く働いていないと思います。が。
End With
End Sub

【51763】Re:OptionButtonの使い方について
発言  neptune  - 07/10/3(水) 22:47 -

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

ListBox1にはジャンプ→可視セルで選択したものを入力しましょう。
他に方法があるのかどうかわかりませんが、私にはAddItem
ぐらいしか思いつきません。

【51764】Re:OptionButtonの使い方について
発言  ichinose  - 07/10/3(水) 23:00 -

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

>今晩は。よろしくお願いします。
>ListBox1にシート1の4列のデータを拾っています(Initializeにて)。
>OptionnButton1_Clickで4列目をAutoFilterをかけて抽出したデータをシート2にコピーさせ、
>その後、Filterで絞られたシート2のコピーしたデータをListBox1に反映したいのですが・・・出来ません。コードの不手際が何なのか分かりません。
>どなたか教えてください。
>
>Private Sub UserForm_Initialize()
>  With Worksheets("Sheet1")
>  .Range("A2").AutoFilter
>    Me.ListBox1.RowSource = .Range("a2").CurrentRegion.Address
>  With ListBox1
>   .ColumnCount = 4
>   .ColumnWidths = "30;30;30;30"
>  End With
> End With
>End Sub
>
>Private Sub OptionButton1_Click()
>With Sheets("sheet1")
> .Range("D2").AutoFilter Field:=4, Criteria1:="1"
> .Range("A2").CurrentRegion.Copy Sheets("sheet2").Range("A1")
>End With
'↓このシートがアクティブでないなら・・・、
>With Sheets("sheet2")
  Me.ListBox1.RowSource = .Range("A1", .Range("D" & .Rows.Count).End(xlUp)).Address(, , , True)
'↑このようにAddressプロパティを設定します。

>End With
>End Sub

【51771】Re:OptionButtonの使い方について
発言  neptune  - 07/10/4(木) 10:37 -

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

あれれ!!!
>OptionnButton1_Clickで4列目をAutoFilterをかけて抽出したデータをシート2にコピーさせ
なんですね。よく読んでませんでした。ごめんなさい。
私のResは全く的外れなんで無視して下さい。

失礼しました。

【51793】Re:OptionButtonの使い方について
お礼  Mikiko  - 07/10/4(木) 19:23 -

引用なし
パスワード
   ▼ichinose さん:
今晩は。
ありがとうございました。正しく動作しました。

>'↓このシートがアクティブでないなら・・・、
>>With Sheets("sheet2")
>  Me.ListBox1.RowSource = .Range("A1", .Range("D" & .Rows.Count).End(xlUp)).Address(, , , True)
>'↑このようにAddressプロパティを設定します。

Addressプロパティを教えていただいたのですが…
Address(, , , True)は何を意味しているのでしょうか?
覚えるしかないのでしょうか? それであれば、丸覚えをして今後
有効に活用させていただきますが。

本当にありがとうございました。勉強になりました。

【51795】Re:OptionButtonの使い方について
発言  ichinose  - 07/10/4(木) 20:38 -

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

>Addressプロパティを教えていただいたのですが…
>Address(, , , True)は何を意味しているのでしょうか?
>覚えるしかないのでしょうか? それであれば、丸覚えをして今後
>有効に活用させていただきますが。
ん?これは、Helpに解説が出ていますよ!!

msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbaxl10/html/xlproAddress.asp

上記サイトにAddressプロパティの解説があります。
「Address プロパティを Range オブジェクトに指定した場合」をクリックして
各オプションの意味を調べて見てください。

尚、上記のサイトでなくともOfficeのHelpで同様のリファレンスを
見ることが出来ます。これを活用しないでVBAを修得することは
大変なことですよ!!

【51799】Re:OptionButtonの使い方について
お礼  Mikiko  - 07/10/5(金) 7:20 -

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

おはようございます。
ご指摘・ご指導ありがとうございました。
helpは見たのですが、理解がいまひとつ出来ませんでした。
じっくり見直し、少しは理解が進みました。

Address(0,0)は普段良く見ていたのですが・・・
Externalの意味まで見ていませんでしたし、分かりませんでした=
外部参照の返すという意味なのですね、それが異なるシートに
活用するという意味なのでしょうか?
そうだとすると、今回は大変貴重な体験をさせていただきました。
ありがとうございました。

>尚、上記のサイトでなくともOfficeのHelpで同様のリファレンスを
>見ることが出来ます。これを活用しないでVBAを修得することは
>大変なことですよ!!
よく理解しているつもりですが、なかなか活用できないのが現状です。
ありがとうございました。

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