在表格上创建了一个宏,其中的行会根据输入的内容自动扩展。我正在处理的 D 列的原始范围是 D2:D12。在某些情况下,范围会超出 D12。为了排序,保留此范围很重要。运行宏来复制所有单元格(包含公式),包括 D12 以外的单元格,并将它们粘贴回值,excel 将拒绝操作,指出某些值超出范围(D2:D12)。是否可以覆盖所有可能的范围?它不允许我使用 D:D,指出某些值超出范围
Sub FORMULA_to_value()' ' FORMULA_to_value 宏'
' 如果 MsgBox("您确定测试已完成,因为您无法撤消此操作?", vbYesNo) = vbNo 则 Exit Sub Range("D2:D15").Select Selection.COPY Selection.PasteSpecial paste:=xlPasteValues End Sub
如果单元格 D13 有值,则可以执行该宏,因为它在“表格”之外。我需要它具有灵活性以适应行扩展
答案1
试试这个:添加这两行代码:
dim MyAddr as string
MyAddr = activesheet.range("D2:D" & Activesheet.cells(rows.count, 4).end(xlup).row).address
然后用 MyAddr(没有引号)替换“D2:D12”。