我正在创建一个简单的 Excel 电子表格用于表格数据输入(使用“格式化为表格”选项创建的表格 - 几列,可能有数百行)。我希望表格的最后一行始终为空白并准备好数据输入(否则我看不到下拉列表)。我很确定我以前见过这种情况,但我无法复制。有想法我该怎么做吗?最好不用 VBA。
答案1
最简单的方法通常是提前扩展表格的大小,以容纳您认为需要的行数。排序和公式将继续按预期工作。
- 选择您的桌子
- 在表格工具/设计菜单中,单击调整表格大小并指定更长的范围。
或者,手动方式是选择表格中的最后一行并执行“在下方插入行”(或使用右下角单元格中的小箭头)。如果您愿意,可以使用 VBA 自动执行此操作,尽管我通常发现扩展表格同样有效,并且使最终用户更容易处理。
答案2
嗯,从您输入数据的最后一行的最后一个单元格中跳出应该会自动在表格中添加一个新的空白行。这仅在您没有总计行时才有效。
可以想象,您希望在最后一行开始编辑时而不是完成编辑时创建新的空白行,但我还没有找到实现这一点的方法。
答案3
我不知道没有 VBA 的方法,但以下内容取自脚本专家博客在 TechNet 上。您应该参考博客文章来了解如何使用它,但这是我目前知道的最好的方法。
Const xlCellTypeLastCell = 11
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\Test.xls")
Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Activate
Set objRange = objWorksheet.UsedRange
objRange.SpecialCells(xlCellTypeLastCell).Activate
intNewRow = objExcel.ActiveCell.Row + 1
strNewCell = "A" & intNewRow
objExcel.Range(strNewCell).Activate