我只需使用vba代碼更改工作表的格式,並且文件變得非常大並且增加了大約200 MB。如果我使用excel界面來做這件事,那麼就不會發生這種情況,但我想使用代碼。更改excel的格式將文件轉化爲瘋狂的大小
Function ReturnName(ByVal num As Integer) As String
ReturnName = Split(Cells(, num).Address, "$")(1)
End Function
lcol = ws1.Cells(1, ws1.Columns.Count).End(xlToLeft).Column
For i = 1 To lcol
If (ws1.Cells(4, i) = "Date") Then
ws1.Range(ReturnName(i) & "5" & ":" & ReturnName(i) & "1000").NumberFormat = "yyyy-mm-dd"
Else
ws1.Range(ReturnName(i) & "5" & ":" & ReturnName(i) & "1000").NumberFormat = "0"
End If
Next i
是因爲你的情況可以格式化整個柱上進行(S),而不是在列996個細胞是否可以接受?這應該會產生巨大的差異...意味着更小的文件大小。 –
您只向我們展示了部分代碼,因此我必須問是否有可能將錯誤的值放入流氓'最後一個單元格'(如'Z1048576')中。 「Ctrl + End」在工作表上將你帶到哪裏? 'Debug.Print ws1.Cells.SpecialCells(xlLastCell).Address(0,0)'報告是什麼? – Jeeped