Excel VBA質問箱 IV

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

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


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

【29908】AutoFilterの使い方 takatuki 05/10/16(日) 10:00 質問[未読]
【29909】Re:AutoFilterの使い方 かみちゃん 05/10/16(日) 10:13 回答[未読]
【29925】Re:AutoFilterの使い方 takatuki 05/10/16(日) 16:23 お礼[未読]
【29911】Re:AutoFilterの使い方 Hiroko 05/10/16(日) 11:50 回答[未読]
【29924】Re:AutoFilterの使い方 takatuki 05/10/16(日) 16:20 お礼[未読]
【29926】Re:AutoFilterの使い方 かみちゃん 05/10/16(日) 16:46 回答[未読]

【29908】AutoFilterの使い方
質問  takatuki  - 05/10/16(日) 10:00 -

引用なし
パスワード
   [銀行コードと支店名の一部を入力したら該当する支店名等が表示されるプログラムを考えております。AutoFilterを使いますが、
1.テキストボックスに入力した値で検索したいのですがうまくいきません。Criteriaを直接の値を入力するとうまく抽出されますが、
変数(sagasukoodo,  sagasusitenmei & “*”)を使うと抽出されません

Private Sub CommandButton1_Click()
  Dim sagasukoodo As String
  Dim sagasusitenmei As String

  sagasukoodo = TextBox1.Text
  sagasusitenmei = TextBox2.Text

  With Worksheets(1).Range("A1")
     .AutoFilter
     .AutoFilter Field:=1, Criteria1:="9"
     .AutoFilter Field:=3, Criteria1:="タカ*"
     End With
End Sub

を変数を使って
.AutoFilter Field:=1, Criteria1:= sagasukoodo
.AutoFilter Field:=3, Criteria1:= sagasusitenmei & “*”
にすると抽出されません。解決策は


2.うえの1.でうまく抽出できるとデータがエクセル表で表示されます。このエクセル表に表示されたデータを使いたい。たとえばリストボックスにでも表示させてそこでひとつの支店名を確定したいのですが、AutoFilterで抽出されたエクセル表のデータをとりだす方法

以上2点をお教えください。

本文なし]

【29909】Re:AutoFilterの使い方
回答  かみちゃん E-MAIL  - 05/10/16(日) 10:13 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>1.テキストボックスに入力した値で検索したいのですがうまくいきません。Criteriaを直接の値を入力するとうまく抽出されますが、
>変数(sagasukoodo,  sagasusitenmei & “*”)を使うと抽出されません

TextBox2には、全角半角を区別して入力していますか?

>     .AutoFilter Field:=3, Criteria1:="タカ*"

でうまく抽出されている場合、半角「タカ」と全角の「タカ」では抽出条件が異なりますのでうまく抽出されません。
なお、こちらで動作確認すると、半角「タカ」で入力すると
>.AutoFilter Field:=1, Criteria1:= sagasukoodo
>.AutoFilter Field:=3, Criteria1:= sagasusitenmei & “*”
でうまく抽出できますが、
全角の「タカ」で入力すると、うまく抽出されませんでした。

>たとえばリストボックスにでも表示させてそこでひとつの支店名を確定したいのですが、AutoFilterで抽出されたエクセル表のデータをとりだす方法

「たとえば」とおっしゃっていますので、具体的な方法が書けない(後から実はこ
うしたいというのがあるのでは?)のですが、
AutoFilterの抽出結果をどこかの作業セルに反映させて、リストボックスがそのセ
ル範囲を参照させるようにすればいいのではないでしょうか?

ちなみに、私も同様の銀行支店コード検索方法は使っています。

【29911】Re:AutoFilterの使い方
回答  Hiroko  - 05/10/16(日) 11:50 -

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

貴殿のコードそのままでいけますよ。
一部手直しというか、置換えだけです。

