excel - 如何删除单元格开头和结尾的空格?
问题描述
我的电子表格中有一个导入的 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
推荐阅读
- ios - 如何防止ios在后台关闭程序?
- c# - 甚至 Visual Studio 的项目模板在构建时都会静默失败,但在 VS 中可以正常工作吗?
- android - 如果我将从 Api 获得移动意图,如何在 android studio 的包中找到类名
- azure - 比较两个 csv 文件,得到 Newly added , Deleted , same/No change , Migrated 的数据
- microsoft-graph-api - 在 Azure Durable Function 中读取图形用户
- ios - ios中的障碍,如android ConstraintLayout
- android - 错误:A RenderFlex 底部溢出 99524 像素
- apache-spark - 使用 Spark 引擎执行 SQL 时如何在 hive UDF 中获取 Spark 的 partitionId 或 taskContext?
- prolog - Prolog:为什么输出根据他们拥有的孩子数量显示相同数量的输出
- reactjs - 如何在子组件发出 POST 请求后立即从父组件渲染?