实时搜索: excel几个sheet合并

excel几个sheet合并

605条评论 2407人喜欢 1621次阅读 621人点赞
代码如下:

Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application...

Excel多个工作表合并,如何去除每个工作表中的表头(1到7行),请高手帮忙修改下代码,谢谢!: Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Intersect(Sheets(j).UsedRange, Sheets(j).UsedRange.Offset(7, 0)).Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub

自己试试吧

怎么能把多个excel文件中的sheet1,合并到一个文件簿中,sheet2不合并:

按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行

Sub 按钮1_Click()

    Columns("A:A").Select   '清空A列

    Selection.ClearContents

    Range("A1").Select

    myPath = "E:\FILE\" '把文件路径定义给变量,你要汇集的文件夹

    n = 1

    myFile = Dir(myPath & "\9*.xl*")    '9*.xl*是你的文件特征

    Do While myFile <> ""

        Cells(n, 1) = myFile    '列出全部符合要求的文件名

        myFile = Dir '找寻下一个文件

        n = n + 1

    Loop

    lastrow = Cells(Rows.Count, 1).End(3).Row   '找A列最后一行数

    For i = 1 To lastrow

        Workbooks("文件搜索.xlsm").Sheets("catalog").Select '文件搜索.xlsm就是本文件名,catalog是本工作表名

        m = Cells(i, 1)

        ChDir "E:\File"

        Workbooks.Open Filename:="E:\File\" & m '打开列表上的文件

        Sheets("Sheet1").Select '选择工作表Sheet1

        Sheets("Sheet1").Copy After:=Workbooks("文件搜索.xlsm").Sheets(1)   '添加到文件搜索.xlsm工作簿中

        Workbooks("文件搜索.xlsm").Activate

        Sheets("Sheet1").Activate

        Sheets("Sheet1").Name = m   '修改工作表名为文件名

        Workbooks(m).Activate

        ActiveWorkbook.Close True   '关闭刚打开的文件

    Next i  ' 处理下一个文件

End Sub

测试通过。

EXCEL合并多个工作表:

首先我们要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如我下面举例的,我自己有205页的数据需要合并,如图所示。

看到这么多数据页要合并,如果是复制粘贴的话,工作量就很大了。我们现在开始合并,首先要在最前页新建一个工作表。如图:

在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。如图所示:

看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:

Sub 合并当前工作簿下的所有工作表()

Application.ScreenUpdating = False

For j = 1 To Sheets.Count

If Sheets(j).Name <> ActiveSheet.Name Then

X = Range("A65536").End(xlUp).Row + 1

Sheets(j).UsedRange.Copy Cells(X, 1)

End If

Next

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"

End Sub

做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。如图所示:

合并后的效果如下图,我们看到的是合并之后有8000多行,就是205页合并后的结果。谢谢。如有疑问,请留言。

如何把excel好多sheet合并在一个上面: 打开你的工作簿,按下alt+F11,插入-模块,看见一个模块1,复制下面的的内容,然后运行。
你的 工具-宏-安全性,设置为中,才能运行此宏。
按照提示做就可以了。注意:如果工作表很多可能需要很长时间,请耐心等待!
*//
==========以下是宏===============
Sub 合并各工作表内容()
sp = InputBox("各表内容之间,间隔几行?不输则默认为0")
If sp = "" Then
sp = 0
End If
st = InputBox("各表从第几行开始合并?不输则默认为2")
If st = "" Then
st = 2
End If
Sheets(1).Select
Sheets.Add

If st > 1 Then
Sheets(2).Select
Rows("1:" & CStr(st - 1)).Select
Selection.Copy
Sheets(1).Select
Range("A1").Select
ActiveSheet.Paste
y = st - 1
End If

For i = 2 To Sheets.Count
Sheets(i).Select
For v = 1 To 256
zd = Cells(65535, v).End(xlUp).Row
If zd > x Then
x = zd
End If
Next v
If y + x - st + 1 + sp > 65536 Then
MsgBox "内容太多,仅合并前" & i - 2 & "个表的内容,请把其它表复制到新工作薄里再用此程序合并!"
Else:

Rows(st & ":" & x).Select
Selection.Copy
Sheets(1).Select
Range("A" & CStr(y + 1)).Select
ActiveSheet.Paste

Sheets(i).Select
Range("A1").Select
Application.CutCopyMode = False
End If

y = y + x - st + 1 + sp
x = 0
Next i
Sheets(1).Select
Range("A1").Select
MsgBox "这就是合并后的表,请命名!"
End Sub

