excel求如何用宏实现删除指定列的指定字

现在有一个工资表,里面有一列就是实发工资,比如 3200元 这样子,这个工资表大概有一万多行,全部是xxxx元的格式,现在我想将这列的所有“元”字删除,并转换成数字或货币格式,以便最后合计工资总额。VBA和宏的新手,请大神指点该怎么编代码或录制宏,要求一键删除该列所有“元”字。

打开表格文件,按组合键[ALT]+[F11],打开宏编辑器

在编辑器中插入模块

然后在右侧出现的模块代码编辑区录入一下程序代码

Sub 去掉元()
表名 = "sheet1"
列 = "c" '此处字母代表你要去掉元字的数据所在的列
开始行 = 1 '此处数字代表你要去掉元字的数据开始的行的行号
结束行 = 100 '此处数字代表你要去掉元字的数据结束的行的行号
For i = 开始行 To 结束行
xxx = Worksheets(表名).Cells(i, 列)
xxx = Left(xxx, Len(xxx) - Len("元"))
Worksheets(表名).Cells(i, 列) = xxx
Next i
End Sub

关闭宏编辑窗口,[ALT]+[F8]打开宏管理窗口

点击选项按钮,输入快捷键q,然后按确定按钮

之后直接按组合键[CTRL]+[q],就可以执行程序了,程序中的具体参数根据你的具体情况自己修改吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-27
可以删除选定区域内的空行
Private Sub Deleteblankrow()
On Error Resume Next
Dim rowindex As Long, columnindex As Long
Dim ifblank As Boolean
Dim actioncount As Long
Application.ScreenUpdating = False
For rowindex = 1 To selection.Rows.Count
For columnindex = 1 To selection.Columns.Count
If selection.Cells(rowindex, columnindex) <> "" Then
ifblank = False
Exit For
Else
ifblank = True
End If
Next columnindex

If actioncount >= selection.Rows.Count Then
Exit For
Else
If ifblank = True Then
selection.Rows(rowindex).EntireRow.Delete
rowindex = rowindex - 1
actioncount = actioncount + 1
End If
End If

Next rowindex
Application.ScreenUpdating = True
MsgBox "Mission complete", vbOKOnly, "Deleteblankrow"
End Sub
第2个回答  2013-10-15
我还是说说需求吧,其实是要从一份给出的工资表中算出工资总额,然后通过修改某些人的工资来满足社保缴费的需求。工资表的xxxx元是不能改的,我现在就多复制一行,想算出总额,略作调整,再交回给财务,然后就打印成工资条了。希望能给出通用的修改方法……
第3个回答  2013-10-15
不用宏,选定此列,ctrl+f 替换 元替换

excel求如何用宏实现删除指定列的指定字
打开表格文件,按组合键[ALT]+[F11],打开宏编辑器 在编辑器中插入模块 然后在右侧出现的模块代码编辑区录入一下程序代码 Sub 去掉元()表名 = "sheet1"列 = "c" '此处字母代表你要去掉元字的数据所在的列 开始行 = 1 '此处数字代表你要去掉元字的数据开始的行的行号 结束行 = 100 ...

excel求如何用宏实现删除指定列的指定字
打开表格文件,按组合键[ALT]+[F11],打开宏编辑器 在编辑器中插入模块 然后在右侧出现的模块代码编辑区录入一下程序代码 Sub 去掉元()表名 = "sheet1"列 = "c" '此处字母代表你要去掉元字的数据所在的列 开始行 = 1 '此处数字代表你要去掉元字的数据开始的行的行号 结束行 = 100 ...

如何在excel中用宏删除包含特定文字的行
ALT+F11 粘帖下面代码 运行此宏即可 Sub 删除指定内容行()Dim fincell As Range On Error Resume Next Do With ActiveSheet.Rows("3:65536")Set findcell = .Cells.Find("分析表", LookAt:=xlPart)findcell.EntireRow.Delete Set findcell = .Cells.Find("土建工程", LookAt:=xlPart)findc...

excel中用宏批量删除特定列
Public Sub del_col(a, b) 'a为首列位置,b为末列数,按1,2,3 填写 'A列为1,B列为2依次类推,sheet_n 为 Dim i As Integer For i = a To b Range(CStr(Chr(96 + a) & ":" & Chr(96 + a))).Delete Next i End Sub ...

excel求如何用宏实现删除指定列的指定字
打开表格文件,按组合键[ALT]+[F11],打开宏编辑器 在编辑器中插入模块 然后在右侧出现的模块代码编辑区录入一下程序代码 Sub 去掉元()表名 = "sheet1"列 = "c"'此处字母代表你要去掉元字的数据所在的列 开始行 = 1 '此处数字代表你要去掉元字的数据开始的行的行号 结束行 = 100 '此处数字...

如何在EXCEL中用宏代码按要求删除指定内容?
For D = 1 To Range("D65536").End(xlUp).Row If Cells(D, S) = 0 Then Cells(D, S).Clear Cells(D, S - 1).Clear Else End If Next Next Sheets(1).Select Range("a1").Select End Sub 使用以上代码,然后创建宏按钮 选择第一个控件,然后指定这个宏就行了。有用请采纳!

Excel宏如何清除某列或者某区域数据?
Sub 清除()Set cel = Range("c1:c100").Find(Range("a1"))cel.Clear End Sub

如何在Excel表批量删除某一列或某几列内容?
G7").ClearContentsEnd Sub 点击“保存”按钮,关闭VBA编辑器。在“新建按钮”对话框中,选择“宏”选项,并选择刚刚创建的宏。点击“确定”按钮,然后在单元格J1中会添加一个按钮。点击该按钮,即可清空A1-G7单元格的数据,同时保留其他格式。以上就是添加一个Excel批量删除多个单元格内容按钮的步骤。

Excel如何利用VBA的宏功能删除空行和指定字符的行?
总条件是:只针对A列的数据,不要删B列之后的其他列。最后又说:但是如果A2只是a,删除整行。这是矛盾的 还有,没说明白,是删除数据,还是删除单元格?Public Sub RowDele()Dim H As Long, i As Long, a, b H = Range("A65536").End(xlUp).Row a = Array("A", "a", "@", "#...

vba 删除excel中指定单元格
删除Excel中指定单元格的方法为:使用Range("A7:G7").Delete Shift:=xlUp。这里的"A7:G7"是目标删除区域,若行号用变量Row表示,则写为Range("A"&Row&":G"&Row)。xlUp参数表示在删除指定区域后,下方单元格上移。介绍一个获取VBA编码的技巧:利用Excel的录制宏功能。步骤如下:首先选择“工具”...

相似回答