gpt4 book ai didi

vba - 列出两个值之间的名称和数字

转载 作者:行者123 更新时间:2023-12-04 21:11:34 24 4
gpt4 key购买 nike

我一直在谷歌搜索,但我无法以任何方式使这个工作。

我有一个包含很多名称的三列(名称、值 1、值 2)的表。
我需要一个 vba 来列出值 1 和 2 之间的所有数字,包括它们及其各自的名称。

例如对于 A 行, 3000, 3003 将行 A, 3000;一,3001;一,3002; A, 3003 然后继续下一个名称并将该名称的范围拆分为单独的数字。

这甚至可能吗?

太感谢了。

最佳答案

我基于一个数组编写了一个来收集然后传输值。

Sub expandValues()
Dim i As Long, j As Long, arr As Variant

With Worksheets("sheet5")
.Cells(1, "E").Resize(1, 2) = Array("Name", "Value")

For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
ReDim arr(.Cells(i, "B").Value2 To .Cells(i, "C").Value2, 1 To 2)
For j = LBound(arr, 1) To UBound(arr, 1)
arr(j, 1) = .Cells(i, "A").Value2
arr(j, 2) = j
Next j
.Cells(.Rows.Count, "E").End(xlUp).Offset(1, 0). _
Resize(UBound(arr, 1) - LBound(arr, 1) + 1, UBound(arr, 2)) = arr
Next i
End With

End Sub

enter image description here

Addendum:

这是您的,带有一个外部循环来处理行。
Sub FillIN()
Dim stri As Long, endi As Long
Dim nm As string, i as long, j as long

with workSheets(1)
For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
nm = .Cells(i, "A").Value
strti = .Cells(i, "B").Value
endi = .Cells(i, "C").Value

For j= strti To endi
.Cells(.Rows.Count, "E").End(xlUp).Offset(1, 0) = nm
.Cells(.Rows.Count, "E").End(xlUp).Offset(0, 1) = j
Next j
next i
end with

End Sub

关于vba - 列出两个值之间的名称和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51166200/

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