Excel宏从2列查找中替换单元格内容

时间:2016-08-30 19:31:13

标签: excel-vba macros lookup vba excel

在工作表Sheet1中,我需要浏览A列并查找Sheet2 col的任何值。 A并替换Sheet2 col找到的字符串。 B值。

例如,如果我有"每天都去http://google.com"在Sheet1.A和" google"在Sheet2.A234中,我需要用Sheet2.B234值替换原始字符串(" stackoverflow")以获得"每天去http://stackoverflow.com"进入原始单元格或新列。 如果没有发现任何变化。

我对vba了解不多,我只是略微修改了这里和那里找到的一些代码。我知道如何制作一个公式来做这个,但我可以在这种情况下得到任何循环/范围。

任何帮助表示赞赏:)

佛瑞德

YowE3K效果很好,不太优雅但也很有效:

Sub remplace()

Dim myInput As String, myTest As String, myReplacement As String

For i = 1 To 8 'for 10 rows of data in Sheet2
    For j = 1 To 4 'for 5 rows of data in Sheet1

        myInput = Sheets("Sheet3").Cells(j, 1).Value
        myTest = Sheets("Sheet4").Cells(i, 1).Value
        myReplacement = Sheets("Sheet4").Cells(i, 2).Value

        resultText = Replace(myInput, myTest, myReplacement)

        Sheets("Sheet3").Cells(j, 1).Value = resultText

    Next j
Next i

End Sub

2 个答案:

答案 0 :(得分:1)

以下代码应该可以执行您想要的操作,但如果Sheet1或Sheet2中有大量行,则可能效率不高。 ("大"可能意味着> 1000)

url : '/edit/:id'
url : '/edit/:obj.id'

答案 1 :(得分:0)

以下代码将完成工作

Sub foo()

For i = 1 To 10 'for 10 rows of data in Sheet2
    For j = 1 To 5 'for 5 rows of data in Sheet1
        If Sheets("Sheet2").Cells(i, 1).Value = Sheets("Sheet1").Cells(j, 1).Value Then
            Sheets("Sheet1").Cells(j, 1).Value = Sheets("Sheet2").Cells(i, 2).Value
        End If
    Next j
Next i

End Sub