Шаг за шагом запускайте этот фрагмент кода с помощью F8 в новом файле Excel:
Option Explicit
Public Sub TestMe()
Dim ws As Worksheet: Set ws = Worksheets(1)
Dim harga As Range: Set harga = ws.Range("A1:C10")
Dim comboBox3 As String
Dim koin As Range: Set koin = ws.Range("D1:D10")
comboBox3 = "Something"
Range("D3") = "Something"
Range("A3") = "Something"
With WorksheetFunction
Debug.Print .Match(comboBox3, koin, 0)
ws.Range("D5") = .Index(harga, .Match(comboBox3, koin, 0), 1)
End With
End Sub
Показывает, как используются Match()
и Index()
.В рассматриваемом коде, вероятно, нет ничего до Match
, поэтому это приводит к ошибке.Если вы хотите, чтобы ошибки были возвращены, а не "выброшены", попробуйте Application.Match()
и Application.Index()
:
Public Sub TestMe()
Dim ws As Worksheet: Set ws = Worksheets(1)
Dim harga As Range: Set harga = ws.Range("A1:C10")
Dim comboBox3 As String
Dim koin As Range: Set koin = ws.Range("D1:D10")
' comboBox3 = "Something"
' Range("D3") = "Something"
' Range("A3") = "Something"
With Application
Debug.Print .Match(comboBox3, koin, 0)
ws.Range("D5") = .Index(harga, .Match(comboBox3, koin, 0), 1)
End With
End Sub