![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ユーザーフォームで銀行に対応した支店コードの入力ができません
Sheet1のA列に銀行名、B列に銀行コード、C列に支店名、D列に支店コードがあります。
ユーザーフォームのテキストボックス1に銀行名を入力したら、Sheet1を参照しテキストボックス2に銀行コードが自動入力できるようにはできました。
しかし、テキストボックス3に支店名を入力し、テキストボックス4に銀行に対応した支店コードを自動入力することができません。
下記記述にどのような追加をすれば可能でしょうか?ご指南いただけるとたすかります。
・・・・・・・・・・・・・・・・・・・・・・・・・・
Private Sub 銀行名_Change()
Dim r As Range
Set r = Worksheets("銀行コード").Columns("A:A").Find _
(銀行名.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
銀行コード.Value = r.Offset(0, 1).Value
Else
銀行コード.Value = ""
End If
End Sub
![「ユーザーフォームで銀行に対応した支店コー」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/7/543097098_62e24dbe77650/M.jpg)
No.5ベストアンサー
- 回答日時:
#1です
かなりいい加減な回答とコードを晒してしまいました お詫びいたします
テキストボックス1に銀行名を入力したら・・
#4様が回答されているようにどうも文章とコードが合致していません
もし、テキストボックス1が銀行名と言うコントロールの場合
>自動入力できるようにはできました。
示されていコードでの実現は難しいと思います
どの様なコードなのでしょう?
#1のお詫びと訂正の意味合いを含め
示されている表組でコントロールオブジェクト名が
テキストボックス1が銀行名 テキストボックス2が銀行コード
テキストボックス3が支店名 テキストボックス4が支店コード
で支店名を入力して支店コードにD列該当行の値を入れるコードです
Private Sub 支店名_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim r As Range, rTmp As Range, searchRng As Range
If 支店名.Value = "" Then Exit Sub
Set searchRng = Worksheets("銀行コード").Columns("C:C")
Set r = searchRng.Find(支店名.Value, LookIn:=xlValues, lookat:=xlWhole)
Set rTmp = r
Do While Cells(r.Row, "A").Value <> 銀行名.Value
Set r = searchRng.FindNext(r)
If r.Address = rTmp.Address Then
Exit Do
End If
Loop
If Not r Is Nothing Then
支店コード.Value = r.Offset(0, 1).Value
Else
支店コード.Value = ""
End If
End Sub
支店名(テキストボックス3)入力後フォーカスを移すと実行されます
Findとなっていましたので使用しています
テキストボックス1とテキストボックス3はテキストボックスより
コンボボックスやリストボックスの方が良いと思います。。
No.4
- 回答日時:
こんばんは
処理内容が、ご提示のものとボックスの名称や列の位置が違うだけなので、そのまま全部をコピペして、テキストボックスの名称と列位置の部分を書き換えればよいです。
ただし、こちらでは正しい名称等がわからないので、コード化できません。
フォーム要素の名称がどうなっているのか、文章とコードで齟齬があるのでわかりません。
・テキストボックス1なのか銀行名なのか
・テキストボックス2なのか銀行コードなのか
・テキストボックス3なのか支店名なのか
・テキストボックス4なのか始点コードなのか
また、シート名も
・Sheet1なのか銀行コードなのか
まぁ、ご提示のコードで動いているのなら、コードが正なのだろうと推測できますが、記載のない部分の名称に関してはわかりませんので。
質問者様にはわかっているはずですので、正しい名称と列に書き換えればそのまま動作するでしょう。
No.3
- 回答日時:
微調整が必要かもしれませんが、以下でどうでしょうか。
Private Sub 支店名_Change()
Dim wrow As Long
支店コード.Value = ""
With Worksheets("銀行コード")
For wrow = 2 To .Cells(Rows.Count, 1).End(xlUp).row
If .Cells(wrow, 1).Value = 銀行名.Value And .Cells(wrow, 3).Value = 支店名.Value Then
支店コード.Value = .Cells(wrow, 4).Value
Exit Sub
End If
Next
End With
End Sub
No.1
- 回答日時:
>下記記述にどのような追加をすれば可能でしょうか?
支店が1店舗のみなら可能ですが・・複数あればダメですね
>テキストボックス3に支店名を入力し、テキストボックス4に銀行に対応した支店コードを自動入力
これなら、Private Sub 銀行名_Change()と同じようにコントロールのイベントを作成すれば可能です
テキストボックス3 コントロール名が分からないですけれど
支店名・支店コードとして
Private Sub 銀行名_Change()の内容の参照列をずらすだけ
Private Sub 支店名_Change()
Dim r As Range
Set r = Worksheets("銀行コード").Columns("C:C").Find _
(支店名.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
支店コード.Value = r.Offset(0, 1).Value
Else
支店コード.Value = ""
End If
ちなみにPrivate Sub 銀行名_Change()でやるべきは、銀行コードの出力と支店名の登録でしょう
シート名Sheet1なのか銀行コードなのかコントロール名や複数支店名が
あるかどうか、ある場合の表組も分からないので ここ迄としますね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
オートフィルタで抽出結果に 罫...
-
JANコードとPOSコードは同じ?
-
COBOLの文法
-
ExcelVBAで「Shift_JIS(MS932)...
-
1日に1人がこなせるプログラム...
-
変数名「cur」について
-
C# コードビハインドについて
-
VS.NETのコードを色合いも含め...
-
access2003 クエリSQL文に...
-
ACCESS+SQL Serverで主キーを...
-
Accessの文字列部分一致を合計...
-
コンソールアプリケーションの...
-
Excel VBA 空白をセルを探して...
-
managed(push, off) の意味
-
Access DCountでの連番について
-
このコードをどう修正した良い...
-
特定行の背景色を変えたいのですが
-
SQL
-
HTML電卓で1文字消す方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JANコードとPOSコードは同じ?
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
オートフィルタで抽出結果に 罫...
-
変数名「cur」について
-
JavaScriptの定数名が取り消し...
-
Exel VBA 別ブックから該当デ...
-
ACCESSユニオンクエリでORDER B...
-
UWSCでMOUSEORG関数が上手く処...
-
COBOLの文法
-
PreviewKeyDownイベントが2回...
-
1、Rstudioで回帰直線を求める...
-
【VB6】実行ファイルとした後、...
-
VBAでファイルオープン後にコー...
-
Nullの使い方が不正です。
-
◾️Excel VBA 統合について Cons...
-
特定行の背景色を変えたいのですが
-
アルファベットに付いて質問し...
-
Excel VBAでOpenTextのFieldInf...
おすすめ情報