Excel 相加-vba
我想帮助,如果可能的话,与代码,将做以下 B列有10种不同的内容变体,从单元格B2开始,长度始终为10个字符 我想将B列中的10种不同的内容变为第1行的标题,从C列开始 接下来,我希望宏从A2开始查看A列中的内容。然后我想使用B2中的内容来区分A2中的内容属于哪个标题(分别位于同一行)。现在,我不想把A2的实际内容放在标题下,而是想把数字1放在标题下 现在我想对A:B列中的每一行继续这种模式 发生重复时,我希望删除发生重复的行,并将原始引用增加1Excel 相加-vba,excel,vba,Excel,Vba,我想帮助,如果可能的话,与代码,将做以下 B列有10种不同的内容变体,从单元格B2开始,长度始终为10个字符 我想将B列中的10种不同的内容变为第1行的标题,从C列开始 接下来,我希望宏从A2开始查看A列中的内容。然后我想使用B2中的内容来区分A2中的内容属于哪个标题(分别位于同一行)。现在,我不想把A2的实际内容放在标题下,而是想把数字1放在标题下 现在我想对A:B列中的每一行继续这种模式 发生重复时,我希望删除发生重复的行,并将原始引用增加1 我意识到我可以使用透视表,但我想尝试使用宏来代替
我意识到我可以使用透视表,但我想尝试使用宏来代替。你知道如何使用循环吗。我猜是的,因为你在一个编程网站上 我记得在我做VBA工作时,看到了大多数使用范围(a:b)的Excel VBA教程,这对于使用循环来说并不优雅 您可以使用单元格(x,y)访问单个单元格,该单元格允许您指定x和y坐标,因此A1变为1:1,A10变为10:1,以此类推 这应该可以帮助你开始。从这里开始,你需要进行逻辑思考,并用谷歌搜索你不知道的东西,即用谷歌搜索“Excel VBA范围副本”,这将为你找到范围内的副本提供思路
你所要求的大多数东西都需要简单的逻辑或谷歌搜索。试着自己做,如果你在特定的点上卡住了,那么你可以发布那些特定的问题 第一部分很简单,下面的代码应该是您想要的,只需将其放入标准代码模块中即可: Private Sub transposeHeadings() '//Use built-in filter function to get all unique entries from column B and paste to C1 Range("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("C1"),unique:=True '//Copy this filtered list Range("C2:C11").Copy '//Paste into row 1, using transpose to change the rows into columns Range("C1").PasteSpecial Paste:=xlPasteAll, Transpose:=True '//Delete the temporary filtered list Range("C2:C11").ClearContents '//Remove the copy bounding box Application.CutCopyMode = False End Sub 专用子标题() “//使用内置的筛选函数从列B获取所有唯一的条目并粘贴到C1 范围(“B:B”)。高级筛选器操作:=xlFilterCopy,CopyToRange:=Range(“C1”),唯一性:=True “//复制此筛选列表 范围(“C2:C11”)。副本 “//粘贴到第1行,使用转置将行更改为列 范围(“C1”)。粘贴特殊粘贴:=xlPasteAll,转置:=True “//删除临时筛选列表 范围(“C2:C11”).ClearContents “//删除复制边界框 Application.CutCopyMode=False 端接头 注意,这使用了硬编码的范围,您可以使用named/使其更加健壮 然而,我担心你问题的第二部分有太多的未知数,无法尝试提供一些有用的代码,我甚至不确定我是否完全理解你想要做什么 正如Ankur所建议的那样,你自己来一次狂欢,然后带着你正在努力解决的任何细节回来。我想我能理解 如果数据是这样的
BRAND ITEM
Bic Eraser
Bic Pencil
Bic Pencil
Pentel Marker
Sharpie Marker
Sharpie Marker
最终结果应该是这样的
BRAND ITEM Marker Eraser Pencil
Bic Eraser 1
Bic Pencil 2
Pentel Marker 1
Sharpie Marker 2
如果是这样,我建议您按“品牌”(键1)和“项目”(键2)排序。这样,副本将彼此相邻。如果您将“品牌”和“项目”组合在一起,然后使用该键进行排序、比较和计数,可能会更容易
我通常喜欢在可能需要删除行时从最后一行开始。这样,我可以使用一个漂亮的for循环。嗯?试试看。这两种方法都有帮助吗?把一个标记为答案或改写你的问题怎么样?