在VBA中,你可以通过以下代码来选择表1(Sheet1)中A列从第一个单元格到最后一个有公式且非空的单元格: ```vba Sub SelectNonEmptyFormulaCells() Dim ws As Worksheet Dim lRow As Long ' 设置工作表为Sheet1 Set ws = ThisWorkbook.Sheets("Sheet1") ' 找到A列最后一个有公式且非空的单元格所在的行号 lRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Do While ws.Cells(lRow, "A").Value <> "" And ws.Cells(lRow, "A").HasFormula lRow = lRow - 1 Loop lRow = lRow + 1 ' 选择A列从第一个单元格到找到的单元格范围 ws.Range("A1:A" & lRow).Select End Sub ``` 这段代码首先设置活动工作表为"Sheet1",然后查找A列最后一个非空单元格(`.End(xlUp)`),然后逐行向上检查是否有公式,直到找到第一个既非空又包含公式的单元格。选择从A1到这个单元格的整个范围。 注意:上述代码假设你的数据是从第一行开始的,并且最后一行是既有内容又有公式的单元格。如果实际情况不同,请适当调整代码逻辑。 [2024-01-12 16:45:31 | AI写代码神器 | 304点数解答]