救命,救命,有在VBA代码中处理CSV文件的大侠进来帮帮我,急死了!

我想用VBA写一个宏,在一个新的工作簿中(即下面代码中的wb2)做一个按钮,点击此按钮可以处理一个CSV文件(即下面代码中的wb1),主要是根据改CSV的A列(日期列)来... 我想用VBA写一个宏,在一个新的工作簿中(即下面代码中的wb2)做一个按钮,点击此按钮可以处理一个CSV文件(即下面代码中的wb1),主要是根据改CSV的A列(日期列)来进行某些行的选择性删除,然后再保存,关闭。看起来不是很难,但是我出问题,因为这个CSV文件的A列是一个日期列,操作之前的日期格式是2011/5/1.......2011/5/31。 但是我用宏对它进行行删除操作并保存关闭之后,再打开这个CSV文件,发现A列的日期格式变了,变成5/1/2011.....5/31/2011了。怎么回事啊?有类似经历的朋友没?帮帮忙?
我的VBA代码如下:
private sub A()
dim wb1 as workbook '(csv文件对应的workbook)
dim wb2 as workbook
dim s1 as string '(csv文件A列的日期)
dim s2 as string '(wb1上面输入的日期)
set wb2 = thisworkbook
set wb1 = workbooks.open(filename:="F:\123.csv")
max = wb1.sheet(1).Range("A65536").end(xlup).row
For i = max to 1 step-1
'这里分别给s1和s2赋值
if s2<>s1 then
wb1.sheets(1).Rows(i).select
selection.delete
end if
next
wb1.save
wb1.close
end
展开
 我来答
akqg218
2011-05-24 · TA获得超过766个赞
知道小有建树答主
回答量:866
采纳率:0%
帮助的人:476万
展开全部

把你的指定单元格的内容 放到一个新的Sheet中 并把这个Sheet设置为当前活动的Sheet
然后使用下面的代码

Sub SaveAsCSV()
ActiveSheet.SaveAs "c:\aaaaa.csv", xlCSV
End Sub

比如你原来有3个Sheet 那你可以再创建一个新的Sheet 然后通过VBA把这个Sheet切换到当前活动的状态 然后把原来的某个Sheet中的你想要的那一行内容 复制到新的这个Sheet中 然后用上面的命令 保存掉
然后再把这个新添加的Sheet删除掉
在把焦点切换回原来你停留的Sheet 就可以了 天衣无缝.
lnleny
2011-05-23 · TA获得超过492个赞
知道小有建树答主
回答量:919
采纳率:0%
帮助的人:554万
展开全部
把那个CSV文件的A列的格式改成你要的就是了,可以手工来,也可以写在代码里,具体的代码可以建个新文件,然后录制个宏,看看宏里面的代码。
追问
哥,你能说详细点不?录制一个宏的代码呀怎么写啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
peterchou2008
2011-05-25 · TA获得超过117个赞
知道答主
回答量:114
采纳率:0%
帮助的人:0
展开全部
在你的代码中加一句:Local:=True
这个是excel的一个bug,已经被修复,也可以下载相关补丁,window文章地址:
http://support.microsoft.com/kb/829348
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laugin
2011-05-23 · TA获得超过296个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:448万
展开全部
wb1.SaveAs "F:\123.xls"
wb1.Close

另存为xls文件看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
canmama0
2015-12-09
知道答主
回答量:4
采纳率:100%
帮助的人:3678
展开全部
你用F8逐步运行VBA程序看看,你会发现,其实用set wb1 = workbooks.open(filename:="F:\123.csv")这样打开csv后,原来2011/5/1.......2011/5/31已经变成5/1/2011.....5/31/2011了,我也遇到这个问题,也还没解决,请问你解决了吗?求教!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式