首先,我想要的结果是连接两个单元格以创建一个超链接。一个单元格有我们的票务管理系统的网址,另一个单元格有票号。这两个单元格存在于双击数据透视表的 DrillDown 表中,其源数据确实已经具有超链接,但它没有拉到向下钻取表,并且正如我在多个论坛上阅读的那样,不可能让它通过。
因此,我记录了连接的宏,然后使用连接的粘贴值到另一个单元格并执行回车并将其设为超链接。繁荣!任务完成?
不,当我在其他一些数据上测试记录的宏时,它正确地进行了所有连接,但是当它到达粘贴值位时,它粘贴了我正在处理的先前数据的值?
VBA中有没有办法让它复制和粘贴所选单元格的值,而不是在录制宏期间硬编码的内容?
如果这流血明显,我深表歉意,但我不是 VBA 专家……远非如此。
Sub CreateHyperlink()
'
' CreateHyperlink Macro
'
'
Columns("A:D").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("D3").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[1],5)"
Range("A3").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(""=HYPERLINK(""""http://test.analytics.com/workspace/379/item/"",RC4,"""""""","","","" "","""""""",RC5,"""""""","")"")"
Range("A4").Select
Columns("A:A").EntireColumn.AutoFit
Range("B3").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-1],LEN(RC[-1])-0)"
Range("B3").Select
Columns("B:B").EntireColumn.AutoFit
Range("B3").Select
Selection.Copy
Range("C3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("B3").Select
Selection.Copy
Range("C3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("B3").Select
Selection.Copy
Range("C3").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=HYPERLINK(""http://test.analytics.com/workspace/379/item/55949"", ""INQ-55949"")"
Range("C4").Select
Columns("C:C").EntireColumn.AutoFit
End Sub
谢谢J