希望您能夠幫助我。
我想根據您單擊該單元格上的超鏈接時復制和粘貼單元格值。
例如,我有一個名為 Form1 的作業表,我想單擊 A 列中的一個 ID,然后它將復制該單元格的值并將其粘貼到 sheet1 中的 B2,然后將我帶到作業表 1。
目前我有一個宏,允許我點擊一個活動單元格,然后按下一個按鈕,然后執行上面提到的操作。我只是認為超鏈接新聞會更加用戶友好并且會導致更少的錯誤。
這是我目前擁有的代碼:
Sub Rectangle13_Click()
ActiveCell.Copy Destination:=Sheets(“Sheet1”).range(“B2”)
Worksheets(“Sheet1”).Activate
End Sub
任何幫助,將不勝感激!謝謝
uj5u.com熱心網友回復:
作業表 FollowHyperLink
- 將此代碼復制到作業表的作業表模塊
Form1。從那里,運行第二個 sub 將A列轉換為超鏈接。 - 點擊離開。
Option Explicit
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Not Intersect(Columns("A"), Target.Range) Is Nothing Then
Me.Parent.Worksheets("Sheet1").Range("B2").Value = Target.Range.Value
End If
End Sub
' Run this to create hyperlinks out of the values in column 'A'
' which will point to cell 'B2' in 'Sheet1'. You can then reformat
' the cells (remove underline, change font color, ...).
Private Sub CreateHyperlinks()
Dim lRow As Long: lRow = Range("A" & Rows.Count).End(xlUp).Row
Dim cell As Range
For Each cell In Range("A2:A" & lRow).Cells
cell.Hyperlinks.Add cell, "", "Sheet1!B2", , CStr(cell.Value)
Next cell
End Sub
uj5u.com熱心網友回復:
用起來不方便Hyperlik,我覺得。如果您嘗試更改單元格值,則無法簡單地單擊它并寫一些東西...但是如果您愿意,可以通過以下方式創建這樣的超鏈接:
Sub testAddHyperlink()
Dim DestSh As Worksheet
Set DestSh = Sheets("Sheet1") 'you can use any sheet name here
ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="'" & DestSh.name & "'" & "!A1"
'it will keep the existing cell value
End Sub
然后,請復制作業表代碼模塊中的下一個事件代碼(超鏈接所在的位置):
Option Explicit
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim rngCopy As Range, shDest As Worksheet
Set shDest = Sheets("Sheet1") 'you may use here any sheet name
shDest.Range("B2").value = Target.Parent.Value 'the sheet where the hyperlink targets, is already activated...
End Sub
uj5u.com熱心網友回復:
如果要使用該BeforeDoubleClick方法,請將此代碼粘貼到VBA 編輯器中的Form1作業表物件中...
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Cells.Count = 1 And Target.Cells(1, 1).Column = 1 Then
Cancel = True
With ThisWorkbook.Worksheets("Sheet1")
.Range("B2") = Target.Value
.Activate
End With
End If
End Sub
...自然,這是一個基本示例,您可能需要相應地對其進行修改。例如,當您雙擊時,如果第一行是標題,您可能希望忽略它并且不呼叫邏輯的核心部分。

這將做你想要的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/443972.html
上一篇:如何在Delphi中呼叫.NETCore6.0DLL?
下一篇:VBA檔案操作
