我目前使用for循环来查看HDD数据库表中的列A,并且当它找到匹配的搜索条件时,它将所有信息在那一排进入指定区域。Excel VBA - 如何查找列中的值并返回它所在的行
我想使用相同的循环来告诉我哪个行的搜索条件被发现,所以我可以从HDD数据库表中删除该行。
尝试了几件事情,但似乎没有任何工作。
任何帮助是非常欢迎这一点。
Private Sub EditButton_Click()
Dim Userentry As String
Dim i As Long
Dim ws, ws1, ws2 As Worksheet
'Dim found As Range
Dim RowNumber As String
Set ws = Sheets("HDD database")
Set ws1 = Sheets("HDD log")
Set ws2 = Sheets("Sheet3")
Userentry = editTxtbox.Value
'ws1.Range("A36").Value = Userentry
For i = 1 To ws.Range("A" & Rows.Count).End(xlUp).Row
If (ws.Cells(i, 1).Value) = Userentry Then
ws2.Range("A1").Offset(1, 0).Resize(1, 8).Value = _
ws.Cells(i, 1).Resize(1, 8).Value
End If
Next i
addnewHDDtxtbox.Value = ws2.Range("A2")
MakeModeltxtbox.Value = ws2.Range("B2")
SerialNumbertxtbox.Value = ws2.Range("C2")
Sizetxtbox.Value = ws2.Range("D2")
Locationtxtbox.Value = ws2.Range("E2")
Statetxtbox.Value = ws2.Range("F2")
For i = 1 To ws.Range("A" & Rows.Count).End(xlUp).Row
If (ws.Cells(i, 1).Value) = Userentry Then
RowNumber = ws.Cells.Row
End If
Next i
ws1.Range("I3").Value = RowNumber
End Sub
行属性是你所需要的。 [http://www.mrexcel.com/forum/excel-questions/68015-return-row-number-active-cell.html] – dev1998
我试图正确理解你想在多行匹配时完成什么。你只想得到最匹配的行吗?只有最下面的一排?所有的行?它们都是要删除的,还是只有一个? – Mikegrann
只有数据库表A列中的唯一值。这个想法是在结果返回到日志表后,数据库中的行被识别和删除。开始试图弄清楚哪一行是唯一值,然后将删除位置位。 – Tom85