[英]To skip a row containing the searchstring in excel VBA
我有一個用於電子表格的循環,該電子表格中已有一些代碼。 基本上在VBA中,我要做的是:
If x = Searchstring.row then GoTo continue
(未定義)
我當前正在使用If x = activecell.row GoTo continue
,但是當我向新行添加信息時,舊單元格將更新,其中包括搜索字符串行(因為它不再是ActiveCell.row
)
下面是我正在使用的代碼(對不起,有點混亂):
Function RelLookup(ByVal Searchstring As String, Reldate As String, _
SearchRange As Range, TicketRange As Range, ReldateRange As Range, _
RelRange As Range, Optional UniqueOnly As Boolean = True)
Dim X As Long, Task As String, ReldateVal As String, TicketVal As String, ReturnRel As String, _
Result As String
For X = 1 To SearchRange.Count
If X = ActiveCell.row Then GoTo Continue
Task = SearchRange(X).Value
ReldateVal = ReldateRange(X).Value
TicketVal = TicketRange(X).Value
ReturnRel = RelRange(X).Value
If (Task = Searchstring) And (ReldateVal = Reldate) Then
Result = Result & " Rel " & ReturnRel & " (" & TicketVal & ")" & " &"
End If
Continue:
Next X
If Len(Result) > 0 Then RelLookup = Left(Result, Len(Result) - 2)
End Function
我發現可以解決這種情況(感謝@John Bustos的幫助)。 我添加了一個名為“ RowNumber”的整數。 然后,我將VBA更改為“ If x = RowNumber GoTo Continue
盡管我現在有一個很長的公式
=RelLookup(E955,Row(E955),"Not Rel",E:E,B:B,I:I,A:A,"")
整數RowNumber由Row(E955)的值確定。
萬一有一個更簡單或更可靠的方法無需引入其他字符串(盡管我無法想出更基本的方法),我將開放這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.