Присвоение диапазона строк переменной - PullRequest
0 голосов
/ 13 марта 2019

Я так старался.Я не могу понять это.Я работаю с двумя листами.На одном листе выполняется поиск по критерию «RR», если существует RR, он присваивает переменной серийный номер для поиска на другом листе.Если серийный номер найден на другом листе, я хотел бы определить строку, в которой он находится, и назначить его переменной."DidTransfer = Sheets (PreviousTabName) .Range (" B "& thiscell.Row) .Value" Проблема при использовании thiscell.Row, из-за которой возникает так много проблем.Мне нужен номер строки, чтобы я мог ссылаться на ту же строку, чтобы получить информацию из другой ячейки в той же строке.Пожалуйста помоги.

Sub TempModifier()

Dim NYSID, PLookUpTabRange, IsRR, DidTransfer As String

Dim thiscell As Range

'Variable for Temp
Dim TempFirstRow As Integer
Dim TempLastRow As Long

'Variables for the previous
Dim PreviousTabLastRow As Long
Dim PreviousTabFirstRow As Integer

'Initialize the temp variables
TempLastRow = Sheets("Temp").Range("D" & Rows.Count).End(xlUp).Row

PreviousTabName = "February"
PreviousTabFirstRow = 7

With Sheets(PreviousTabName)
        PreviousTabLastRow = .Cells(256, "H").End(xlUp).Row 'Get the last row in the data range
End With

'Create a data-range variable
PLookUpTabRange = "H" & PreviousTabFirstRow & ":" & "H" & PreviousTabLastRow

'Begin looping structure to copy data from the temp tab to the current tab



For TempFirstRow = 2 To TempLastRow

    'Assign the value of the housing unit
    IsRR = Sheets("Temp").Cells(TempFirstRow, 2).Value

    'Check if the value is RR
    If IsRR = "RR        " Then
        'If the value is RR, then get the NYSID
        NYSID = Worksheets("Temp").Cells(TempFirstRow, 4).Value

        If Not IsError(Application.Match(NYSID, Worksheets(PreviousTabName).Range(PLookUpTabRange), 0)) Then

        'NYSID is Found on Current Month Sheet, do Nothing

        Else

            DidTransfer = ""
            Set thiscell = Sheets(PreviousTabName).Columns("D").Find(What:=NYSID, LookIn:=xlValues, lookat:=xlWhole)

                DidTransfer = Sheets(PreviousTabName).Range("B" & thiscell.Row).Value

                    Select Case DidTransfer

                        Case "Transferred"
                            DidTransfer = "Transferred"
                        Case Else
                            DidTransfer = DidTransfer

                    End Select

            If IsError(Application.Match(NYSID, Worksheets(PreviousTabName).Range(PLookUpTabRange), 0)) Or _
            (Not IsError(Application.Match(NYSID, Worksheets(PreviousTabName).Range(PLookUpTabRange), 0)) And _
                 DidTransfer = "Transferred") Then

                    'Worksheets("Temp").Rows(TempFirstRow).Delete
                    MsgBox "Delete"

            End If

        End If

    End If



'Go to the next row
Next TempFirstRow



End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...