2014-06-24 41 views
0

我有一個列表中有破折號的部分(例如1230-921),我想從列表中找到某些有關該部分的信息進行操作。具體而言,我想複製零件中的值並將其粘貼到另一個工作表中。我有一個包含零件清單的下拉菜單。 我有一張紙上的數據按照前面提到的零件號排序。在另一片我想進入PN和教職員選擇從數據表爲什麼我的選擇案例找不到價值?

Sub Recommend_2() 

Dim somearray(28) As Variant 
Dim i As Integer 
Dim ALT As Variant 
For i = 1 To 28 
    ALT = Worksheets(3).Range("B15").Value 
     Select Case ALT 
      Case "1230-921" 
       Worksheets(3).Range("C16").Copy 
       Worksheets(3).Range("B5").PasteSpecial 
      Case Else 
       MsgBox "Error" 
     End Select 
Next i 

末次

這在目前的工作最適合我的存儲信息。問題是它無法找到案例,並返回28個錯誤。我已經改變了維度變量,範圍位置整個九碼。即使是一個新的想法,任何幫助都是受歡

綜上所述)

  1. 我想找到的部分,從下拉菜單中
  2. 我希望能夠在名單上的部分內操縱的值
  3. 我會喜歡這樣做的28個部分
+1

你有沒有在ALT中賦值的斷點?那裏放着什麼?如果需要,可將MessageBox與您的錯誤一起使用。 –

+0

此代碼**僅**看着'範圍(「B15」)'。你爲什麼在循環中這樣做?而'Range(「B15」)'實際上是什麼值? –

+0

它不會給我一個斷點錯誤。該程序直接通過案件的其他錯誤,並給我的msgbox 28。 – JBlake92

回答

0

不知道如果沒有您的實際電子表格,怎麼回事,但我會建議在您的錯誤中包括ALT。

ALT = Worksheets(3).Range("B15").Value 
    Select Case ALT 
     Case "1230-921" 
      Worksheets(3).Range("C16").Copy 
      Worksheets(3).Range("B5").PasteSpecial 
     Case Else 
      MsgBox "Error: Value Found was:" & ALT 
    End Select 
+0

很酷!我要試一試 – JBlake92

+0

謝謝。這讓我看到我的工作表已關閉。我用這個,它恢復正確。然後我嘗試使用ALT作爲(「B14:B18」)之間的範圍,並且它在「1230-921」上返回不匹配錯誤。 – JBlake92

+0

您的不匹配錯誤是B14:B18的範圍不是字符串。所以你將一個範圍與一個字符串進行比較,計算機會變成「呃?」。就好像你在問它比較蘋果和橘子。 –