ドロップダウンメニューで選択されたルートコードに基づいてポートのリストを作成しようとしています。ドロップダウンが範囲BASE_RouteCode('Schedule Tool'!$F$8
)であり、ルートコードは、ダイナミックレンジRouteCodes(=Routes!$B$2:INDEX(Routes!$B$2:$B$27, COUNTA(Routes!$B$2:$B$27))
)に格納され、およびポートのリストは、RoutePorts(=Routes!$B$2:INDEX(Routes!$B$2:$AZ$27, COUNTA(Routes!$B$2:$AZ$27))
)における各ルートコードの行に沿って記憶されています。ドロップダウン選択に基づいてリストに値を設定する
すべての変更はすべてです。BASE_RouteCodeは、ポートリストを作成するサブをトリガーします。現時点で私はこれを素早く試してみました。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("BASE_RouteCode")
Call PopulatePortList
End Sub
Sub PopulatePortList()
Dim iCol As Integer, iRow As Integer
If IsNumeric(WorksheetFunction.Match(Range("BASE_RouteCode").Value, Range("Routecodes"), 0)) Then
iRow = WorksheetFunction.Match(Range("BASE_RouteCode").Value, Range("Routecodes"), 0) + 1
' Testing code
MsgBox "Row number for route " & Range("BASE_RouteCode").Value & " is " & iRow
Worksheets("Schedule Tool").Cells(8, 9).Value = iRow
' FOR ... WHILE loop (through iCol values) to populate list goes here
Else
MsgBox "Please select a valid route code."
End If
End Sub
私はドロップダウン値を変更し、しかし、何かの簡単なちらつきがありますが、何も目に見えて起こりませんし、コード内のブレークポイントのどれがトリガされません。
疑問符:
- 私はKeyCellsがターゲットと同じにする必要がありますかどうかわからないんだけど。その は私が他のところで見つけた例からコピーされましたが、どちらも のようには見えません。
- PopulatePortListを手動で実行しようとすると、IF句を入力すると1004 というエラーが発生します。
どこが間違っていますか?
それは完璧に働いた - 多くのありがとう! –