您可以使用VBA编程将选择的一列数据按照指定的数量分成多列。以下是一个示例代码,假设您选择的数据在Sheet1的A列中,要分成的列数在TextBox5中指定:
Sub 分列()
    Dim srcRange As Range
    Dim destRange As Range
    Dim colNum As Integer
    Dim rowNum As Integer
    Dim totalRows As Integer
    Dim i As Integer
    
    ' 获取选择的数据范围
    Set srcRange = Selection
    
    ' 获取要分成的列数
    colNum = TextBox5.Value
    
    ' 计算行数
    totalRows = srcRange.Rows.Count
    
    ' 计算每列的行数
    rowNum = Application.WorksheetFunction.RoundUp(totalRows / colNum, 0)
    
    ' 清空目标区域
    Sheet1.Range("B1").Resize(rowNum * colNum, colNum).ClearContents
    
    ' 将数据分列
    For i = 1 To colNum
        Set destRange = Sheet1.Cells(1, i + 1).Resize(rowNum, 1)
        srcRange.Offset((i - 1) * rowNum).Resize(rowNum).Copy destRange
    Next i
End Sub
请将以上代码复制到您的VBA编辑器中,并将其与您的用户界面(如按钮或菜单)关联。在用户选择要分列的数据后,点击按钮或执行相应的操作即可实现将数据按指定数量分列的功能。
注意:在使用代码之前,请确保已将要操作的工作表和单元格范围正确设置为您的实际情况。此外,您还需要确保TextBox5控件存在并包含有效的分列数量。
希望对您有所帮助!如果您有任何其他问题,请随时提问。