2017-07-03 54 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) –