У меня есть код, который работает в некоторых ситуациях, но не работает в других.
У меня есть этот код:
Public Sub ListBox2_LostFocus()
ListBox2.Height = 15
With ListBox2
ThisIs_Sheet1_Test = "'"
For i = 0 To .ListCount - 1
If .Selected(i) Then
ThisIS_Sheet1_Test = ThisIs_Sheet1_Test & .List(i) & "','"
End If
Next i
End With
ThisIs_Sheet1_Test = Left(ThisIs_Sheet1_Test, Len(ThisIs_Sheet1_Test) - 2)
End Sub
, который производит "ThisIs_Sheet1_Test". Поэтому, когда я запускаю приведенный ниже код, он дает мне выбранные значения в списке.
Public Sub dummy()
Dim SheetName As String
SheetName = ActiveSheet.Name
Sheets("Sheet1").Range("I5", "I5") = ThisIs_Sheet1_Test
End Sub
Однако, когда я использую
Sheets("Sheet1").Range("I5", "I5") = "ThisIs_" & SheetName & "_Test"
Я получаю значение «ThisIs_SheetName_Test», которое явно не то, что я ищу.
Как мне ввести значение, а затем VBA распознать, что оно должно указывать на более раннее значение?