Страницы: 1
RSS
VBA. Склеивание названия переменной
 
Добрый День Уважаемые Эксперты.

Подскажите пожалуйста, в VBA в принципе возможно склеить название переменной из двух составляющих?
И если да, то подскажите пожалуйста каким образом это можно сделать.
Я когда пробовал получил что то вроде этого:
Код
Sub test()

i = 1
Count1 = 2
'"Count" & i= 2
'a = "Count" & i

If Count1 = CStr(Count & i) Then
If Count1 = Count & i Then
'If Count1 = a Then

  MsgBox 1
  
End If

End Sub
В If я так и не зашел. Как я понимаю, то чтобы VBA воспринимал получившуюся "склейку" не просто как текст, а как переменную, то нужно еще что то прописать?
Или все иначе можно сделать? А вообще можно так делать(Склеивать названия одной переменной из двух составляющих)?

Прошу помочь разобраться.

Благодарю.
 
Цитата
IgorBoot написал: А вообще можно так делать(Склеивать названия одной переменной из двух составляющих)?
Нет, так не делается
Цитата
IgorBoot написал: Или все иначе можно сделать?
В такой ситуации применяется массив
Код
Dim Count(0 To 1)
Count(0) = 1
Count(1) = 2
Согласие есть продукт при полном непротивлении сторон
 
Уважаемый Sanja.
Благодарю Вас за ответ. Подскажите, а Count(1) и Count1 это получается разные переменные??
Хотя вопрос и глуп, видно что разные.
Спасибо за ответ. Буду дальше думать.
 
Цитата
IgorBoot написал: Count(1) и Count1 это получается разные переменные?
Да, разные
Цитата
IgorBoot написал: Буду дальше думать
Не так давно была подобная ТЕМА. Может для себя что-то из нее почерпнете
Согласие есть продукт при полном непротивлении сторон
 
Код
Dim Count(0 To 1)
Подскажите а подобные массивы можно задать от 1 до i, и прогнать циклом, наподобие того как выполнено здесь:
Код
Sub test1()
Dim Count(1 To i)

For i = 1 To 4
 Cells(i, 6) = Count(i)
Next i

End Sub
Изменено: IgorBoot - 24.12.2018 12:05:22
 
Проверили? Не получилось?

Можно, если переменная i уже определена (например, как глобальная переменная). Или объявить ее в процедуре:
Код
Dim a
Dim i As long', k As Long
     i = 1111
     ReDim a(1 To i)

     For i = 1 To UBound(a)
     'For k = 1 To i
 
IgorBoot, почитайте какой-нибудь букварь по бейсику или например Массивы. Обьявление массивов. Сортировка массивов
 
О, прозевал. Вопрос к теме не имеет никакого отношения!
 
Уважаемый vikttur
Спасибо за ответ.
Вы правы, не получилось, я просто это в тексте не указал, впредь буду указывать, Ваша конструкция для файла примера работает отлично. Спасибо.

Уважаемый Казанский.
Спасибо за ответ.
Пойду читать. А то стыдно даже как-то стало. Вроде какие то не самые легкие штуки получаются, а основ до конца не знаю.
Спасибо за ссылку.
Страницы: 1
Наверх