use*_*251 2 excel vba excel-vba
我正在尝试使用宏将文本转换为列,但我无法做到,我已经尝试记录一个宏来实现这一点,但是我遇到了一些问题,因为文本到列VBA函数需要一个选择,有没有一种方法我可以用dinamically选择让我们说范围A7:A50000?甚至更好的A7:lastnonempty细胞?
谢谢,
仅供参考,分隔符并不重要,因为我需要这样做才能将文本转换为公式
这是我的代码
Range("O6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("O6"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Run Code Online (Sandbox Code Playgroud)
chr*_*sen 11
试试这个
Sub Txt2Col()
Dim rng As Range
Set rng = [C7]
Set rng = Range(rng, Cells(Rows.Count, rng.Column).End(xlUp))
rng.TextToColumns Destination:=rng, DataType:=xlDelimited, ' rest of your settings
Run Code Online (Sandbox Code Playgroud)
更新:按钮单击事件以在另一个工作表上执行操作
Private Sub CommandButton1_Click()
Dim rng As Range
Dim sh As Worksheet
Set sh = Worksheets("Sheet2")
With sh
Set rng = .[C7]
Set rng = .Range(rng, .Cells(.Rows.Count, rng.Column).End(xlUp))
rng.TextToColumns Destination:=rng, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=False, _
Semicolon:=False, _
Comma:=True,
Space:=False,
Other:=False, _
FieldInfo:=Array(Array(1, xlGeneralFormat), Array(2, xlGeneralFormat), Array(3, xlGeneralFormat)), _
TrailingMinusNumbers:=True
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
注意.'s(例如.Range)它们引用With语句对象
| 归档时间: |
|
| 查看次数: |
109693 次 |
| 最近记录: |