簡體   English   中英

跳過Excel VBA中包含搜索字符串的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM