2017-07-03 78 views
0

我是Excel VBA宏的新手,因为我的工作要求具有挑战性。为了给大家一个简短的介绍,我每天都会收到一个文件,我必须从列A中找到所有特殊字符(@ *()_ + [] \:;“',。/?)应该自动填充值的三列C,D和E - 列C应该填入“XYZ”,列D要有“ABC”并且列E具有“NA”。应将相同的值复制到添加到最后一个数据行的新列中。替换Excel VBA中的特殊字符并添加列

我确实创建了一些东西,除了双引号(“)以外,它还可以删除特殊字符。另外,我没有找到一种方法将该文件保存为EXE文件,单击该文件时发现Excel Workbook打开它的名字和执行这个功能

如果有人能帮助我使用这段代码,我真的很感激我对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 

回答

0

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

也可以尝试这种去除双引号:

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

你可以只复制和工作簿的内容粘贴到宏观启用工作簿,而不是创建可执行文件。

+0

现在,我正在尝试两件事情。我能够创建一个类似于我的要求的代码,并且部分工作。谢谢! –

+0

现在,我想连接两列中的值,但使用下面的代码,连接的列会添加一个“ - ”,直到Excel工作表中的最后一个单元格。任何意见,将非常感激。 (“A2:A”&lngLastRow).Value =评估(“= G2:G”&lngLastRow) &“&”“ - ”“&”&“B2:B”&lngLastRow) –