2013-10-03 5 views
-3

Я пытаюсь добавить диапазон к переменной, а затем эта переменная будет текст, который будет отображаться в текстовом поле. И то, что я сделал до сих пор код ниже:Переменная для текстового поля vba

Private Sub TextBox1_Change() 
Dim text1 As String 
text1 = Sheet16.Range("C21:D40").Value 
Sheet15.TextBox1.Value = text1 
End Sub 

, и я получил ошибку «Несоответствие типов», когда я пытаюсь запустить его. Пожалуйста, любой совет будет высоко оценен.

+0

Что произойдет, если вы не укажете 'Dim text1 As String', а просто выполните' Dim text1'? – Floris

+6

Строкой может быть только значение одной ячейки, а не диапазон ячеек – SWa

+1

@ Kyle делает отличную точку. Что вы ожидаете увидеть в текстовом поле? Конкатенация всех значений во всех ячейках диапазона? – Floris

ответ

0

Вы не можете определить диапазон для строковой переменной.

Если вы хотите добавить вверх или суммировать диапазон, вы код будет выглядеть примерно так один:

Private Sub myAddingFunction() 
    Dim text1As String 
    text1= Application.Sum(Range("C21:D40")) 
    Range("c1").Value = text1 
End Sub 

Где Range («c1») может быть заменен на Sheet15.TextBox1.Value

Смежные вопросы