gpt4 book ai didi

excel - 根据单元格值复制或复制数据行

转载 作者:行者123 更新时间:2023-12-04 20:41:13 24 4
gpt4 key购买 nike

我正在尝试以一种可以节省无数小时繁琐数据输入时间的方式自动化 Excel。这是我的问题。

我们的摩托车零件可以安装在许多不同年份的车型上。我正在使用的文件有一个单元格中的年份列表。这些年可能是连续的,也可能不是连续的。它们之间用“,”隔开。我需要一种方法来查看列出了多少年并重复该行数据的次数。

我还需要它为每一行只提供一年。在下面的示例中,最后一列是 FITMENT YEARS;如您所见,它有 3 个不同的年份,每个年份用逗号分隔。在这种情况下,只有 3 年,可能是 10 年,也可能只是一年。

这是我所拥有的一行:

P/N Make    Mfg Model   Year Span   Fitment Years
881612 Aprilia 881965 1000 RSV4 - (SACHS) 10-12 2010, 2011, 2012

这就是我需要它列出的方式:

P/N Make    Mfg Model   YearSpan    Fitment Years
881612 Aprilia 881965 1000 RSV4 - (SACHS) 10-12 2010
881612 Aprilia 881965 1000 RSV4 - (SACHS) 10-12 2011
881612 Aprilia 881965 1000 RSV4 - (SACHS) 10-12 2012

我真的需要别人的帮助。我迷失了如何进行。谢谢

最佳答案

试试这个。

将以下例程放入标准代码模块并运行它。

重要提示:这会就地替换您的数据,因此请确保在运行此之前您有一份副本。

Sub Jnowell()
Dim c&, n&, v, y
With [a2]
c = 1
Do
If Len(.Item(c)) Then
y = Split(.Item(c, 4), ", ")
If UBound(y) Then
.Item(c)(2).Resize(UBound(y), 4).Insert xlDown
v = .Item(c).Resize(, 4)
.Item(c, 4) = y(0)
For n = 1 To UBound(y)
.Item(c)(n + 1).Resize(, 4) = v
.Item(c, 4)(n + 1) = Left$(y(0), Len(y(0)) - 4) & y(n)
Next
End If
Else
Exit Do
End If
c = c + 1
Loop
End With
End Sub

注意:此例程假定您的数据位于当前事件工作表的 A、B、C 和 D 列中。

关于excel - 根据单元格值复制或复制数据行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com