既にコードが少し入っているスプレッドシートのループがあります。基本的に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