Excel VBA将单元格拆分为多个单元格

奇迹警告

下午好,

我在学习 VBA 的过程中遇到了一个大问题。目前,我的数据(如下)在一个结构中,有时包含属于单个零件的多个序列号。

我有一个我编写的 VBA 宏,它导入这些数据并为单独的程序适当地格式化它。但是,我正在开发一个子程序,它可以让我通过并分隔这些由逗号分隔的序列号。

例如: 宏之前

但是,我希望它看起来像这样: 宏之后

我在这个网站上找到了一些代码(使用 Vb 代码将单元格拆分为多行),这有帮助,但我遇到了问题:这是我所拥有的

Sub SplitSerial()
    Dim SN As String
    Dim i As Integer
    Dim numArray()

    SN = ActiveCell.Value
    numArray = Split(SN, " ")
    For LBound(numArray) To UBound(numArray)
        Cells(1, i + 1).Value = numArray(i)
        MsgBox numArray(i)
    Next i
End Sub

问题是,这个电子表格可以得到非常大(5,000+)行,所以我不知道如何让它循环遍历列,如果它有一个“,”,拆分序列号但复制值剩余的细胞。

任何指导、建议或指导将不胜感激。我正在非常努力地学习 VBA。

SJR

试试这个,它使用数组所以应该加快速度。添加了一些注释以简要说明代码的作用。

Sub x()

Dim v, vOut(), i As Long, j As Long, k As Long, w

v = Sheet1.Range("A1").CurrentRegion.Value  'assumes starting data in A1 of sheet1
ReDim vOut(1 To UBound(v, 1) * 10, 1 To 3)  'output array, assumes no more than 10 serial numbers for each part

For i = LBound(v, 1) To UBound(v, 1)
    w = Split(v(i, 2), ",")         'split serial number by comma
    For j = LBound(w) To UBound(w)  'for each serial number
        k = k + 1
        vOut(k, 1) = v(i, 1)        'repeat part number
        vOut(k, 2) = w(j)           'add particular serial number
        vOut(k, 3) = v(i, 3)        'repeat price
    Next j
Next i

Sheet2.Range("A1").Resize(k, 3) = vOut  'output to A1 of sheet2.

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel Vba 将多个单元格拆分成列

来自分类Dev

Excel VBA-将单元格字符串拆分为单个单元格并将单元格复制到新工作表

来自分类Dev

为什么将文本粘贴到Excel中将其拆分为多个单元格?

来自分类Dev

为什么将文本粘贴到Excel中将其拆分为多个单元格?

来自分类Dev

Excel VBA选择多个单元格

来自分类Dev

Excel VBA - 将一个单元格拆分为 1000 块并将它们复制到不同的单元格中

来自分类Dev

在Excel中将单元格内容拆分为多个单独的行

来自分类Dev

功能excel,用于将单元格,vlookup拆分为列和并置

来自分类Dev

根据模式将文件拆分为单独的Excel单元格

来自分类Dev

如何将单元格中的数据拆分为 Excel 上的现有列?

来自分类Dev

Excel 将多行单元格拆分为整个表格的行

来自分类Dev

如何使用Excel VBA拆分和重组单元格

来自分类Dev

Excel VBA单元格自动前进子拆分词

来自分类Dev

在 Excel 单元格中使用 VBA 拆分单词

来自分类Dev

将多个excel中的固定单元格获取到新的单元格

来自分类Dev

VBA Excel:获取多个单元格的结果

来自分类Dev

Excel VBA:使用公式自动填充多个单元格

来自分类Dev

Excel VBA根据选择来选择多个单元格

来自分类Dev

Excel-多个行单元格

来自分类Dev

Excel VBA清除活动单元格

来自分类Dev

EXCEL VBA替换单元格的内容

来自分类Dev

Excel VBA:选定的单元格循环

来自分类Dev

Excel VBA重现单元格的值

来自分类Dev

Excel VBA:匹配单元格颜色

来自分类Dev

VBA:更改Excel单元格宽度

来自分类Dev

VBA Excel单元格值是“ not” NULL

来自分类Dev

VBA Excel中的单元格范围

来自分类Dev

VBA:更改Excel单元格宽度

来自分类Dev

Excel VBA清除活动单元格

Related 相关文章

热门标签

归档