Excel VBA質問箱 IV

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

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


233 / 76735 ←次へ | 前へ→

【82171】リストのデータ元
質問  あおこ  - 23/7/4(火) 10:50 -

引用なし
パスワード
   入力用シートのセルに金融機関コードを入力したときに、
当該金融機関の支店コードをリストの選択肢にしたいと考えています。

具体的には

近隣の金融機関コードと支店コード、支店名を入力した以下のような
金融機関シートが元々あるため、これを活用できればと考えています。
※支店コードは近隣のよく使用するもののみ入力されているので
 とびとびに存在しています。

  0001 0002 ・・・
1 
2    アオヤマ
3 ギンザ 
4    タバタ


55 ウエノ


900


入力シートの金融機関コードセル(F9)に 0001 が入力されたら
支店コード入力セルに(F11)に 

3 ギンザ
55 ウエノ
というリストが入るようにしたいです。       


どうやったらできるか考えたときに、
二次元配列に、支店コードと支店名を追加していって、
それをリストにセットすればよいのではと考え
以下のとおり途中まで記載しているのですが、
そもそも配列が苦手なので、ネットで調べても
応用ができず、行き詰っています。

いつもこちらの掲示板に頼ってしまっていますが、
所定の目的を達成できる方法を、ヒントでも構いませんので
ご教示いただけると幸いです。


Sub Macro1()
’試作の段階ですので、7列目の5〜最終行目にある支店名をリスト元とする処理のみ記載しています。

'
' Macro1 Macro

RETSU=5’金融機関コードの列
D_RETSU=7 ’指定の金融機関コードの存在する列
 
lastRow = Sheets("金融機関").Cells(Rows.Count, 7).End(xlUp).Row
Dim siten() As String
C = WorksheetFunction.CountA(Sheets("金融機関").Range(Sheets("金融機関").Cells(5, D_RETSU), Sheets("金融機関").Cells(lastRow, D_RETSU)))’当該金融機関コードの入力支店数
 
ReDim siten(C, 1) 
 
For i = 5 To lastRow
If Sheets("金融機関").Cells(i, D_RETSU) <> "" Then 'データがあれば、配列に追加
  
・・・ここがよくわかりません。

End If
 
Next i

’マクロの記録により記録されたコード
sheets("入力シート").Range("L11").select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=金融機関!$K$5:$K$910" ←ここに配列をセット
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeOff
.ShowInput = True
.ShowError = True
End With
  
End Sub
7 hits

【82171】リストのデータ元 あおこ 23/7/4(火) 10:50 質問[未読]
【82172】Re:リストのデータ元 あおこ 23/7/4(火) 10:54 質問[未読]

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