我希望能够使用 VBA 代码执行以下操作:
但是,当我运行代码时,只有功能UseLineFeedCharacter
在起作用,并且它将所有单元格替换为新内容。
我不知道是否是因为我没有将这两个子过程链接在一起。谢谢您的帮助!!! 我的代码是这样的:
Sub UseLinefeedCharacter()
Dim str As String
str = "Line 1" & vbLf & "Line 2" & vbLf & "Line 3"
With [a1]
.Value = str
.Columns.AutoFit
.Rows.AutoFit
End With
End Sub
Sub qwerty()
Dim rng As Range, r As Range, rSel As Range
Set rng = Range("B2:C7")
Set rSel = Nothing
For Each r In rng
If r.Value <> "" Then
If rSel Is Nothing Then
Set rSel = r
Else
Set rSel = Union(rSel, r)
End If
End If
Next r
If Not rSel Is Nothing Then rSel.Select
End Sub
答案 0 :(得分:1)
有几种方法可以完成此任务。
您可以创建另一个调用这两个过程的例程:
Sub Main
UseLinefeedCharacter
qwerty
End Sub
您将只运行Main
,或者您可以从第一个Sub调用另一个Sub。
Sub UseLinefeedCharacter()
Dim str As String
str = "Line 1" & vbLf & "Line 2" & vbLf & "Line 3"
With [a1]
.Value = str
.Columns.AutoFit
.Rows.AutoFit
End With
qwerty '<-- Called qwerty sub
End Sub
这显然取决于每个子程序的范围。如果其中一个位于另一个模块中并且是Private Sub
,则此方法将无效。