Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA,替换值,复制,还原为原始值,然后粘贴_Excel_Vba_Replace_Copy - Fatal编程技术网

Excel VBA,替换值,复制,还原为原始值,然后粘贴

Excel VBA,替换值,复制,还原为原始值,然后粘贴,excel,vba,replace,copy,Excel,Vba,Replace,Copy,我试图创建一个子例程,从单元格或区域中获取值,将单元格值中出现的“{NAME}”替换为“John”,选择并复制要粘贴到某处的修改区域,并将原始单元格值恢复为“{NAME}” 我得到了一些混乱的代码,逻辑工作,但每当我粘贴剪贴簿内容,我得到的是“{NAME}”值,而不是“John” 我相信Excel会在粘贴时实时获取所选单元格的内容。。不只是指示复制时单元格的静态内容 有没有办法做到这一点 我假设另一种方法是包含forms 2.0对象并直接将字符串复制到剪贴板 上师能启发我吗 谢谢你的时间 下面是

我试图创建一个子例程,从单元格或区域中获取值,将单元格值中出现的“{NAME}”替换为“John”,选择并复制要粘贴到某处的修改区域,并将原始单元格值恢复为“{NAME}”

我得到了一些混乱的代码,逻辑工作,但每当我粘贴剪贴簿内容,我得到的是“{NAME}”值,而不是“John”

我相信Excel会在粘贴时实时获取所选单元格的内容。。不只是指示复制时单元格的静态内容

有没有办法做到这一点

我假设另一种方法是包含forms 2.0对象并直接将字符串复制到剪贴板

上师能启发我吗


谢谢你的时间

下面是一个超级简单的通用示例:

Sub TyS()
    Dim r1 As Range, r2 As Range

    Set r1 = Range("A1:A10")
    Set r2 = Range("B1:B10")

    r1.Replace What:="{NAME}", Replacement:="John"
    r1.Copy r2
    r1.Replace Replacement:="{NAME}", What:="John"


End Sub

我是否理解正确:您希望将给定单元格的内容放在剪贴板中,并替换其中的某一部分?这将使Excel从等式中消失。如果是这样的话,请看一看。我使用Forms 2.0方法得到了它。请随意发布一个示例作为答案,并自己接受它,这样,其他遇到此问题的人也会受益。为什么不替换目标单元格中的令牌(即粘贴后)?
Sub TyS()
    Dim r1 As Range, r2 As Range

    Set r1 = Range("A1:A10")
    Set r2 = Range("B1:B10")

    r1.Replace What:="{NAME}", Replacement:="John"
    r1.Copy r2
    r1.Replace Replacement:="{NAME}", What:="John"


End Sub