Python Excel VBA MACBOOK-分隔行值到堆叠的2列
我一直在寻找这个问题的答案,并找到了多种解决方案,这些解决方案不适用于我的Excel for Mac v16.33 2020版本 1.使用不兼容的电源查询 2.我在这里遵循了这个链接:它使用Scripting.Dictionary,但在使用它时,我不断得到错误:运行时错误'429'Active X无法创建对象 3.我从下载了更新的Dictionary.cls和KeyValuePair.cls 4.将代码更新为:Set dAttributes=New Dictionary后 Set dValues=New Dictionary我得到一个错误,因为k为空:对于dic中的每个k 问题: 我有一个两列分隔值列表,我必须将它们放在excel上的一个堆叠列中。要保留在左列的标识符。这样做的原因是我们使用的程序需要项目ID标题,每个相关的产品URL需要一行 例如: A列| B列 项目1 | a.jpg、b.jpg、c.jpg 项目2 | a.jpg、b.jpg、c.jpg 需要: A列| B列 项目1 | a.jpg 项目1 | b.jpg 项目2 | a.jpg 项目2 | b.jpg 项目和图像的值都不同。有数百行和值,因此手动复制粘贴以转置不是可行的选择 目前我的代码是:我被卡住了。请评论修复此问题的步骤。我尝试了建议的链接,但没有任何效果Python Excel VBA MACBOOK-分隔行值到堆叠的2列,python,excel,vba,Python,Excel,Vba,我一直在寻找这个问题的答案,并找到了多种解决方案,这些解决方案不适用于我的Excel for Mac v16.33 2020版本 1.使用不兼容的电源查询 2.我在这里遵循了这个链接:它使用Scripting.Dictionary,但在使用它时,我不断得到错误:运行时错误'429'Active X无法创建对象 3.我从下载了更新的Dictionary.cls和KeyValuePair.cls 4.将代码更新为:Set dAttributes=New Dictionary后 Set dValues
Sub ttt()
Dim dic As Object:
Set dAttributes = New Dictionary
Set dValues = New Dictionary
Dim x&, cl As Range, rng As Range, k, s
Set rng = Range([C1], Cells(Rows.Count, "C").End(xlUp))
x = 1 'used as a key for dictionary and as row number for output
For Each cl In rng
For Each s In Split(cl.Value2, ",")
dic.Add x, Cells(cl.Row, "A").Value2 & "|" & _
Cells(cl.Row, "B").Value2 & "|" & LTrim(s)
x = x + 1
Next s, cl
For Each k In dic
Range(Cells(k, "A"), Cells(k, "C")).Value2 = Split(dic(k), "|")
Next k
End Sub
这不需要字典——将ColB中的值拆分并在数组上循环:对于每个元素,写出ColA中的值,并将元素值写到新行
Dim rw As Range
Dim ws As Worksheet, arr, e, c As Range
Set ws = ActiveSheet
Set c = ws.Range("H1") '<< start of output
'loop over input rows
For Each rw In ws.Range("A1").CurrentRegion.Rows
arr = Split(rw.Cells(2).Value, ",")
For Each e In arr
c.Resize(1, 2).Value = Array(rw.Cells(1).Value, Trim(e))
Set c = c.Offset(1, 0) 'next output row
Next e
Next rw
这不需要字典——将ColB中的值拆分并在数组上循环:对于每个元素,写出ColA中的值,并将元素值写到新行。顺便说一句,你的代码示例使用的是ColC,它不在你的示例数据中。我觉得很傻。你太棒了。我在拔头发!!非常感谢你,蒂姆