Excel VBAcombobox的值不同于文本

我设置了一个combobox,当select时将更新数据透视表。 但是我需要combobox从所选文本中返回一个不同的值。

恩。 您在下拉框“Cheerios”中select一个产品名称。 但它的SKU编号为1234.我需要combobox返回1234,而不是“Cheerios”。

这可能吗?

编辑:

下面是我从哪里获得我的列表填充的图像。 B列是下拉菜单中显示的内容,A列是我select产品时需要返回的内容。

在这里输入图像说明

编辑2:

Private Sub cmb_SkuSelect_Click() Dim xlSheetSort As Worksheet Dim lastRow As Long Dim skuValue As Integer Set xlSheetSort = ActiveWorkbook.Worksheets("Sort") lastRow = xlSheetSort.Range("A1").End(xlDown).Row With xlSheetSort.Range("B1:B" & lastRow) Set c = .Find(cmb_SkuSelect.Value, LookIn:=xlValues) If Not c Is Nothing Then skuValue = xlSheetSort.Range("A" & c.Row).Value End If End With cmb_SkuSelect.Value = "" ActiveWorkbook.ActiveSheet.Range("A4").Value = skuValue updatePivot skuValue End Sub 

updatePivot:

 Public Sub updatePivot(ByVal sku As Integer) Dim xlSheet As Worksheet Dim xlPTable As PivotTable Set xlSheet = ActiveWorkbook.Worksheets("Sku Inventory") For Each xlPTable In xlSheet.PivotTables With xlPTable .PivotFields("Sku Number").CurrentPage = sku End With Next End Sub 

尝试一下:

 Private Sub ComboBox1_Change() Dim valueToLook As String valueToLook = ComboBox1.Value Dim sku, i As Integer Dim LastRow As Long With ActiveSheet LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row End With For i = 1 To LastRow If Cells(i, 2).Value = valueToLook Then sku = Cells(i, 1).Value MsgBox sku Exit For End If Next i End Sub