Private Sub CommandButton1_Click()

 Dim sagasukoodo As Integer 'integerの方が実作業に使いやすいと思います
 Dim sagasusitenmei As String

  sagasukoodo = TextBox1
  sagasusitenmei = TextBox2

  With Worksheets(1).Range("A1")
     .AutoFilter
     .AutoFilter Field:=1, Criteria1:=sagasukoodo
     .AutoFilter Field:=3, Criteria1:=sagasusitenmei & "*"
  End With
End Sub


>[銀行コードと支店名の一部を入力したら該当する支店名等が表示されるプログラムを考えております。AutoFilterを使いますが、
>1.テキストボックスに入力した値で検索したいのですがうまくいきません。Criteriaを直接の値を入力するとうまく抽出されますが、
>変数(sagasukoodo,  sagasusitenmei & “*”)を使うと抽出されません
>
>Private Sub CommandButton1_Click()
>  Dim sagasukoodo As String
>  Dim sagasusitenmei As String
>
>  sagasukoodo = TextBox1.Text
>  sagasusitenmei = TextBox2.Text
>
>  With Worksheets(1).Range("A1")
>     .AutoFilter
>     .AutoFilter Field:=1, Criteria1:="9"
>     .AutoFilter Field:=3, Criteria1:="タカ*"
>     End With
>End Sub
>
>を変数を使って
>.AutoFilter Field:=1, Criteria1:= sagasukoodo
>.AutoFilter Field:=3, Criteria1:= sagasusitenmei & “*”
>にすると抽出されません。解決策は
>
>
>2.うえの1.でうまく抽出できるとデータがエクセル表で表示されます。このエクセル表に表示されたデータを使いたい。たとえばリストボックスにでも表示させてそこでひとつの支店名を確定したいのですが、AutoFilterで抽出されたエクセル表のデータをとりだす方法
>

上記コードをシート1のモジュール「Private Sub CommandButton1_Click() と End Sub」に貼り付けてください。(ご存知で、煩わしいメモかも知れませんが・・・)

後はリストボックスを2個シート上に作成してください。
実際の検索になれば、
リストボックス1(支店名コード)には数字を全角半角を間違いないように・・・半角を入れてください→間違いが少ないと思います(integerに変更していますので)
リストボックス2は現在「カタカナ」のままです。(入力は元データの全角でしょうか、それに合った入力・・・例えば「タカ」と入れます。

後はコマンド釦を押すだけで出来ます。
テスト済みですので、問題ないはずです。B1が空白ですとエラーになります。

>以上2点をお教えください。
>
>本文なし]

【29924】Re:AutoFilterの使い方
お礼  takatuki  - 05/10/16(日) 16:20 -

引用なし
パスワード
   ▼Hiroko さん:1番目の問題は私の単純なミスでした。IME入力モードを大文字方カタカナに設定したました。これにほぼ一日費やしてしまいました。
2番目の問題に苦戦しています。
抽出されたデータをリストボックスに表示しそこから1つ確定したいのですが、抽出したデータを自動的にリストボックスに表示したいのですが?
>▼takatuki さん:
>
>貴殿のコードそのままでいけますよ。
>一部手直しというか、置換えだけです。
>
>Private Sub CommandButton1_Click()
>
> Dim sagasukoodo As Integer 'integerの方が実作業に使いやすいと思います
> Dim sagasusitenmei As String
>
>  sagasukoodo = TextBox1
>  sagasusitenmei = TextBox2
>
>  With Worksheets(1).Range("A1")
>     .AutoFilter
>     .AutoFilter Field:=1, Criteria1:=sagasukoodo
>     .AutoFilter Field:=3, Criteria1:=sagasusitenmei & "*"
>  End With
>End Sub
>
>
>>[銀行コードと支店名の一部を入力したら該当する支店名等が表示されるプログラムを考えております。AutoFilterを使いますが、
>>1.テキストボックスに入力した値で検索したいのですがうまくいきません。Criteriaを直接の値を入力するとうまく抽出されますが、
>>変数(sagasukoodo,  sagasusitenmei & “*”)を使うと抽出されません
>>
>>Private Sub CommandButton1_Click()
>>  Dim sagasukoodo As String
>>  Dim sagasusitenmei As String
>>
>>  sagasukoodo = TextBox1.Text
>>  sagasusitenmei = TextBox2.Text
>>
>>  With Worksheets(1).Range("A1")
>>     .AutoFilter
>>     .AutoFilter Field:=1, Criteria1:="9"
>>     .AutoFilter Field:=3, Criteria1:="タカ*"
>>     End With
>>End Sub
>>
>>を変数を使って
>>.AutoFilter Field:=1, Criteria1:= sagasukoodo
>>.AutoFilter Field:=3, Criteria1:= sagasusitenmei & “*”
>>にすると抽出されません。解決策は
>>
>>
>>2.うえの1.でうまく抽出できるとデータがエクセル表で表示されます。このエクセル表に表示されたデータを使いたい。たとえばリストボックスにでも表示させてそこでひとつの支店名を確定したいのですが、AutoFilterで抽出されたエクセル表のデータをとりだす方法
>>
>
>上記コードをシート1のモジュール「Private Sub CommandButton1_Click() と End Sub」に貼り付けてください。(ご存知で、煩わしいメモかも知れませんが・・・)
>
>後はリストボックスを2個シート上に作成してください。
>実際の検索になれば、
>リストボックス1(支店名コード)には数字を全角半角を間違いないように・・・半角を入れてください→間違いが少ないと思います(integerに変更していますので)
>リストボックス2は現在「カタカナ」のままです。(入力は元データの全角でしょうか、それに合った入力・・・例えば「タカ」と入れます。
>
>後はコマンド釦を押すだけで出来ます。
>テスト済みですので、問題ないはずです。B1が空白ですとエラーになります。
>
>>以上2点をお教えください。
>>
>>本文なし]

【29925】Re:AutoFilterの使い方
お礼  takatuki  - 05/10/16(日) 16:23 -

引用なし
パスワード
   ▼かみちゃん さん:私の単純なミスでした。IME入力モードを大文字カタカナにしていました。
同じようなソフトを作られているよし、また個別に相談に乗ってください

>こんにちは。かみちゃん です。
>
>>1.テキストボックスに入力した値で検索したいのですがうまくいきません。Criteriaを直接の値を入力するとうまく抽出されますが、
>>変数(sagasukoodo,  sagasusitenmei & “*”)を使うと抽出されません
>
>TextBox2には、全角半角を区別して入力していますか?
>
>>     .AutoFilter Field:=3, Criteria1:="タカ*"
>
>でうまく抽出されている場合、半角「タカ」と全角の「タカ」では抽出条件が異なりますのでうまく抽出されません。
>なお、こちらで動作確認すると、半角「タカ」で入力すると
>>.AutoFilter Field:=1, Criteria1:= sagasukoodo
>>.AutoFilter Field:=3, Criteria1:= sagasusitenmei & “*”
>でうまく抽出できますが、
>全角の「タカ」で入力すると、うまく抽出されませんでした。
>
>>たとえばリストボックスにでも表示させてそこでひとつの支店名を確定したいのですが、AutoFilterで抽出されたエクセル表のデータをとりだす方法
>
>「たとえば」とおっしゃっていますので、具体的な方法が書けない(後から実はこ
>うしたいというのがあるのでは?)のですが、
>AutoFilterの抽出結果をどこかの作業セルに反映させて、リストボックスがそのセ
>ル範囲を参照させるようにすればいいのではないでしょうか?
>
>ちなみに、私も同様の銀行支店コード検索方法は使っています。

【29926】Re:AutoFilterの使い方
回答  かみちゃん E-MAIL  - 05/10/16(日) 16:46 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>抽出されたデータをリストボックスに表示しそこから1つ確定したいのですが、抽出したデータを自動的にリストボックスに表示したいのですが?

リストボックスをシート上またはUserForm上のどちらに配置しているのかがわかりませんが、
シート上でしたら、ListFillRangeに指定したセル範囲
UserForm上でしたら、RowSource プロパティに指定したセル範囲
に、AutoFilterで抽出した結果を貼り付ければ、リストボックスに表示されます。

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