1、首先,把导出来的或者是其他同事给的csv文件打开,进行编辑。
2、编橘凳辑完成后,点击保存,或者文件中的另存为。快捷键就是ctrl+s。
3、保存后提示可能含有csv不兼容功能,是否保持这种格式。
4、d出保存到,可以选择桌面或者工作文件夹,然后命名文件名,这个时候的格式变成了xlsx。
5、塌毕保存完之后,桌面生圆衫旅成了另一个副本格式变成了xlsx,需要点击保存xlsx格式来保证格式的完整性。
对于“文本文件”,基本上这是没办法的事。“文本文件”只能看作是一种“顺序文件”。无论什么语言的代码来改写,都牵涉到“数据移动”的问题。
毕竟,绝大多野源数情况下,你的这种所谓的“修改”,被改变的部分,数据长度都是会有变化的。
无论是变长了,或者变短了,在它后面的数据全部都要进行“移动”,
这种情况下,任何方法改数据,都是得“重新写”后面的数据。
如果文件较大,必然费时。没有“快”的方法。
但是,如果长度没有变化(新内容跟原内容一样长),都可以从指定位置开始写入新数据。
这时,无论哪种语言的代码,都可以快速完成 *** 作。
其实,楼主要想提高“速度”,应该考虑一种能够“随机读写”的存储结构来组织文件,
而不是用“文本文件”(当然颂伏态不知道楼主的需求,是否可以这样处理)。
如果用可以“随机读写”的数据存储结构,这样就可以达到快速存取、快速修改的目厅启的。
用VBA修改多个Excel指定的顷雀内容,需要先循环工作簿,再循环工作表, 然后再循环单元格。关键是,看你的工作表是不是指定的工作表,银圆你的单元格区域是否固定,如果不固定就得循环,如果固定就先指定。
以下代码你可以看一下行不行。可以使用dir函数来实现工作簿的循环。
其他循环则看具体情况。另外,多个工作簿是在指定目录锋乎塌还是在当前目录,这个也很重要。是否是打开状态也很重要。
代码假定在代码工作簿所在的目录,全部关闭的情况下。
Sub 修改内容()
pth = ThisWorkbook.Path
wbn = Dir(pth &"\*.xls*")
Do While wbn <>""
If wbn <>ThisWorkbook.Name Then
Set wb = Workbooks.Open(pth &"\" &wbn, , False)
For Each st In wb.Worksheets
For Each rg In st.UsedRange
If rg Like "*K1+500*" Then
rg = Replace(rg.Value, "K1+500", "K2+350")
End If
Next
Next
wb.Close True
End If
wbn = Dir
Loop
End Sub
可以试一下。如果不行,要看具体的表才能确定你需要的代码怎么写。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)