excel - Excel VBA 将值添加到与特定标题匹配的整个列
问题描述
所以我需要将 2021 添加到我的工作表的评估年份列中,但范围不断突破
LastRow 正在返回正确的值,但我无法弄清楚为什么范围不起作用
Sub AutoFill()
Dim rFind As Range
Dim ColumnLetter As Variant
Dim ColumnNumber As Variant
Dim LastRow As Variant
Dim Fill As Range
With Range("A1:P1")
Set rFind = .Find(What:="AssessmentYear", LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not rFind Is Nothing Then
ColumnNumber = rFind.Column
ColumnLetter = Split(Cells(1, ColumnNumber).Address, "$")(1)
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox ColumnLetter
MsgBox LastRow
Cells(LastRow, ColumnNumber).Value = "Here"
Range("ColumnLetter & 2 : ColumnLetter & LastRow").Value = "2021"
End If
End With
End Sub
我不断收到方法全局失败错误
解决方案
问题是 VBA 将“ColumnLetter & 2 : ColumnLetter & LastRow”视为字符串,实际上并未使用变量 ColumnLetter 或 LastRow。只需将其更改为以下内容,它应该可以正常工作。
Range(ColumnLetter & "2 : " & ColumnLetter & LastRow).Value = "2021"
推荐阅读
- dart - 如何在飞镖中获取当前进程的当前pid?
- parsing - 如何最好地解析 PEG 语法中的逗号分隔列表
- python - SQLite 自动创建列
- python - 在没有 IP 的情况下通过以太网进行写入和路由
- react-native - 世博会:升级到世博会 SDK 33 后的 Lotties 异常
- angular - 使用 Ionic 中的行为主题处理来自 Firestore 的 http 响应后,生成的对象类型与指定的类型不同
- redirect - 如何在 Masonite 中进行永久重定向
- c++ - 在 C++ 中查找函数
- c# - c#从另一个winforms关闭winforms
- r - dplyr summarise_all 出现异常的、无信息的错误:“错误:不期待这个”?