如何使 TextBox3.Text 為一個 TextBox(i).Text 來使用
- 帖子
- 258
- 主題
- 77
- 精華
- 0
- 積分
- 385
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taiwan
- 註冊時間
- 2010-8-8
- 最後登錄
- 2021-1-25
|
如何使 TextBox3.Text 為一個 TextBox(i).Text 來使用
請教各位大大:
VBA中表單內某 Sub
For i = 2 To lastrow1
If Cells(i, 4) = TextName.Text Then
TextBox3.Text = Sheets("學生資料").Cells(i, 6)
TextBox4.Text = Sheets("學生資料").Cells(i, 7)
TextBox5.Text = Sheets("學生資料").Cells(i, 8)
TextBox6.Text = Sheets("學生資料").Cells(i, 9)
endif
next
loop中 當找到第二個 Cells(i, 4)
應如何使 Sheets("學生資料").Cells(i, 6)填入 TextBox7.Text
也就是說如何使 TextBox3.Text 為一個 TextBox(i).Text 來使用
謝謝協助 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2010-10-7 08:09
| 只看該作者
回復 1# yangjie
使用陣列 Ar = Array(TextBox3, TextBox4, TextBox5....)
For i = 2 To lastrow1
If Cells(i, 4) = TextName.Text Then
For ii = 0 To UBound(AR)
AR(ii).Value = Sheets("學生資料").Cells(i, 6 + ii)
Next
End If
Next |
|
|
|
|
|
|
- 帖子
- 258
- 主題
- 77
- 精華
- 0
- 積分
- 385
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taiwan
- 註冊時間
- 2010-8-8
- 最後登錄
- 2021-1-25
|
3#
發表於 2010-10-7 09:38
| 只看該作者
謝謝GBKEE
我的TextBox有80個
陣列 Ar = Array(TextBox3, TextBox4, TextBox5....)
是否一定要寫至TextBox80?
Ar 設定語法
Dim ar(80) as string 是否正確 需要
或是 只要
set Ar = Array(TextBox3, TextBox4, TextBox5....)
或是 只要
Ar = Array(TextBox3, TextBox4, TextBox5....) |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2010-10-7 10:45
| 只看該作者
本帖最後由 GBKEE 於 2010-10-7 11:17 編輯
回復 3# yangjie
Dim Ar(3 To 80) As MSForms.Control, i%
For i = 3 To 80
Set Ar(i) = Controls("TextBox" & i)
Next
For i = 2 To lastrow1
If Cells(i, 4) = TextName.Text Then
For ii = 3 To UBound(AR)
AR(ii).Value = Sheets("學生資料").Cells(i, 6 + ii - 3)
Next
End If
Next
補上另一解法
For i = 2 To lastrow1
If Cells(i, 4) = TextName.Text Then
For ii = 3 To 80
Controls("TextBox" & ii) = Sheets("學生資料").Cells(i, 6 + ii - 3)
Next
End If
Next |
|
|
|
|
|
|
- 帖子
- 128
- 主題
- 13
- 精華
- 1
- 積分
- 118
- 點名
- 0
- 作業系統
- WinXP
- 軟體版本
- Office2003
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 四川成都邛崃
- 註冊時間
- 2010-9-13
- 最後登錄
- 2017-5-12
|
5#
發表於 2010-10-7 11:08
| 只看該作者
再简化点:
Dim i%,ii%
For i = 2 To lastrow1
If Cells(i, 4) = TextName.Text Then
For ii = 3 To 80
Controls("TextBox" & ii).object.Value = Sheets("學生資料").Cells(i, 6 + ii - 3)
Next
End If
Next |
|
|
|
|
|
|
- 帖子
- 258
- 主題
- 77
- 精華
- 0
- 積分
- 385
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taiwan
- 註冊時間
- 2010-8-8
- 最後登錄
- 2021-1-25
|
6#
發表於 2010-10-7 17:29
| 只看該作者
太棒了 ,完全解決。
其他Controls應是可如法泡製才對
GBKEE,et5323 謝謝你門 |
|
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
7#
發表於 2012-3-5 11:13
| 只看該作者
回復 4# GBKEE
Dear G大大 & 各位大大
小弟對控制項(如:listbox,textbox.label)的應用~ 想請您指導一下~
若是我的data是N筆 (每次一更新數量不一)
我要如何在UserForm中產生相對應的Label
ex.
sheet1 A1:A10 儲存格的值為A~J
SHEET1 中有預設一個CommandButton1 點選後會跳出一個UserForm1
並自行產生10個Label
Label1.Caption=A
Label2.Caption=B
.
.
Label1.Caption=J
在VBA中是否可以做到這樣的功能~ 有點動態的顯示~ |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 1572
- 主題
- 16
- 精華
- 2
- 積分
- 1521
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- office 2003
- 閱讀權限
- 150
- 性別
- 男
- 註冊時間
- 2010-5-1
- 最後登錄
- 2016-1-13

|
8#
發表於 2012-3-5 12:43
| 只看該作者
本帖最後由 oobird 於 2012-3-5 12:45 編輯
- Private Sub UserForm_Initialize()
- rng = Range([a1], [A65536].End(3))
- For i = 1 To UBound(rng)
- Set b = Me.Controls.Add("Forms.Label.1")
- With b
- .Height = 10
- .Width = 10
- .Top = 15 * i
- .Left = 20
- .Caption = rng(i, 1)
- End With
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
9#
發表於 2012-3-5 15:01
| 只看該作者
回復 8# oobird
謝謝o大大的教導~
我亦將其修改成
若userform1中的label 每一排15列 來排列
sheet1的資料=>用來判斷label共需要排幾列
第一階段已經可以依sheet1的data =userform1中的label.caption
亦同時新增textbox
再繼續延伸一個問題( 如何再將userform1中的label & textbox存到sheet2)
若在userform1 預設一個commandbutton1 將userform1中label & textbox的資料
抓取到sheet2
sheet2.A欄 存放userform1.label
sheet2.B欄 存放userform1.textbox |
|
學習才能提升自己
|
|
|
|
|