【问题标题】:Macro on Excel for replace wordsExcel上用于替换单词的宏
【发布时间】:2019-10-11 17:03:20
【问题描述】:

我正在尝试制作一个宏来读取我设置的某些单词(在特定的 excel 工作表中)我去一个新的 excel 工作表中一个一个地重写它们......我正在附上代码......给我这个错误我该如何解决?

Sub Macro1()
'
' Macro1 Macro
'
Ricerca = "Lingua"
Campo = 5
'
    Range("A1").Select
    Cells.Find(What:=Ricerca, After:=ActiveCell, LookIn:=xlFormulas _
        , LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False).Activate
   ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.Copy
    Selection.Copy
    Sheets("Foglio1").Select
    ActiveCell.Offset(1, Campo).Range("A1").Select
    ActiveSheet.Paste
For indexA = 1 To 202

    Sheets("CLIENTI per xls").Select
Cells.Find(What:=Ricerca, After:=ActiveCell, LookIn:=xlFormulas _
        , LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False).Activate
    ActiveCell.Offset(1, 0).Range("A1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Foglio1").Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveSheet.Paste


 Next indexA

 End Sub

【问题讨论】:

  • 您的代码与所有Selects 和Activate 的代码混淆了。我建议您首先将Option Explicit 放在顶部(这将需要变量声明),并重写它以摆脱不需要的选择和激活。见How to avoid using Select in VBA。然后,您没有声明的任何内容都应该变得清楚。哦,当你告诉我们一个错误时,告诉我们哪一行产生了错误也很重要。
  • 如果没有找到单元格,则不能使用Activate

标签: excel vba visual-studio replace find


【解决方案1】:

您的代码有点混乱。考虑一下这个简化版本。

Sub MultiFindNReplace()
'Update 20140722
Dim Rng As Range
Dim InputRng As Range, ReplaceRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Original Range ", xTitleId, InputRng.Address, Type:=8)
Set ReplaceRng = Application.InputBox("Replace Range :", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng In ReplaceRng.Columns(1).Cells
    InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value
Next
Application.ScreenUpdating = True
End Sub

有关所有详细信息,请参阅下面的链接。

https://www.extendoffice.com/documents/excel/1873-excel-find-and-replace-multiple-values-at-once.html

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 2020-03-27
    • 2019-11-28
    • 2012-10-27
    相关资源
    最近更新 更多