Tag: 区域

Excel VBA将打印区域设置为数据的最后一行

我有一个Excel表格,其中列A到K被填满,第一行是标题行。 1-1000行被格式化(边界),A列包含一个公式,当列F中的数据被input时,自动对这些行进行编号。 工作表“CR”受到保护,以防止用户在列A(locking)中input数据。 使用Workbook_BeforePrint函数,我试图将打印区域设置为A到K列和包含数字的列A的最后一行。 我的代码(在对象“ThisWorkbook”)如下所示: Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim ws As Worksheet Dim lastRow As Long Set ws = ThisWorkbook.Sheets("CR") ' find the last row with data in column A lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row ws.PageSetup.PrintArea = ws.Range("A1:K" & lastRow).Address End Sub 但是,当我单击文件 – >打印时,列A到K的范围直到行1000被显示,而不是仅列A中具有数字的行。我在做什么错了?

在Excel VBA中获取工作表区域的大小

我需要Excel VBA中的工作表区域的像素宽度和高度。 这是工作表中单元格显示的区域。 因此它必须排除所有其他Excel UI元素。 我试图使用GetSystemMetrics和SystemParametersInfo但没有find解决scheme。

查找包含单元格的一组区域的algorithm

我正在处理一些电子表格数据,我有一组具有任意边界的单元格区域。 给定任何单元格,确定包含单元格的区域子集的最快方法是什么? 目前,我所能做的最好的是对主要sorting字段作为区域起始行索引,接着是结束行索引,起始列索引,然后结束列索引。 当我想要根据给定的单元格进行search时,我将对二进制search到的第一个区域的起始行索引位于单元格的行索引之后,然后检查所有区域之前是否包含该单元格,但这样太慢。