2013-01-19 47 views
0

Q.查找一值在片材1創建一個宏,從片查找一值在片1 21.創建宏,從片材2

  1. 要查找用於在值片1,列「F」從行11〜1000000
    • 查找值在列「C」片1中,行11至百萬條件在表2
    • 表陣列「只有具有內部色指數RED細胞」列「C & D」,第4行至1000000行。
  2. 在工作表1中創建按鈕並將該宏指定給按鈕。

VBA代碼

Sub VA01() 
    ' CREATING SALES ORDER 
    Worksheets("sheet1").Range("C11:C1000000").Select 
    finalrow = Cells(Rows.Count, 3).End(xlUp).Row 
    For x = 11 To finalrow 
     If Cells(x, 3).Interior.ColorIndex = 3 Then 
      Cells(x, 6).Select 
      ActiveCell.FormulaR1C1 = "=VLOOKUP(R11C3:R1000000C3,Sheet2!R4C3:R1000000C4,2,0)" 
     End If 
    Next x 
End Sub 

運行此宏掛斷Excel和需要更多的時間來執行,這是不能夠創建按鈕。

回答

0

首先我會失去'選擇'方法,這將需要很多時間和資源。此外,爲什麼你選擇你的(「C11:C1000000」)範圍,當代碼之後不使用這個選擇?那麼我可能會保持查找的一部分,但只會保持價值是他們不需要更新。這將是這樣的:

Sub VA01() 
' CREATING SALES ORDER 
'Worksheets("sheet1").Range("C11:C1000000").Select 
finalrow = Cells(Rows.Count, 3).End(xlUp).Row 
For x = 11 To finalrow 
    If Cells(x, 3).Interior.ColorIndex = 3 Then 
     Cells(x, 6).FormulaR1C1 = "=VLOOKUP(R11C3:R1000000C3,Sheet2!R4C3:R1000000C4,2,0)" 
     Cells(x, 6)=Cells(x, 6).Value 
    End If 
Next x 
End Sub 
+0

@PassKit先生,感謝您的回覆爲什麼Iam不能將此宏分配給Button,PL。建議 – Amit

+0

@PassKit Sir,Dropping Range(「C11:C1000000」)與代碼無關,但我必須在代碼中使用工作表(「sheet1」),因爲我想獲得表1中的值,此代碼爲OK – Amit

+0

@PassKit主席先生,如果我使用MACROVA01或SALESORDERVA01而不是VA01,則添加按鈕並分配此宏的問題已解決。謝謝 – Amit