excel - Excel VBA 在大型数据集中定义特定范围
问题描述
我有一个不断更新的电子表格,为了跟踪更新,我想在 AL 列中插入一个公式,该列从说明页面中提取一个数字,我希望将该公式转换为一个值,这样它就不会t 不断变化(每次更新工作表时,此数字都会更改)。
问题是,我不知道如何定义我的范围 - 我的代码可以工作,它会粘贴数据、插入公式,然后仅将其转换为一个值。但它对整个列执行此操作,因为它在 AL1 中定义。我想为上一个最后使用的行定义它,然后粘贴新数据后,我希望它停止在新数据的最后使用的行处。我不太确定我的解释是否有意义,所以如果您有任何问题或想法,请告诉我如何做到这一点!谢谢 :)
With ThisWorkbook
With .Sheets("ABC")
.Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial
lrFormula = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
Set Period = .Range("AL1:AL" & lrPPV)
Period.Formula = "=Instructions!$E$33"
Period.Value = Period.Value
End With
End With
解决方案
尝试:
Dim Lastrow As Long
With ThisWorkbook
With .Sheets("ABC")
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row 'Lastrow before paste
.Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial
lrFormula = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
Set Period = .Range("AL" & Lastrow & ":AL" & lrPPV)
Period.Formula = "=Instructions!$E$33"
Period.Value = Period.Value
End With
End With
推荐阅读
- reactjs - 使用钩子导航到另一个页面后,如何删除先前位置的反应路由器位置状态?
- javascript - 如何从搅拌机 GLTF 形状键更新 threejs 变形目标
- javascript - 获取浏览器控制台以在 javascript 文件中显示文件名 + 行号
- java - 如果我知道文件字符串名称,如何访问 R.file?
- python - 如何在 np.where() 的数据框中检查列表中的空元素?
- arduino-uno - 想通过 MAX485 使用 Arduino Uno 读取 VFD 的输出频率
- python - 用 Python 构建图
- ios - 在没有动画的情况下执行 UICollectionView reloadData
- sql-server - 在 SSIS 项目中进行 ETL 过程时,如何在 SCD 转换中映射 varchar(max) 列?
- javascript - 组件在反应钩子中多次重新渲染