【问题标题】:Pasting Split Data From Column B into Columns D & E将 B 列中的拆分数据粘贴到 D 列和 E 列中
【发布时间】:2016-08-30 20:44:47
【问题描述】:

在 B 列中有 5 个字符的项目代码 + 项目描述。 我设法制作了一个宏,将 B 列中的 5 个字符项目代码复制/粘贴到 D 列中,并将项目描述复制/粘贴到 E 列中。

例子:

          Column B              Column C  Column D     Column E
XX787 DO BOLOGNESE 2X2.28KG FR   <other>    XX787    DO BOLOGNESE 2X2.28KG FR

我面临以下问题:

  • 例如,大约 1% 的商品代码不是 5 个字符而是 8 个字符
  • 8个字符中存在的这个百分比是数字,以0开头

如您所见,最后 2 个是具有不同格式的项目代码示例,即使数量很少,当然也必须考虑在内。

所以在我目前的编码中,会出现以下问题:

我认为宏应该执行以下操作以使其正常工作:

对于 D 列中的项目代码:复制/粘贴 B 列第一个空格之前的所有字符 对于 E 列中的项目描述:复制/粘贴第一个空格后的所有字符

我目前为此运行的代码如下:

Sub Seperate_Item_Code_And_Description_Code()
    'Copy/paste the item codes and descriptions from column B to column D and E seperately

    Range("B12").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=Range("D12"), DataType:=xlFixedWidth, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    FieldInfo:=Array(Array(0, 1), Array(6, 1)), TrailingMinusNumbers:= _
    True
End Sub

【问题讨论】:

    标签: vba excel split


    【解决方案1】:

    试试这个编码和条件文本到列。

    Option Explicit
    
    Sub wqewtrqw()
        Dim s As Long, a As Long, aVALs As Variant
    
        With Worksheets("Sheet5")
            aVALs = .Range(.Cells(12, "B"), .Cells(.Rows.Count, "B").End(xlUp)).Value2
            ReDim Preserve aVALs(LBound(aVALs, 1) To UBound(aVALs, 1), 1 To 2)
            For a = LBound(aVALs, 1) To UBound(aVALs, 1)
                s = InStr(1, aVALs(a, 1), Chr(32))
                aVALs(a, 2) = Mid(aVALs(a, 1), s + 1)
                aVALs(a, 1) = Left(aVALs(a, 1), s - 1)
            Next a
            .Cells(12, "D").Resize(UBound(aVALs, 1), UBound(aVALs, 2)) = aVALs
        End With
    End Sub
    

    【讨论】:

    • 我收到以下错误:订阅超出范围非常感谢您的快速帮助
    • 您是否更改了要处理的工作表的名称?
    • 是的,我做到了。为什么? :)
    • 可以在Skype上加你吗?我需要一些进一步的帮助来使用 VBA 宏自动化 Vlookuo。我不想让我的老板失望,否则我可能会被解雇,即使他是一个非常好的人.. 我什至愿意支付.. 通过贝宝或银行 idk... 听起来很戏剧化,但这份工作很重要,我不想丢了
    • 我现在不能承诺这样的事情。我建议您在StackOverflow Jobs 中发布您的要求。
    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2017-11-20
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    相关资源
    最近更新 更多