Sub Макрос1()
Dim s As String
For Each c In Selection
stri = stri & ";" & c.Value
Next c
s = Right(stri, Len(stri) - 1)
With Range("a1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=s
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Макрос9()
With Range("a1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="bxcnv;sdfgsdf;sdfgsdfg"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Переменная плюс кавычки
Подскажите, как создать строковую переменную, которая объединяла(прибавляла) к переменной кавычки с двух сторон.
Т.е. к примеру
есть peremennaj=слово
нужно получить peremennaj_="слово"
Цитата:
Originally posted by WildAn
VBA excel
Подскажите, как создать строковую переменную, которая объединяла(прибавляла) к переменной кавычки с двух сторон.
Т.е. к примеру
есть peremennaj=слово
нужно получить peremennaj_="слово"
VBA excel
Подскажите, как создать строковую переменную, которая объединяла(прибавляла) к переменной кавычки с двух сторон.
Т.е. к примеру
есть peremennaj=слово
нужно получить peremennaj_="слово"
Вариант 1
""" & переменная & """
Вариант 2
Chr(34) & переменная & chr(34)
Chr(34) = символ с кодом 34, тоесть кавычки. Таким образом вообще любой символ вставить можно, лишь бы в кодировке присутствовал.
Цитата:
Originally posted by mhaturov
Вариант 1
""" & переменная & """
Вариант 2
Chr(34) & переменная & chr(34)
Chr(34) = символ с кодом 34, тоесть кавычки. Таким образом вообще любой символ вставить можно, лишь бы в кодировке присутствовал.
Вариант 1
""" & переменная & """
Вариант 2
Chr(34) & переменная & chr(34)
Chr(34) = символ с кодом 34, тоесть кавычки. Таким образом вообще любой символ вставить можно, лишь бы в кодировке присутствовал.
Первый вариант дает неверный результат, а второй - то, что нужно
Благодарю
Чем отличаются два кода и как сделать, чтобы первый работал как и второй
Цитата:
Originally posted by WildAn
Чем отличаются два кода и как сделать, чтобы первый работал как и второй
Чем отличаются два кода и как сделать, чтобы первый работал как и второй
Код:
Sub Макрос1()
Dim s As String
For Each c In Selection
stri = stri & ";" & c.Value
Next c
s = Right(stri, Len(stri) - 1)
With Range("a1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=s
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Макрос9()
With Range("a1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="bxcnv;sdfgsdf;sdfgsdfg"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Dim s As String
For Each c In Selection
stri = stri & ";" & c.Value
Next c
s = Right(stri, Len(stri) - 1)
With Range("a1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=s
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Макрос9()
With Range("a1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="bxcnv;sdfgsdf;sdfgsdfg"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Второй макрос записан с помощью recorderа Однкако, если его запустить, то результат получится не тот, что при записи Почему?
Цитата:
Originally posted by WildAn
Второй макрос записан с помощью recorderа Однкако, если его запустить, то результат получится не тот, что при записи Почему?
Второй макрос записан с помощью recorderа Однкако, если его запустить, то результат получится не тот, что при записи Почему?
Нашел!!!!!!
Вместо ";" нужно ставить","
Код:
...
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="bxcnv,sdfgsdf,sdfgsdfg"
...
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="bxcnv,sdfgsdf,sdfgsdfg"
...