Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用vba将数字拆分为不同的列_Vba_Excel_Excel Formula - Fatal编程技术网

使用vba将数字拆分为不同的列

使用vba将数字拆分为不同的列,vba,excel,excel-formula,Vba,Excel,Excel Formula,这是我的excel表格: 我需要将数字拆分为旁边的列,而不需要拉止损,我是VBA新手,请您建议我如何编写代码 我想使用宏录制将数据输入到这样的列中,我得到了下面的代码。您可以根据需要进行自定义。希望它对你有用 Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=

这是我的excel表格:

我需要将数字拆分为旁边的列,而不需要拉止损,我是VBA新手,请您建议我如何编写代码


我想使用宏录制将数据输入到这样的列中,我得到了下面的代码。您可以根据需要进行自定义。希望它对你有用

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
    :=".", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
    1)), TrailingMinusNumbers:=True

我想你需要这样的东西

Sub SplitStuff()
'Update 20140318
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng In InputRng
    xValue = Rng.Value
    xRow = Rng.Row
    For i = 1 To VBA.Len(xValue)
        OutRng.Cells(xRow, i).Value = VBA.Mid(xValue, i, 1)
    Next
Next
Application.ScreenUpdating = True
End Sub
或使用此功能;加油,然后向右加油

=MID($A1, COLUMNS($A$1:A$1), 1)

变暗Rng作为范围,B作为范围 尺寸x为整数,H为整数

Set Rng = ThisWorkbook.Sheets(2).Range("B1:B220")

x = 1
For Each c In Rng
    For y = 1 To Len(c.Value)
        Rng(c.Row, x) = Mid(c.Value, y, 1)
        x = x + 1
    Next y
    x = 2
Next c
这对我有用。。
谢谢

你为什么用Java做标记?我想你对谷歌并不陌生。试着在谷歌上搜索“用vba将数字拆分成不同的列”,并从中获得一些编写代码的灵感。然后,如果您遇到问题,请带着您的代码及其问题回到这里使用
上的
split()
获取一个值数组,然后将每个数组填充到相邻的列中。可能还需要使用
trim()
删除前面的空格。我尝试过谷歌搜索,但它展示了如何将十进制数转换成整数。。我也尝试过用文字来编辑专栏。。