gpt4 book ai didi

vba - 删除空格 vba Excel

转载 作者:行者123 更新时间:2023-12-04 21:54:02 25 4
gpt4 key购买 nike

我想删除一个范围内的所有空格并得到以下代码

Dim rng2 As Range
Dim cleanString2 As String
Set rng2 = ContactData.Range("AR2:AR" & lRow)
rng2.Value = Application.Trim(rng2)
For j = 2 To lRow
cleanString2 = ContactData.Range("AR" & j).Value
cleanString2 = Replace(cleanString2, Chr(10), "")
ContactData.Range("AR" & j).Value = cleanString2
Next j

我得到了具有相同变量和所有内容的等效代码 没有 2 变量名 该代码有效,但其他代码适用于列 一个 而不是 应收账款 ,有人可以帮我找到错误吗?
谢谢!
Dim rng As Range
Dim cleanString As String
Set rng = ContactData.Range("A2:A" & lRow)
rng.Value = Application.Trim(rng)
For i = 2 To lRow
cleanString = ContactData.Range("A" & i).Value
cleanString = Replace(cleanString, Chr(10), "")
ContactData.Range("A" & i).Value = cleanString
Next i

这是工作代码,在调试时变量值的图片下方:

Debugging Code

最佳答案

您可以一次替换所有空格,而不是逐行执行。

您发现的问题是您引用了不同的范围。
原始代码指出:Set rng = ContactData.Range("A2:AR" & lRow)
您的代码有:Set rng = ContactData.Range("A2:A" & lRow) - 缺少对列 AR 的引用.

您可以使用以下代码删除空格( Chr(32 )。正如@Rory 所说 - Chr(10) 是换行符。

Sub Test()

Dim rng As Range
Dim lRow As Long

lRow = 15
Set rng = ContactData.Range("A2:AR" & lRow)

rng.Replace What:=Chr(32), Replacement:="", LookAt:=xlPart

End Sub

关于vba - 删除空格 vba Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48619282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com