我的电子表格中有一个导入的 CSV。当我运行刷新宏时,它会在每个单元格的开头和结尾添加一个空格。
我试图通过使用相同的宏修剪单元格开头和结尾处的所有空格(而不是介于两者之间)来补救它。
在单个单元格上执行此操作没有问题
Range("F10").Value = Trim(Range("F10").Value)
在一个范围内它什么都不做,没有错误信息,只是没有反应
Dim cell As Range, areaToTrim As Range
Set areaToTrim = Sheet1.Range("A6:J10")
For Each cell In areaToTrim
cell.Value = Trim(cell.Value)
Next cell
实际上,我不希望它是 A6 到 J10,我只是把它放进去看看它是否适用于一个范围。我希望它是 A6 到 J 最后一行。所以我希望我的最终代码是
Dim lastrowindex As Long
lastrowindex = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
Dim db_range_start As String
Dim db_range_end As String
db_range_start = "A6"
db_range_end = "J" & lastrowindex
db_range_region = db_range_start & ":" & db_range_end
Dim db_range As Range
Set db_range = Range(db_range_region)
Dim cell As Range, areaToTrim As Range
Set areaToTrim = Sheet1.Range(db_range)
For Each cell In areaToTrim
cell.Value = Trim(cell.Value)
Next cell
但这会抛出一个
对象范围的方法值失败。
下面怎么样,只是拿你的代码并简化它,因为你声明db_range
为一个范围,然后尝试使用它来指定范围,使用Sheet1.Range(db_range)
它将接受一个字符串而不是一个范围:
Sub Trim_Range()
Dim ws As Worksheet: Set ws = Sheet1
Dim LastRow As Long
Dim c As Range
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For Each c In ws.Range("A6:J" & LastRow)
c.Value = Trim(c.Value)
Next c
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句