如何快速的将多个excel工作表 合并到一个工作表:

按以下步骤,可以成功:

在E盘新建文件夹,命名为abc,把需要合并的excel放进文件夹里

新建一个记事本,在里面输下面的内容 注意有空格,你复制进去就行:

@echo off

E:

cd abc

dir

copy *.* all_keywords.xls

echo @@@@@@@@@@@@@合并成功!@@@@@@@@@@@@@'

pause

*****************************


3.关闭记事本,把记事本后缀 .txt  改为 .bat  

4. 成功后,双击这个bat的文件,你会发现很神奇

excel 多个工作薄的sheet1 合并到一个工作薄中。:

最头疼读别人的代码,下面是我使用的代码,稍作了修改,可以实现你的要求。

 

将要汇总的文件放到一个单独专门的文件夹中。在此文件夹中新建或打开一个Excel文件作为汇总文件,找一个空白Sheet或者新建一个Sheet存放汇总数据。

然后按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。

 

 

Sub hz()
Dim bt, r, n, first As Long
bt = 1 '这里设置标题行有几行
Dim f, ff As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ff = fso.getfolder(ThisWorkbook.Path & "\")
For Each f In ff.Files
    If f.Name <> ThisWorkbook.Name And Left(f.Name, 2) <> "~$" Then
        Workbooks.Open f.Name
        With Workbooks(f.Name).Sheets("Sheet1")
            If first = 0 Then
                .Range("A1").Resize(bt, 4).Copy ThisWorkbook.ActiveSheet.Range("A1")
                n = bt + 1: first = 1
            End If
            r = .Cells(Rows.Count, "A").End(xlUp).Row
            .Range("A" & bt + 1).Resize(r - 1, 4).Copy ThisWorkbook.ActiveSheet.Range("A" & n)
            n = n + r - bt
        End With
        Workbooks(f.Name).Saved = True 
        Workbooks(f.Name).Close
    End If
Next f
Set fso = Nothing
End Sub

EXCEL中同一张工作表,两个以上数据区域合并计算方法:

你说的是“相隔单元格求和”吗,如果是,可以参考下这个方法

在Excel2003某工作表的F1 G1单元格中分别填入了3.5 和4.5并将这2个单元格选定,然: 后点“合并及居中”,发现没有反应?保持不变
后点“合并及居中”,出现提示框“*合并单元格只能保留最左上角的数据”确定?出现3.5居中
后点右键删除“右侧单元格左移”确定?两个数没了,或被代替了
后点“Delete”?发现数没了

第一种是按CTRL选的两个独立的单元格,不能合并及居中。
第二种是鼠标选中一个,左键拖动到相邻单元格中,可以合并及居中。
第三种是生气了
第四种是怒了

  • 五山在哪里

    细胞分化程度高,低具体是什么意思: 细胞分化程度高,低具体是什么意思细胞的分化是一个非常复杂的过程,也是当今生物学研究的热点之一。由一个受精卵发育而成的生物体的各种细胞,在形态,结构和功能上会有明显的差异,这和细胞的分化有关,细胞的分化是在一定条件下,...

    209条评论 3462人喜欢 2363次阅读 707人点赞
  • oppo如何装卡

    发表流行病学文章的sci有哪些: AM J EPIDEMIOL american journal of epidemiology 0002-9262 IF 5.454 J EPIDEMIOL COMMUN H journal of epidemiol...

    217条评论 4433人喜欢 4293次阅读 403人点赞
  • mcs51系列单片机有几个中断源

    发SCI对出国的影响: 留学的话,国外好学校招生基本上就是从个性,成绩,作品等来考察的,发sci等能展示个人才能的作品多的话,肯定更有优势被录取 ...

    988条评论 2462人喜欢 5988次阅读 745人点赞
  • 身上起疹子怎么办

    化学药品APS学名叫什么?: 硫酸铵(APS)一种传统的氧化剂 第一部分:化学品名称 化学品中文名称: 过硫酸铵 化学品英文名称: ammonium persulfate ...

    863条评论 5366人喜欢 1606次阅读 336人点赞
  • 2015生育保险多久能打到卡里

    尼康的镜头,带D和带G分别是什么意思?: D=D型镜头 G=G型镜头D型镜头:Distance 焦点距离数据传递技术 代表镜头可回传对焦距离信息,作为 3D(景物的亮度,景物对比度,景物的距离)矩阵测光的参考以及 TTL 均衡闪光的控制。1992年推出...

    200条评论 1217人喜欢 6126次阅读 534人点赞