在一个excel中堆叠多列
我在一个文件中有来自不同数据源的多张图纸。 我想将每个工作表中A列的数据堆叠到一列中。 没有空行,没有其他困难。 我可以使用记事本,但我更喜欢excel内部的解决方案 我见过类似问题的解决方案,但它们有点不同,它认为是更简单的版本,可以有更简单的解决方案(很容易实现) 如果能得到帮助,我将不胜感激。在一个excel中堆叠多列,excel,stack,Excel,Stack,我在一个文件中有来自不同数据源的多张图纸。 我想将每个工作表中A列的数据堆叠到一列中。 没有空行,没有其他困难。 我可以使用记事本,但我更喜欢excel内部的解决方案 我见过类似问题的解决方案,但它们有点不同,它认为是更简单的版本,可以有更简单的解决方案(很容易实现) 如果能得到帮助,我将不胜感激。 Michal这是适合您需要的任务的代码,您只需创建一个名为“output”的新工作表,或更改代码的这一部分以获得所需的名称 Sub stackColumns() Dim wb As Wor
Michal这是适合您需要的任务的代码,您只需创建一个名为“output”的新工作表,或更改代码的这一部分以获得所需的名称
Sub stackColumns()
Dim wb As Workbook
Dim recipe As Worksheet
Set wb = ThisWorkbook
Set recipe = wb.Worksheets("output")
recipe.Range("A:C").ClearContents
recipe.Cells(1, 1).Value = "stacked A-category"
recipe.Cells(1, 2).Value = "stacked C-category"
For Each w In wb.Sheets
If w.Name <> recipe.Name Then
For i = 2 To WorksheetFunction.Max(w.Cells(w.Rows.Count, 1).End(xlUp).Row, w.Cells(w.Rows.Count, 3).End(xlUp).Row)
recipe.Cells(recipe.Cells(recipe.Rows.Count, 1).End(xlUp).Row + 1, 1).Value = w.Cells(i, 1).Value
recipe.Cells(recipe.Cells(recipe.Rows.Count, 2).End(xlUp).Row + 1, 2).Value = w.Cells(i, 3).Value
Next i
End If
Next w
End Sub
子堆栈列()
将wb设置为工作簿
将配方设置为工作表
设置wb=ThisWorkbook
设置配方=wb.工作表(“输出”)
配方.范围(“A:C”).净含量
recipe.Cells(1,1).Value=“堆叠的A类”
配方.单元格(1,2).Value=“堆叠的C类”
对于wb表格中的每个w
如果w.命名配方,则命名
对于工作表function.Max中的i=2(w.Cells(w.Rows.Count,1)。End(xlUp)。Row,w.Cells(w.Rows.Count,3)。End(xlUp)。Row)
recipe.Cells(recipe.Cells(recipe.Rows.Count,1)。End(xlUp)。Row+1,1。Value=w.Cells(i,1)。Value
recipe.Cells(recipe.Cells(recipe.Rows.Count,2)。End(xlUp)。Row+1,2。Value=w.Cells(i,3)。Value
接下来我
如果结束
下一个w
端接头
Hi。我从未使用过这种代码。你能推荐一个能帮助我使用它的在线培训吗?听着,我不知道一个好的基础培训,因为我来自巴西,在学习方面我使用了葡萄牙语教程,但要使用这段代码,你需要转到功能区中的“开发人员”选项卡(如果它不可见,你需要设置为“在文件中可见功能区->选项”),然后输入VBA,单击插入->新建模块,将代码粘贴到白色页面中,该页面将显示并使用F5或功能区中的“播放”按钮执行。。。但首先,您需要调整代码,如果您发布工作簿的屏幕或在excel online中上传一个示例并让我查看,我可以帮助您调整代码。因此,在本例中,我希望堆叠a列(也是C列)中的数据-我的最终目标是找到由countif完成的a&“-”&C合并的次数,但我已经解决了这个问题)所以我只需要将A列和C列堆叠起来,一切都会正常工作。谢谢你的帮助!再看一次,我根据您的工作表调整了代码,您只需要创建一个输出