ecxel中不同窗口的sheet怎么合并到同一个窗口?

Excel将如图的sheet表格将1窗口的sheet汇总到窗口2,我不是程序员,请大神教的简单明了一点,非常感谢!

实操最简单的方法:

  1. 打开两个excel表格
    a表格: sheet1,sheet2,sheet3
    b表格: sheet4,sheet5,sheet6

  2. 鼠标按住sheet4 拖拽到 a表格中任意位置

  3. 完成,你就会发现 a表格中变成了 sheet1,sheet2,sheet3, sheet4

如图?请问图呢?

例如在sheet1上a列上有三个数据,在sheet2进行汇总公式如下:
=sum(Sheet1!A1:A3)

cv大法

加油,看看这篇文章可不可以帮到您呢?https://jingyan.baidu.com/article/86112f137e192a663697876b.html

试试。


from openpyxl import Workbook
from openpyxl import load_workbook
import openpyxl
import os

def copy_sheet(sheet1, sheet2):
   for i,row in enumerate(sheet1.iter_rows()):
      for j,cell in enumerate(row):
            sheet2.cell(row=i+1, column=j+1, value=cell.value)

# 设置待处理的excel文件所在文件夹
excel_dir = r'C:\Users\tomcat\Desktop\待处理的excel'

# 设置合并后的excel保存的名字
excel_out = 'out.xlsx'

# 设置当前的工作文件夹
os.chdir(excel_dir)

# 如果合并的excel文件存在,删除它
if os.path.exists(excel_out):
   os.remove(excel_out)
wb2=openpyxl.Workbook()

# 遍历当前工作文件夹内的所有excel文件
excel_list = os.listdir(excel_dir)
print(excel_list)

for f in excel_list:
   print(f)

   # 遍历当前excel文件的所有sheet表
   filename = f.split('.')[0]
   wb1 = openpyxl.load_workbook(f)
   sheets1 = wb1.sheetnames
   print(sheets1)

   # 依次将当前excel文件的所有sheet复制到合并的excel文件中
   for ws_name in sheets1:
      sheet1 = wb1[ws_name]
      wb2.create_sheet (filename + '_' + ws_name)
      sheet2 = wb2[filename + '_' + ws_name]
      copy_sheet(sheet1, sheet2)
   wb1.close() 

# 保存合并的excel文件
ws = wb2['Sheet']
wb2.remove(ws)
wb2.save(excel_out)
wb2.close()

处理前:

img

合并后:

img

非程序员推荐方法:
1、打开所有需要合并的Excel表格。
2、在表格底部“sheet1”名称上点击右键。
3、选择“移动或复制工作表”,选择合并入的文件名称。
4、选择合并位置即可。

可以用vbs脚本,需要的联系我

合并多个工作簿窗口步骤1:将需要合并的excel工作簿文件放置在一个文件夹中。

合并多个工作簿窗口步骤2:每个文件夹中的工作簿都输入了简单的内容。

合并多个工作簿窗口步骤3:在该文件夹中,新建立一个新的excel工作簿文件。重命名为8.

合并多个工作簿窗口步骤4:打开新建立的excel工作簿文件8.按Alt+F11或者将鼠标移动到下方工作表名称sheet1上右键,选择查看代码。

合并多个工作簿窗口步骤5:在弹出的代码编辑窗口中,输入代码。注意:通过快捷键Alt+F11打开的窗口如下没有直接复制代码的面板,需要点击左上方的工程-VBA project模块,双击sheet1,即可打开代码窗口。而步骤3中的第二种方法可以直接打开代码输入窗口。

合并多个工作簿窗口步骤6:在代码窗口中,黏贴下列代码:

Sub CombineFiles()

Dimpath As String

DimFileName As String

DimLastCell As Range

DimWkb As Workbook

DimWS As Worksheet

DimThisWB As String

Dim MyDir AsString

MyDir =ThisWorkbook.path & ""

'ChDriveLeft(MyDir, 1) 'find all the excel files

'ChDir MyDir

'Match =Dir$("")

ThisWB =ThisWorkbook.Name

Application.EnableEvents = False

Application.ScreenUpdating = False

path =MyDir

FileName =Dir(path & "*.xls", vbNormal)

Do UntilFileName = ""

If FileName <> ThisWB Then

Set Wkb = Workbooks.Open(FileName:=path & ""& FileName)

For Each WS In Wkb.Worksheets

Set LastCell = WS.Cells.SpecialCells(xlCellTypeLastCell)

If LastCell.Value = "" And LastCell.Address = Range("$A$1").AddressThen

Else

WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

End If

Next WS

Wkb.Close False

End If

FileName = Dir()

Loop

Application.EnableEvents = True

Application.ScreenUpdating = True

Set Wkb =Nothing

Set LastCell= Nothing

End Sub

希望可以帮到你
这是我很早之前写过的一个博客 http://t.csdn.cn/nnhvJ

可以看一下VLOOKUP函数,能达到你想要的效果。

打开excel1,按住shift 将所有表选中,右键移动或复制,选择excel2,随便选一个位置,插入
缺点是你的excel或者sheet多的时候可能比较恶心

1、分别打开待合并的两个工作薄  

  2、在工作表名称处右击,然后点击 选定全部工作表 菜单全选工作表;或者按住Ctrl键的同时鼠标点击各个工作表名称;或者点击第一个工作表名称后,按住Shift键的同时点击最后一个工作表名称也能全选工作表。  

  3、再次在工作表名称右击,然后点击 移动或复制 菜单  

  4、在移动或复制窗口界面中选择待合并到的工作薄,然后确定;  

  5、这时全选的那些工作表就会合并到选中的工作薄中,如果两个工作薄中有相同的工作表名称,Excel会自动将移动过来的工作表名称后加上“(数字)”,如果有需要可以自行修改工作表名称。