Появляется пользовательская форма, и пользователь делает различные выборы (одним из которых является CombobBox_Location), который затем вводится как переменная; например "C18"
Затем он объединяется со строками «Location_» и «UPC_» для создания переменных, которые ссылаются на именованные диапазоны под тем же именем; поэтому Location_C18 и UPC_C18 - это два именованных диапазона.
Я хочу сослаться на диапазон Location_C18 (состоящий из множества ячеек, не объединенных), чтобы увидеть, все ли они пусты.
Я также хочу установить значение Combobox_UPC.value в именованный диапазон UPC_C18.
Когда я запускаю код, я получаю сообщение об ошибке в строке If Range(LocationRow).Value <> 0 Then
... Я бы предположил, что это потому, что я его неправильно пишу. (Нормальные диапазоны используют кавычки, даже для именованных диапазонов, но поскольку это переменная, я не уверен.)
Я пытался затемнить строки, LocationRow и UPCRow как диапазоны и строки, но безуспешно.
Любая помощь приветствуется!
Private Sub OK_Click()
Application.ScreenUpdating = False
Row = ComboBox_Location.Value
LocationRow = "Location_" & Row
UPCRow = "UPC_" & Row
If Range(LocationRow).Value <> 0 Then
If MsgBox("This row already has data. Are you sure you want to clear it and begin with a new UPC?", vbYesNo) = vbYes Then
Range(UPCRow).Value = ComboBox_UPC.Value
Range(LocationRow).Value = 0
ElseIf MsgBox("This row already has data. Are you sure you want to clear it and begin with a new UPC?", vbYesNo) = vbNo Then
'Do Nothing
End If
Else
Range(UPCRow).Value = ComboBox_UPC.Value
Range(LocationRow).Value = 0
End If
ComboBox_Location.Clear
ComboBox_UPC.Clear
Corresponding_Material.Value = ""
Corresponding_Material_Description.Value = ""
Change_Material.Hide
Application.ScreenUpdating = True
End Sub