2017-03-22 25 views
1

我試圖將組合數據從用戶窗體傳遞給單元格以創建超鏈接。連接用戶窗體數據並傳遞給單元格作爲超鏈接

我希望與超鏈接結構,以最終如下:

  • 1部分:靜態的文件夾位置
  • 2部分:從選項首先的2個字符在用戶選擇的形式
  • 第3部分:當前日期和時間

我有這一切工作的隔離:

  1. .Cells(lRow, 2).Value = "=Hyperlink(""H:\revised_action_tracker\test\"")"
  2. .Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2))
  3. .Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss")

當我試圖從1,它拋出一個語法錯誤部分加入部分2和3到工作超鏈接。

我期待的超級鏈接看起來像這樣:

H:\ revised_action_tracker \測試\ CT-20170322_162111

我覺得我轉圈圈這一點,任何幫助將是感激地收到。

+0

你是如何嘗試加入三個值?你想要什麼樣的結果? – SteveES

回答

0

這可以,如果你處理部分2和需要解決3 第一步。這樣,您就可以在超鏈接公式從這兩部分添加文本:

ActiveSheet.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2)) 
ActiveSheet.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss") 
ActiveSheet.Cells(lRow, 2).Value = _ 
    "=Hyperlink(""H:\revised_action_tracker\test\" & _ 
    ActiveSheet.Cells(lRow, 3).Value & ActiveSheet.Cells(lRow, 4).Value & """)" 

或者,如果你不牛逼想使這個大的句子,聲明一個變量來連接這些字符串,像這樣:

ActiveSheet.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2)) 
ActiveSheet.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss") 
Dim c As String: c = ActiveSheet.Cells(lRow, 3).Value & ActiveSheet.Cells(lRow, 4).Value 
ActiveSheet.Cells(lRow, 2).Value = "=Hyperlink(""H:\revised_action_tracker\test\" & c & """)" 

作爲替代方案,如果你想安裝不改變文本的鏈接,你可以創建一個簡單的字符串細胞和將超鏈接關聯到i t,而不是用公式HYPERLINK()創建它。所以你有這樣的事情:

ActiveSheet.Cells(lRow, 2).Value = "H:\revised_action_tracker\test\" 
ActiveSheet.Cells(lRow, 3).Value = UCase(Left(Me.cbo_action_type.Value, 2)) 
ActiveSheet.Cells(lRow, 4).Value = Format(CStr(Now), "yyyymmdd_hhmmss") 
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lRow, 2), Address:="H:\revised_action_tracker\test\" & Cells(lRow, 3) & Cells(lRow, 4) 
+0

我使用了第二種解決方案,當我需要擴展超鏈接以包含來自另一個用戶輸入框的值時,聲明變量肯定有幫助。 – chris1982

相關問題