VBA
4 отговора
184 прегледа
VBA
В Няколко Textbox - a въвеждам данни. Как при някакво условие,което се изпълнява в цикъл да посоча TEXTBOX-a.
Примерно:
For I = 1 to 20
if a(I) = 1 then goto t1
next
....
....
t1: и тук искам да работя с този Textbox,който отговаря на I. Ако I= 1 с Textbox1,
ако I = 2 с Тextbox2 и т.н.
Чао и благодаря.
Примерно:
For I = 1 to 20
if a(I) = 1 then goto t1
next
....
....
t1: и тук искам да работя с този Textbox,който отговаря на I. Ако I= 1 с Textbox1,
ако I = 2 с Тextbox2 и т.н.
Чао и благодаря.
Re: VBA
Най-лесно ще е с control array
Праскаш във формата един текстбокс, след това го копираш и го пействаш пак - ВБ ще те пита искаш ли да създадеш control array
След това използваш нещо подобно
Private Sub Command1_Click()
For i = 0 To Text1.Count - 1
Text1.Item(i).Text = "textbox #" & Trim(Str(i))
Next
End Sub
Праскаш във формата един текстбокс, след това го копираш и го пействаш пак - ВБ ще те пита искаш ли да създадеш control array
След това използваш нещо подобно
Private Sub Command1_Click()
For i = 0 To Text1.Count - 1
Text1.Item(i).Text = "textbox #" & Trim(Str(i))
Next
End Sub
Re: VBA
Сори, не видях че питаш за ВБА. Там няма control arrays но нещо подобно може да стане с пропертито Tag. Слагаш на текстбоксовете Tag = 0,1,2 и т.н.
Private Sub CommandButton1_Click()
For i = 0 To Me.Controls.Count - 1
If (Me.Controls.Item(i).Tag = Trim(Str(i))) Then
Me.Controls.Item(i).Text = "textbox #" & Trim(Str(i))
End If
Next
End Sub
Private Sub CommandButton1_Click()
For i = 0 To Me.Controls.Count - 1
If (Me.Controls.Item(i).Tag = Trim(Str(i))) Then
Me.Controls.Item(i).Text = "textbox #" & Trim(Str(i))
End If
Next
End Sub
Re: VBA
ДО Мicrosoft - Благодаря. По същия начин може ли да стане и за Combobox ,
Label. А за Sheet1,Sheet2 и т.н.??
Label. А за Sheet1,Sheet2 и т.н.??
Re: VBA
за Combobox , Label и други контроли - можеш да ги манипулираш по същия начин, само внимавай да не сетнеш несъществуващо проперти (напр. .Техт за лейбъл)
За Sheet1 .. е по-лесно
ThisWorkbook.Sheets(i).Activate
За да видиш как се прави нещо с ВБА, кликни Tools|Macro|Record New Macro
След това правиш каквото ти трябва, напр. селектираш клетки, сменяш шит и т.н., след това спираш записването на макроса и гледаш кода който ексел е генерирал автоматично.
За Sheet1 .. е по-лесно
ThisWorkbook.Sheets(i).Activate
За да видиш как се прави нещо с ВБА, кликни Tools|Macro|Record New Macro
След това правиш каквото ти трябва, напр. селектираш клетки, сменяш шит и т.н., след това спираш записването на макроса и гледаш кода който ексел е генерирал автоматично.