#excel #vba
#excel #vba
Вопрос:
Я хотел бы отформатировать значение ячейки с помощью VBA.
если использовать макрос записи :
Selection.NumberFormatLocal = """mask"";""mask"";""mask"";""mask"""
Я хочу замаскировать ячейку значением в ячейке или текстовом поле.
Private Sub CommandButton1_Click()
Dim dgstring1, dgstring2, dgstring3, dgstring4 As String
'Ex Sheet1.Range("F26") = "Mask"
dgstring1 = Sheet1.Range("F26") '
dgstring2 = Sheet1.Range("F26")
dgstring3 = Sheet1.Range("F26")
dgstring4 = Sheet1.Range("F26")
dgstring = "dgstring1;dgstring2;dgstring3;dgstring4"
Selection.NumberFormatLocal = dgstring
End Sub
Комментарии:
1. Объявляя переменные таким образом, все они имеют тип
Variant
, и только последняя из них является aString
.dgstring
даже не объявлено. Для присвоения значения этой переменной вы создаете строку только в том виде, в каком ее можно увидеть. Хотите ли вы использовать значения, собранные из вышеуказанных диапазонов? Затем, как бы вы хотели, чтобы конкретное значение выглядело в этом специфическом формате? Пожалуйста, отредактируйте свой вопрос и покажите нам пример значения вGeneral
формате, за которым следует то же значение в нужном вам формате…2. Спасибо за ваш быстрый ответ, но все равно ошибка, даже несмотря на то, что переменная была заменена на Variant, а последняя является строкой. Ошибка заключается в том, что «Не удалось установить NumberFormatLocal….
3. Исправление объявлений переменных не должно решить вашу проблему. Во всяком случае, я не хотел сказать, что они должны быть
Variant
типичными! Я объяснил, что делает ваш код. Я задал несколько уточняющих вопросов, но с этой точки зрения вы ничего не сделали. Если я не понимаю, что нужно делать, я не могу помочь… Можете ли вы показать нам то, о чем я просил в своем предыдущем комментарии?4. Неужели так сложно отредактировать ваш вопрос и показать нам, чего вы хотите добиться? Похоже, я больше, чем вы, заинтересован в решении вашей проблемы… Вы уверены, что знаете, чего хотите?