【问题标题】:Replacing Special Characters in Excel VBA and adding columns替换 Excel VBA 中的特殊字符并添加列
【发布时间】:2017-12-06 18:13:12
【问题描述】:

我对 Excel VBA 宏非常陌生,因为我的工作需要一些具有挑战性的东西。为了给大家做一个简短的介绍,我每天都会收到一个文件,我必须在其中找到所有特殊字符( @ * ( ) _ + [ ] \ : ; " ' , . / ? )从 A 列添加三列 C、D 和 E,它们应自动填充值,即 - C 列应填写“XYZ”,D 列应填写“ABC”,E 列应填写“NA”。应将相同的值复制到添加到最后一个数据行的新列中。

我确实创建了一些东西,用于删除除双引号 (") 之外的特殊字符。此外,我没有找到将文件另存为 EXE 的方法,当单击该文件时会发现 Excel 工作簿以其命名并执行此函数。

如果有人可以帮助我处理此代码,我将不胜感激。我对 VBA 编程真的很天真。如果这行得通,将对我的日常工作管理有很大帮助!

感谢您的帮助。

谢谢, 阿克谢

 Sub Remove_Special()
Columns("A").Replace _
 What:=";", Replacement:=""
Columns("A").Replace _
 What:=":", Replacement:=""
Columns("A").Replace _
 What:=",", Replacement:=""
Columns("A").Replace _
 What:="(", Replacement:=""
Columns("A").Replace _
 What:=")", Replacement:=""
Columns("A").Replace _
 What:="{", Replacement:=""
Columns("A").Replace _
 What:="}", Replacement:=""
Columns("A").Replace _
 What:="[", Replacement:=""
Columns("A").Replace _
 What:="]", Replacement:=""
Columns("A").Replace _
 What:="~+", Replacement:=""
Columns("A").Replace _
 What:="~*", Replacement:=""
Columns("A").Replace _
 What:="~?", Replacement:=""
Columns("A").Replace _
 What:="_", Replacement:=""
Columns("A").Replace _
 What:=".", Replacement:=""
Columns("A").Replace _
 What:="'", Replacement:=""
Columns("A").Replace _
 What:="\", Replacement:=""
Columns("A").Replace _
 What:="/", Replacement:=""
Columns("A").Replace _
 What:=".", Replacement:=""
Columns("A").Replace _
 What:="@", Replacement:=""
Columns("A").Replace _
 What:=Chr(34), Replacement:=""

MsgBox "All special characters have been removed", vbOKOnly
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    看看这里有没有类似的东西: VBA - If a cell in column A is not blank the column B equals

    也可以试试这个删除双引号:

    myVariable = Replace(myVariable, Chr(34), "")
    

    您可以将工作簿的内容复制并粘贴到启用宏的工作簿中,而不是创建可执行文件。

    【讨论】:

    • 现在,我正在尝试做两件事。我能够创建一个类似于我的要求的代码,并且部分工作。谢谢!
    • 现在,我正在尝试连接两列中的值,但使用以下代码,连接的列会添加一个“-”,直到 Excel 工作表中的最后一个单元格。任何建议,将不胜感激。暗淡 lngLastRow As Long lngLastRow = Cells(Rows.Count, "A").End(xlDown).Row Range("A2:A" & lngLastRow).Value = Evaluate("=G2:G" & lngLastRow & "&" "-""&" & "B2:B" & lngLastRow)
    猜你喜欢
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2016-08-13
    • 2014-11-03
    • 2017-06-24
    • 2017-07-05
    • 1970-01-01
    • 2011-12-28
    相关资源
    最近更新 更多