excel - UsedRange - 无法消除尾随空白行
问题描述
接受 VBA 和非 VBA 答案。
问题
我正在尝试使用 .csv 将工作表保存为 .csv ThisWorkbook.SaveAs Filename:=strFilePath, FileFormat:=xlCSV
,但由于其中UsedRange
包含一个尾随空白行,因此我在 .csv 中得到了不需要的逗号行。
我之前在代码中所做的事情
rngAllDate.SpecialCells(xlCellTypeVisible).Copy ThisWorkbook.Worksheets(1).Cells(1, 1)
如果您尝试重新创建问题,这可能会有所帮助。
我试过的
- 删除我的数据下的所有行
- 使用橡皮擦工具从我的数据下的所有行中清除所有
- 从我的整个工作表中清除格式,包括我的数据,以防边界引起问题
- 使用以下 VBA 代码块:
With ThisWorkbook.Worksheets(1)
.UsedRange 'I'm told this recomputes the UsedRange
MsgBox .UsedRange.Address
Dim rngColumnsToDeleteAndClear As Range
Set rngColumnsToDeleteAndClear = .Range(.Cells(1, WorksheetFunction.CountA(.Rows(1)) + 1), .Cells(1, .Columns.Count))
MsgBox rngColumnsToDeleteAndClear.Address
rngColumnsToDeleteAndClear.EntireColumn.Clear
rngColumnsToDeleteAndClear.EntireColumn.Delete
Dim rngRowsToDeleteAndClear As Range
Set rngRowsToDeleteAndClear = .Range(.Cells(WorksheetFunction.CountA(.Columns(1)) + 1, 1), .Cells(.Rows.Count, 1))
MsgBox rngRowsToDeleteAndClear.Address
rngRowsToDeleteAndClear.EntireRow.Clear
rngRowsToDeleteAndClear.EntireRow.Delete
.UsedRange
MsgBox .UsedRange.Address
End With
我从上面的代码块中得到以下 Msgbox 结果:
- $A$1:$N$11
- $O$1:$XFD$1
- 11 澳元:1048576 澳元
- $A$1:$N$11
我期望上述代码块的以下 Msgbox 结果:
- $A$1:$N$11
- $O$1:$XFD$1
- 11 澳元:1048576 澳元
- $A$1:$N$10
我还能尝试什么?
解决方案
我最近在电子表格上遇到了 UsedRange 的问题,我无法删除/清除单元格并重置 UsedRange。我找到的解决方法是选择所有未使用的行/列,更改它们的大小,现在删除单元格,保存电子表格,然后重置 UsedRange ...也许这会对您有所帮助?
推荐阅读
- javascript - 调整大小
- android - 但实际上,AndroidX 分页库如何知道何时加载更多页面?
- oracle - Oracle 中的 CREATE TABLE 语句与存在性检查
- vuetify.js - 覆盖使用另一个变量的 vuetify sass 变量
- python - Imagemagick 的 Python 子进程格式化问题
- java - 对调用 UDP 服务器的函数进行单元测试的最佳方法是什么
- reactjs - 从 POST 请求响应下载原始 PDF
- database - 如何解决磁盘和堆栈的组合数学问题?
- html - CSS 文本转换仅在 HTML 输入具有“必需”标签时有效
- r - 为什么我在 R 的这个计算中得到 NA?