Как сделать строку равной другой строке - PullRequest
0 голосов
/ 05 мая 2020

Наверное, простой вопрос. Хотя я не могу найти ответ.

Я пытаюсь сделать строку равной другой строке, но не могу заставить ее работать. Ошибок VBA нет. Он просто пропускает эту строку. Строка, о которой я говорю, - USRInVenName = VenName. Вместо этого, чтобы эта работа работала, мне нужно ввести Sheets("Log").Range("D4") = VenName. Я предпочитаю использовать строку = строка.

Sub TGHL()

Dim VenName As String
Dim USRInVenName As String

VenName = Sheets("Log").Range("i4")
USRInVenName = Sheets("Log").Range("D4")

   If VenName <> USRInVenName Then

        Dim VendCopyOver As Integer

        VendCopyOver = MsgBox("Copy over name?", _
                               vbYesNo, "Name Correction")

        If VendCopyOver = vbYes Then
        USRInVenName = VenName

        End If

    Else

    End If

End Sub

1 Ответ

2 голосов
/ 05 мая 2020

Вы имеете в виду что-то подобное? Это будет использовать 2 переменные, которые установлены для Cells, поэтому они не содержат значения ячеек, они - это , представляющие ячейки. Когда вы пишете VenName, вы фактически используете VenName.Value - это называется свойством по умолчанию . При назначении значения из одной переменной Range другой, вы назначаете значение непосредственно в ячейку.

Sub TGHL()

    Dim VenName As Range
    Dim USRInVenName As Range
    Set VenName = Sheets("Log").Range("i4")
    Set USRInVenName = Sheets("Log").Range("D4")

    If VenName <> USRInVenName Then   ' VenName.Value <> USRInVenName.Value
        If MsgBox("Copy over name?", vbYesNo, "Name Correction") = vbYes Then
            USRInVenName = VenName    ' USRInVenName.Value = VenName.Value
        End If
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...