2017-08-18 7 views
0

選択時にピボットテーブルを更新するコンボボックスを設定しています。しかし、コンボボックスが選択したテキストとは異なる値を返すという価値が必要です。Excelコンボボックスのテキストと異なるVBA値

ex。ドロップダウンボックス "Cheerios"で製品名を選択します。しかし、それは1234のSKU番号を持っています。私は、Cheeriosという言葉ではなく1234を返すコンボボックスが必要です。

これは可能ですか?

編集:以下

は私がから移入私のリストを取得していますどこの画像です。列Bはドロップダウンに表示されている列で、列Aは製品が選択されたときに返されたものです。

enter image description here

編集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 
+0

あなたがこれまでに試してみましたか?あなたは返品1234によって正確に何を意味しますか? – sourceCode

+0

'ComboBox.Value =" Cheerios "Then' myvalue = "1234"などの場合 – dwirony

+0

これまで行ってきたことはありません。私がドロップダウン内に15,000を超える別個のアイテムを持っているため、Ifステートメントはこれに対して機能しません。 – Caveman42

答えて

1

それを試してみてください。

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 
+0

ドロップダウンに15,000を超える別個の項目があるため、If文がこれに対して機能しません。 – Caveman42

+0

なぜ機能しないのですか?ドロップダウンから1つの項目だけを選択していて、その項目が選択されると、その値が「Cherrios」であるかどうかがチェックされます。 –

+0

コンボボックスのリストの隣にSKU#を追加して、SKUの値を取得するために1列分の検索オフセットを行うことはできますか? hmm .. – Caveman42

関連する問題