尝试将单元格引用从一列复制到另一列(理想情况下在字符串的末尾添加“PR”,但我还没有那么远),我的尝试如下。我无法在网上找到解决方案,所以如果这是重复,我很抱歉!
请让我知道如何纠正我的尝试
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
答案 0 :(得分:1)
我假设通过“单元格引用”你正在谈论名字。它们不作为特定范围的一部分存在,它们是工作簿中的引用集合(当您查看名称管理器时看到的内容)。因此,您需要访问该集合以创建新名称。我相信你想根据引用现有范围的名称命名一个范围,这段代码应该这样做。
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
答案 1 :(得分:0)
如果我正确理解您的问题,您希望为目标范围内的每个单元格指定与相应源单元格相同的公式/单元格引用。如果是这样,这应该做你需要的:
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”附加到将在目标单元格中显示的值的末尾,则需要将此文本添加到目标单元格将指向的引用单元格中的值。
或者,您可以只复制源数据中的值,并将文本附加到该值,如果实时引用不重要(将“公式”属性更改为“值”)。