VBA Excel 列拆分

本人初次学习所写,有不好的地方还请指教

'    列拆分,并按照“|”来拆分,如果某列表头中包含“|”则进行拆分,否则不进行拆分

'    【数据替换数值版】中的数据Copy到该Sheet中
    Dim cSplit As Integer, cSplitName As String, stNewColumnsSplit As Worksheet
    
    Application.StatusBar = "正在处理列拆分"
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    stReplaceTextVersion.Activate
    stReplaceTextVersion.Copy After:=stReplaceTextVersion
    Set stNewColumnsSplit = ActiveSheet
    stNewColumnsSplit.Name = "列拆分" 'stConfigColumnsSplit.Name
    For cSplit = 1 To stNewColumnsSplit.UsedRange.Columns.Count
        cSplitName = stNewColumnsSplit.UsedRange.Cells(1, cSplit)
        If InStr(cSplitName, "|") > 0 Then
            stNewColumnsSplit.Columns(cSplit).Offset(, 1).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove '该列的右侧插入一列
            stNewColumnsSplit.Columns(cSplit + 1).Offset.Interior.Color = xlNone
            stNewColumnsSplit.Columns(cSplit).Select '选中需要拆分的列,然后进行拆分
            Selection.TextToColumns Destination:=Columns(cSplit), 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)), TrailingMinusNumbers:=True
            stNewColumnsSplit.UsedRange.Cells(1, cSplit + 1).Interior.Color = stNewColumnsSplit.UsedRange.Cells(1, cSplit).Interior.Color
        End If
    Next cSplit
    stNewColumnsSplit.UsedRange.Font.Name = "Arial"  '设置该Sheet字体样式
    stNewColumnsSplit.Cells.EntireColumn.AutoFit
    stNewColumnsSplit.UsedRange.Select
    
    Application.StatusBar = ""
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值