標題:
VBA表單輸入會附加連結
[打印本頁]
作者:
Jared
時間:
2013-8-8 16:52
標題:
VBA表單輸入會附加連結
想請問一下大大
如果在TextBox 上面輸入連結網址
存入Excel欄位只是一般字串
要添加什麼程式碼
才會讓自己輸入的欄位一率顯示 "連結路徑" 四個字
卻有連結自己輸入的位置功能呢? ? (@@)
作者:
luhpro
時間:
2013-8-9 00:04
本帖最後由 luhpro 於 2013-8-9 00:07 編輯
回復
1#
Jared
TextBox1 放連結網址
TextBox2 放目的儲存格位址, 例如 : F12
CommandButton1 啟動轉換作業
Private Sub CommandButton1_Click()
With Sheets("Sheet1")
.Hyperlinks.Add Range(TextBox2.Text), TextBox1
Range(TextBox2.Text) = "連結路徑"
End With
End Sub
複製代碼
作者:
Jared
時間:
2013-8-9 11:46
回復
2#
luhpro
謝謝大大的指教 ^^
我發現如果是在 Dim 這裡設定
TextBox1 = "file:///" & TextBox1
就會有連結路徑的功能
只是不會有指定顯示文字的效果
我再研究看看
作者:
Jared
時間:
2013-8-29 11:14
本帖最後由 Jared 於 2013-8-29 11:17 編輯
我做了一個簡單的測試
但還是希望能夠指定出現文字
並有連結輸入位置的功能
因為我目前程式是使用判斷有資料就往下新增的方式
所以使用指定表單欄位的寫法就不行了...
希望能有高人協助
感激不盡 ~><
[attach]15876[/attach]
[attach]15877[/attach]
[attach]15878[/attach]
Dim Q, Ar
Private Sub CommandButton1_Click()
Ar = "file:///" & TextBox1
If TextBox1 <> "" Then
Q = 1
Do Until Cells(Q, 1) = ""
Q = Q + 1
Loop
With Sheet1
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(, 1).Value = Ar
End With
Else
If TextBox1 = "" Then MsgBox "連結網址未填寫,麻煩檢查!"
End If
End Sub
Private Sub CommandButton6_Click()
UserForm1.Hide
End Sub
Private Sub CommandButton7_Click()
TextBox1 = ""
End Sub
複製代碼
作者:
stillfish00
時間:
2013-8-29 11:48
回復
4#
Jared
2#不是已經寫了嗎?
With Sheet1
With .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
.Hyperlinks.Add .Cells(1, 1), TextBox1
.Value = "連結路徑"
End With
End With
複製代碼
作者:
Jared
時間:
2013-8-29 14:51
回復
5#
stillfish00
謝謝大大解答
因為我這個測試表單只有一種資料
原本我的表單上面
有N種要填的TextBox1
連結位置只是被夾在中間
原本程式大概是這樣
Dim Ar,a1,a2,a3,a4,a5
a1 = ComboBox1 '資料A
a2 = ComboBox2 '資料B
a3 = ComboBox3 '連結位置
a4 = ComboBox4 '資料D
a5 = ComboBox5 '資料E
Ar = Array(a1, a2, a3, a4, a5)
If a1 <> "" And a2 <> "" And a3 <> "" And a4 <> "" And a5 <> "" Then
Q = 1
Do Until Cells(Q, 1) = ""
Q = Q + 1
Loop
With Sheet1
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(, 5).Value = Ar
End With
Else
If a1 = "" Then MsgBox "資料A未填寫,麻煩檢查!"
If a2 = "" Then MsgBox "資料B未填寫,麻煩檢查!"
If a3 = "" Then MsgBox "資料連結未填寫,麻煩檢查!"
If a4 = "" Then MsgBox "資料D未填寫,麻煩檢查!"
If a5 = "" Then MsgBox "資料E未填寫,麻煩檢查!"
複製代碼
如果說大大解答的程式要放在裡面
那要怎麼修改才能在第三筆資料轉為連結位置
而其他筆資料再個別寫上呢?
頭痛中><
作者:
stillfish00
時間:
2013-8-29 15:10
回復
6#
Jared
With Sheet1
With .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
.Resize(, 5).Value = Ar
.Hyperlinks.Add .Offset(, 2), ComboBox3
.Offset(, 2).Value = "連結路徑"
End With
End With
複製代碼
作者:
Jared
時間:
2013-8-30 15:27
回復
7#
stillfish00
謝謝大大幫忙
程式已經可以執行
後來發現提供的程式裡頭有點錯誤
應該是 TextBox1 而不是 ComboBox1
最後也忘了加上End If
在此做個修正
大大提供的解答
是照原先方式先將資料填上去
再把要附加連結的欄位資料再另外覆加上去嗎?
不曉得還可以這樣使用
再次感謝大大的解答 (^^ )
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)