用vba,删除excel文件里某列数据中的[,]和[¥]两个特殊字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用vba,删除excel文件里某列数据中的[,]和[¥]两个特殊字符相关的知识,希望对你有一定的参考价值。

用vba,删除excel文件里某列数据中的[,]和[¥]两个特殊字符,
以及在此列中检测到未输入数据(也就是空显示)的单元格,用MsgBox报个错误。
求vb方面的大师帮帮忙。
两个程序是分开的,不是在一个语句里的。
楼下的哥们,你写的不太符合,这是我写的一段,但想要的是这个单元格输入的字符中包含“,”号的,不是只有一个“,”号,至于一列的循环,我已经解决,所以只要个能解决单元格的函数就行了。
If StrComp(Range(Cel_标准価格税込 & Cnt).Value, ",") = 0 Then Range(Cel_标准価格税込 & Cnt).Value = ""

InStr(Range("A" & Cnt), ",") > 0'用这个判断是否存在

Range("A" & Cnt) = Replace(Range("A" & Cnt), ",", "")'然后用这个替换

-------------------------------------------------------------
参考技术A Dim wkValue as String
' 从1开始循环直到A列最后一个有数据的单元格
for i = 1 to Range("A65536").End(xlUp).Row
if cells(i,1) = "" then
msgbox "A" & i & "数据错误"
else
wkValue = Replace(cells(i,1),",","") ' 替换","为""
wkValue = Replace(wkValue,"¥","") ' 替换"¥"为""
cells(i,1) = wkValue
end if
next

怎样将EXCEL工作表中某列数值小于一个数的行删除,或将工作表中某列数值大于一个数的行统计到另一个工作表

某列数值小于一个数的行删除
在B1中输入或复制粘贴下列公式
=IF(A1<5,0,1)
下拉填充
筛选B列结果为0的值 删除

将工作表中某列数值大于一个数的行统计到另一个工作表

在SHEET2的A2中输入或复制粘贴下列公式
=IF(SHEET1!A2>5,SHEET1!A2,"")
下拉填充
参考技术A 这种情况只能用VBA(宏)来实现,普通的一个公式是实现不了的!
Sub abc()
For Each rng In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row) '循环A列
If rng = "ABC" Then Rows(rng.Row).Delete '如果等于"ABC"就删除该行
'如果大于123就复制到sheet2的最后
If rng >123 Then Sheet1.Rows(rng.Row).Copy Destination:=Sheet2.Rows(Sheet2.UsedRange.Rows.Count)
Next
End Sub

自己根据实际情况更改吧
参考技术B VBA,
循环列,如果某列数值《1,删除
同理,如果楼咧数值》2,复制到别的表格追问

你好:先谢谢你,我不知怎样操作,麻烦你讲的详细点。

本回答被提问者和网友采纳
参考技术C 公式

以上是关于用vba,删除excel文件里某列数据中的[,]和[¥]两个特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

Excel 2010 VBA:复制行,根据某列上的值动态选择它们

Excel用vba按先后顺序打开一个文件夹中的N个excel工作簿,运行一段宏程序后

怎样将EXCEL工作表中某列数值小于一个数的行删除,或将工作表中某列数值大于一个数的行统计到另一个工作表

使用Excel2007去反复功能时要注意的一个问题

Excel VBA自动筛选器会继续删除与条件不匹配的数据

vba如何新建一个excel并且从另一个excel中导入数据到这个新建的excel中?