2016-10-10 84 views
0

我想要做的是查看另一個Excel表單並從具有與另一個表單中的另一個表單相同的字符串的行中挑選信息。我需要循環列表,並從行中只挑出幾個值。我仍然是一個遠離實現這一點,所以首先我只是看着sheet1試圖比較它與sheet2中的其他單元格。如果它們具有相同的值,我想在行中找出某些單元格值,他們找到相同的值值,然後將它們放入另一張表中。道歉,如果這沒有意義。這是我的代碼到目前爲止。當我運行代碼時,我也收到一個錯誤'對象定義。當我調試其符合if語句這就是走錯了在excel中循環查找具有特定值的單元格的問題

Sub Awesome_macro() 
    Dim x As Integer 
    Dim Counter As Integer 
     ' Set numrows = number of rows of data. 
     NumRows = Range("H15", Range("H15").End(xlDown)).Rows.Count 
     ' Select cell a1. 
     Range("H16").Select 
     ' Establish "For" loop to loop "numrows" number of times. 
     For x = 1 To NumRows 
     If StrComp(Sheets("Sheet1").Cells(H, 15).Value, Sheets("Sheet2").Cells(A, 1).Value) = 0 Then 
      Sheets("Sheet1").Range("D15").Copy Destination:=Sheets("Sheet2").Range("B2") 
     End If 
     ' Selects cell down 1 row from active cell. 
      ActiveCell.Offset(1, 0).Select 
     Next 
End Sub 
+1

我相信你沒有得到「對象定義」的錯誤?除非'H'和'A'是含有數字或字母的變量,否則需要使用''H''和''A'''。另外,'.Cells'的參數順序是'(row,column)'。最後,你需要讓循環的內容依賴於'x',否則它將反覆執行第15行。 – arcadeprecinct

回答

0

嘗試下面的代碼:

Value2Find = Sheets("Sheet2").Cells(A, 1).Value 
Row_Num = Sheets("Sheet1").Range("A:A").Find(What:=Value2Find, LookIn:=xlValues).Row 
0

我有種找到了一種方法來給它,但它不是通過正常

循環

子Awesome_macro()

Dim x As Integer 
Dim Counter As Integer 
    ' Set numrows = number of rows of data. 
    NumRows = Range("H15", Range("H15").End(xlDown)).Rows.Count 
    ' Select cell a1. 
    Range("H16").Select 
    ' Establish "For" loop to loop "numrows" number of times. 
    For x = 1 To NumRows 
    If (Sheets("Sheet1").Range("H15").Value = Sheets("Sheet2").Range("A1").Value) Then 
     Sheets("Sheet1").Range("D15").Copy Destination:=Sheets("Sheet2").Range("B3") 
    End If 
    ' Selects cell down 1 row from active cell. 
     ActiveCell.Offset(1, 0).Select 
    Next 

結束子

它現在將某些內容打印到sheet2中,以便比較頁面上的值和打印效果。只需要弄清楚如何正確地循環它

相關問題