VBA: как я могу объединить это - PullRequest
1 голос
/ 10 июля 2020

Я делал макрос, и когда мне нужно распечатать кучу информации (строки и переменные) в ячейке, она не компилируется. Как тогда синтаксис?

Sub TEST()
  
  Dim str1, str2 As String
  st1 = "Hi"
  st2 = "are"

  MsgBox (& str1& & "como" & str2 & "you")

End Sub

Ответы [ 2 ]

2 голосов
/ 10 июля 2020

Используйте Option Explicit в верхней части кода. Затем вы получите предупреждение, если переменные не объявлены.

Вы объявляете переменную st1 как вариант, переменную st2 как строку. (если вы не пишете «как строку» после каждой переменной, это не будет строка.)

В MsgBox вы используете две разные переменные, str1 и str2.

Такие детали важны.

И, конечно же, у вас слишком много знаков & в MsgBox и недостаточно пробелов. Попробуйте

Option Explicit
Sub TEST()
  
  Dim st1 As String, st2 As String
  st1 = "Hi"
  st2 = "are"
  MsgBox (st1 & " como " & st2 & " you")
  

End Sub
0 голосов
/ 10 июля 2020

Во-первых, предложите использовать Option Explicit, поскольку вы используете переменные, отличные от того, что вы Dim (например, вы объявляете «str1», но используете «st1»). Далее, как вариант объявляется str1, вероятно, не тот, который вы планировали. Попробуйте:

Option Explicit

Sub TEST()
  
  Dim str1 As String
  Dim str2 As String
  
  str1 = "Hi"
  str2 = "are"

  MsgBox (str1 & "como" & str2 & "you")

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...