【发布时间】:2018-04-28 12:28:20
【问题描述】:
作为我问的最后一个问题的扩展,我正在尝试在所有工作表中运行一个宏,你们成功地帮助我做到了。 我被告知无法对工作表名称进行硬编码,因此我将不得不修改我当前的解决方案。
Sub RemoveCarriageReturns()
Dim MyRange As Range
Dim NameList() As Variant
NameList = Array("OTCUEXTR", "OTFBCUDS", "OTFBCUEL")
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 0 To 2
With Worksheets(NameList(i))
For Each MyRange In .UsedRange
If 0 < InStr(MyRange, Chr(10)) Then
MyRange = Replace(MyRange, Chr(10), "")
End If
Next MyRange
End With
Next i
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
我试图用一个 For 循环来填充数组,该循环收集每个工作表的名称,但是我觉得在 2 天后茫然地盯着这个,我有限的 VBA 知识已经用完了,我被困住了,我真的很感激有关如何使此宏在数量和名称可能发生变化的工作表范围内工作的指针。
很高兴在评论中提供您需要的更多信息
【问题讨论】:
-
您是指工作簿中的所有工作表,还是选择?
-
@sjr 所有的工作表。