将单元格引用复制到另一列vba

试图将单元格引用从一列复制到另一列(理想情况下,在string的末尾添加“PR”,但我还没有得到那么多),我的尝试如下。 我无法find一个解决scheme,所以我很抱歉,如果这是一个重复!

请让我知道如何纠正我的尝试

Sub copynames() Dim source as range Dim target as range Dim n as Name set source = range("A1:A3") set target = range("b1:b3") for i=1 to source.Rows.Count target.cell(i,0).Names = source.Cell(i,0).Names next i End Sub 

如果我正确理解你的问题,你正在寻找给你的目标范围中的每个单元格相同的公式/单元格引用作为相应的源单元格。 如果是的话,这应该做你所需要的:

 Sub copyNames() Dim source As Range Dim target As Range Set source = Range("A1:A3") Set target = Range("B1:B3") For i = 1 To source.Rows.Count target.Cells(i, 1).Formula = source.Cells(i, 1).Formula Next i End Sub 

如果需要将“PR”追加到目标单元格中​​要显示的值的末尾,则需要将该文本添加到目标单元格将指向的引用单元格中的值。

另外,如果活动引用不重要(将“公式”属性更改为“值”),则可以将源数据中的值复制并附加到该文本中。

我正在通过“单元格引用”假设你正在谈论名称。 它们不作为特定范围的一部分存在,它们是工作簿中的参考集合(当您查看“名称pipe理器”时看到的内容)。 所以你需要访问这个集合来创build一个新的名字。 我相信你想要命名一个范围的名字引用一个现有的范围,这个代码应该这样做。

 Sub copynames() Dim source As Range Dim target As Range Set source = Range("A1:A3") Set target = Range("b1:b3") 'Set the target cells to the name of the source cells with "PR" appended For i = 1 To source.Rows.Count ThisWorkbook.Names.Add source(i, 1).Name.Name & "PR", target(i, 1) Next i End Sub