首页 文章

用另一个替换单元格中的值

提问于
浏览
0

我正在Excel电子表格中编写一个宏,用一个单元格中的值替换另一个单元格的内容,并在看到这个单词时循环原始文本替换相同的值 . 例如,我在一系列单元格中有一个文本,其中每行都有一个单词“tagname”我想用相同电子表格的单元格A1的值替换“tagname”,例如说“Maggie”而不是标记名 . 到目前为止这是我的代码:

Private Sub CommandButton21_Click()
Dim OriginalText As Range
Dim CorrectedText As Range
'definition of ranges

Set OriginalText = Range("H4:H10")

'setting of ranges

For Each OriginalText In CorrectedText

CorrectedText.Value = Replace(OriginalText.Value, "tagname", Range("D2").Value)

Next OriginalText
'a loop through the original text to replace the word "tagname" with the value of cell D4

Columns(2).Clear 'clear column 2 for the Corrected Text
Range("A24:A30").Offset(, 1).Value = CorrectedText
'copy corrected text in these cells
End Sub

我得到运行时错误424,需要对象 .

1 回答

  • 0

    只是将所有这些放在一起,这就是我要做的 .

    Sub CommandButton21_Click()
    Dim correctedText As Range
    Dim OriginalText As Range
    Dim i As Long
    Dim cel As Range
    
    Set correctedText = Range("B24")
    Set OriginalText = Range("H4:H10")
    
    OriginalText.Replace "tagname", Range("d4")
    correctedText.Resize(OriginalText.Rows.Count).Value = OriginalText.Value
    OriginalText.Replace Range("d4"), "tagname"
    
    End Sub
    

    或者如果你真的想要循环:

    Sub CommandButton21_Click()
    Dim correctedText As Range
    Dim OriginalText As Range
    Dim i As Long
    Dim cel As Range
    
    Set correctedText = Range("B24")
    Set OriginalText = Range("H4:H10")
    i = 0
    For Each cel In OriginalText
        correctedText.Offset(i).Value = Replace(cel.Value, "tagname", Range("d4"))
        i = i + 1
    Next cel
    
    End Sub
    

相关问题