[英]Having trouble with my For and If Statements
我正在嘗試做一些事情,單擊搜索按鈕,它會在10,000個項目的工作表中搜索單元格“ A1”的值,然后使用搜索框將我希望從該信息行中獲取的所有數據填充到工作表中。 我遇到的問題是,當我搜索一個項目並將其填充到應有的行時,然后我去搜索另一個項目,它將覆蓋第一個項目。 我想要它,所以它將向下移動一行,因此當我搜索第二,第三甚至第四項時,它們都位於不同的行中。 我將在這里包含我的代碼,所以請您幫忙。 我已經嘗試過使用“偏移”功能,但仍然沒有成功。
Sub SearchBox()
Dim erow As Long
Dim ws As Worksheet
Dim lastrow As Long
Dim count As Integer
lastrow = Sheets("Charlotte Gages").Cells(Rows.count, 1).End(xlUp).Row
For x = 2 To lastrow
i = 3
If Sheets("Charlotte Gages").Cells(x, 1) = Sheets("Gages").Range("A1") Then
Sheets("Gages").Cells(i, 1) = Sheets("Charlotte Gages").Cells(x, 1)
Sheets("Gages").Cells(i, 2) = Sheets("Charlotte Gages").Cells(x, 2)
Sheets("Gages").Cells(i, 3) = Sheets("Charlotte Gages").Cells(x, 3)
Sheets("Gages").Cells(i, 4) = Sheets("Charlotte Gages").Cells(x, 4)
Sheets("Gages").Cells(i, 5) = Sheets("Charlotte Gages").Cells(x, 5)
Sheets("Gages").Cells(i, 6) = Sheets("Charlotte Gages").Cells(x, 6)
count = count + 1
If Sheets("Charlotte Gages").Cells(x, 1) = "Found" Then
i = 3 + 1
End If
Next x
If count = 0 Then
MsgBox ("Cannot Find Gage, Please check Gage ID")
End If
End Sub
您的增量是錯誤的:
Sub SearchBox()
Dim lastrow As Long
dim i as long, x as long
lastrow = Sheets("Charlotte Gages").Cells(Rows.count, 1).End(xlUp).Row
i = 3
For x = 2 To lastrow
If Sheets("Charlotte Gages").Cells(x, 1) = Sheets("Gages").Range("A1") Then
Sheets("Gages").Cells(i, 1).Resize(,6).Value = Sheets("Charlotte Gages").Cells(x, 1).Resize(,6).Value
i = i + 1
End If
Next x
If i = 3 Then
MsgBox ("Cannot Find Gage, Please check Gage ID")
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.