① 使用VBA宏合并当前文件夹下工作薄结果空白
把ActiveWorkbook修改为ThisWorkbook试试。
MyPath = ThisWorkbook.Path
AWbName = ThisWorkbook.Name
② 使用VBA宏合并当前文件夹下的所有工作薄,提示数据收集完成,但是当前工作表空白
可能是宏代码有问题,贴出你的代码,大家帮你出注意修改。
或者【网络云盘】(一个使用网络帐号登录的可以对话和传文件的应用软件)私下传文件,为你修正后回复。
③ 如何将两个文件夹的文件合并一个文件夹里显示
1、鼠标右键点击桌面,然后点击新建文件夹。
④ 怎么我用了之后不是显示合并0个工作簿中的0个工作表就是出现1004错误的呢
在网上下载合并的代码一般是合并后缀名为*.xls的工作簿文件
由于EXCEL和WPS各个版本的不同导致生成的表格文件不同;有*.xls的还有*.xlsx的;某些网站导出来的表格文件也有*.csv的。
想要合并成功:
1、确定自己要合并的表格文件后缀名
2、修改代码中*.xls为自己要合并的文件
如*.xlsx或者*.csv;
3、宏模式下直接Ctrl+H 替换
4、最后按照网上说的步骤运行即可。
5、祝你合并成功!
四月余温
⑤ 大神你好,用你编写的多个工作簿合并代码,发现若原始工作簿内存在公式,合并后会变成0,怎么处理盼回复
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部
1、在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。
2、按Alt+F11进入VBA代码编辑和调试界面。
3、点击插入,选择模块。
4、将下述代码粘贴到模块空白处:
Sub CombineSheetsCells()
Dim wsNewWorksheet As Worksheet
Dim cel As Range
Dim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As Variant
Dim TitleRow, TitleColumn As Range
Dim Num As Integer
Dim DataRows As Long
DataRows = 1
Dim TitleArr()
Dim Choice
Dim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$
Dim n, i
n = 1
i = 1
Application.DisplayAlerts = False
Worksheets("合并汇总表").Delete
Set wsNewWorksheet = Worksheets.Add(, after:=Worksheets(Worksheets.Count))
wsNewWorksheet.Name = "合并汇总表"
MyFileName = Application.GetOpenFilename("Excel工作薄 (*.xls*),*.xls*")
If MyFileName = "False" Then
MsgBox "没有选择文件!请重新选择一个被合并文件!", vbInformation, "取消"
Else
Workbooks.Open Filename:=MyFileName
Num = ActiveWorkbook.Sheets.Count
MyName = ActiveWorkbook.Name
Set DataSource = Application.InputBox(prompt:="请选择要合并的数据区域:", Type:=8)
AddressAll = DataSource.Address
ActiveWorkbook.ActiveSheet.Range(AddressAll).Select
SourceDataRows = Selection.Rows.Count
SourceDataColumns = Selection.Columns.Count
Application.ScreenUpdating = False
Application.EnableEvents = False
For i = 1 To Num
ActiveWorkbook.Sheets(i).Activate
ActiveWorkbook.Sheets(i).Range(AddressAll).Select
Selection.Copy
ActiveSheetName = ActiveWorkbook.ActiveSheet.Name
Workbooks(ThisWorkbook.Name).Activate
ActiveWorkbook.Sheets("合并汇总表").Select
ActiveWorkbook.Sheets("合并汇总表").Range("A" & DataRows).Value = ActiveSheetName
ActiveWorkbook.Sheets("合并汇总表").Range(Cells(DataRows, 2), Cells(DataRows, 2)).Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
DataRows = DataRows + SourceDataRows
Workbooks(MyName).Activate
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
Workbooks(MyName).Close
End Sub
5、在“首页”工作表中插入一个窗体控件并指定宏为插入的代码名称。
6、点击“首页”工作表中插入的按钮,根据提示,浏览到原始数据工作簿。
7、用鼠标选择要合并的数据范围。
8、点击确定按钮,待代码运行完毕后,所有的数据就都合并到了“合并汇总表”中。
9、选中全部数据区域,执行自动筛选。然后选择其中一个字段,选择“空白”和标题内容。
10、然后将筛选出来的无用行鼠标右键删除,再删除A列整列即可。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
⑥ Excel 宏如何合并
1.首先把需要合并的excel工作薄整理到一个文件夹中,如图,用来合并到一起的工作薄的名字要注意,这里取名叫“合并工作薄”。
2.打开这个excel表,直接按键ALT+F11,进入下图界面。双击如图所示位置的sheet1。
3.如图,打开准备好的VBA代码,复制到这个空白的代码编译处,代码如下:
Sub 工作薄间工作表合并()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄")
X = 1
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
errhadler:
MsgBox Err.Description
End Sub
4.注意事项,如图,注意工作薄的名字,同时,注意代码中设定的excel版本。如果出现无法编译的情况,可以用这个共享的txt。
5.回到“合并工作薄”的excel表格中,如图,点击工具(没有的到excel的选项中添加),选择宏。
6.选择宏以后会出现下图界面,直接双击图中选项。
7.双击后弹出选择待合并的文件夹中工作薄,直接全选要合并的工作薄即可。
8.如图,这就是合并后的效果,这两个工作薄是下载的2014年的高考录取分数线的内容,效果不错,而且合并工作薄本身的工作表是不会被占用的,是新建的工作表。
⑦ 电脑上弄了启用宏的工作簿后,每打开或新建文档都会出现两个空文档怎么办,c盘没有权限
都变成启用宏的工作簿,不太明白你这句话的意思,、
是你上传的图片上的图标不一样了吗(打开方式改变了)
你可以参照楼上的说的“右键点文件-打开方式-选择程序-选择excel-勾选始终应用-ok了”如果没有EXCEL可选择,可以浏览在以下文件夹能打到C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE(是2003的路径,2010的应该是C:\Program Files\Microsoft Office\OFFICE14\EXCEL.EXE.
如果是打开会提示工作簿里面有宏的窗口
你可以开启一个空的EXCEL表格,保存一下再重新打开,如果也有提示,请检查你的电脑已经中毒了。
⑧ excel文件夹三个三个窗口剩下一个窗口怎样找其他两个
大家在使用excel2007的时候打开两个excel2007窗口发现合并在了一起,使用起来很麻烦,那么怎么才能打开excel2007两个独立窗口呢?只需要去高级设置里设置一下就可以了。下面我马上就告诉大家具体的操作 方法 。
Excel 2007同时打开两个独立窗口方法
首先,我们打开任意一个Excel 表格!点击左上角按钮!再点击“Excel 选项”菜单!
在打开“Excel 选项”菜单中选择高级选项!
然后找到“显示”菜单下的“在任务栏中显示所有窗口”,把前面的框框打上钩!
按“确定”退出!
好了,到此,2003的感觉回来了……
Excel表格 使用小技巧
1、快速启动Excel
若您日常工作中要经常使用Excel,可以在启动Windows时启动它,设置方法:
(1)启动“我的电脑”进入Windows目录,依照路径“Start Menu\Programs\启动”来打开“启动”文件夹。
(2)打开Excel 所在的文件夹,用鼠标将Excel图标拖到“启动”文件夹,这时Excel的快捷方式就被复制到“启动”文件夹中,下次启动Windows就可快速启动Excel了。
若Windows已启动,您可用以下方法快速启动Excel。
方法一:双击“开始”菜单中的“文档”命令里的任一Excel工作簿即可。
方法二:用鼠标从“我的电脑”中将Excel应用程序拖到桌面上,然后从快捷菜单中选择“在当前位置创建快捷方式”以创建它的快捷方式,启动时只需双击其快捷方式即可。
2、快速获取帮助
对于工具栏或屏幕区,您只需按组合键Shift F1,然后用鼠标单击工具栏按钮或屏幕区,它就会弹出一个帮助窗口,上面会告诉该元素的详细帮助信息。
3、快速移动或复制单元格
先选定单元格,然后移动鼠标指针到单元格边框上,按下鼠标左键并拖动到新位置,然后释放按键即可移动。若要复制单元格,则在释放鼠标之前按下Ctrl即可。
4、快速查找工作簿
您可以利用在工作表中的任何文字进行搜寻,方法为:
(1)单击工具栏中的“打开”按钮,在“打开”对话框里,输入文件的全名或部分名,可以用通配符代替;
(2)在“文本属性”编辑框中,输入想要搜寻的文字,最好是您认为是唯一的单词或 短语 ,以便搜寻更容易成功;
(3)选择“开始查找”即可。在找到满足条件的文件前,“打开”对话框的状态栏都会显示“找到了0个文件”的信息,您应该耐心等待,只有当“打开”按钮由灰化状态变成可用状态时,才表明搜寻结束。
5、快速打印工作表
若选择“文件”菜单中“打印”命令来打印,会出现“打印”对话框让您选择,程序繁琐。若要跳过该对话框,您可以单击“常用”工具栏上的“打印”按钮或者按下Shift键并单击“打印预览”按钮,Excel将使用“选定工作表”选项打印。
6、快速切换工作表
按Ctrl PageUp组合键可激活前一个工作表,按Ctrl PageDown组合键可激活后一个工作表。您还可用鼠标去控制工作表底部的标签滚动按钮快速地移动工作表的名字,然后单击工作表进行切换。
7、快速切换工作簿
对于较少工作簿切换,可单击工作簿所在窗口。要对多个窗口下的多个工作进行切换,用“窗口”菜单最方便。“窗口”菜单的底部列出了已打开了工作簿的名字,要直接切换到一个工作簿,从“窗口”菜单选择它的名字即可。
“窗口”菜单最多能列出9个工作簿,若多于9个,“窗口”菜单则包含一个名为“多窗口”的命令,选用该命令,则出现一个按字母顺序列出所有已打开的工作簿名字的对话框,只需单击其中需要的名字即可。
8、快速插入Word表格
Excel可以处理Word表格中列出的数据,您可用以下方法快速插入Word表格:
(1)打开Word表格所在的文件;
(2)打开要处理Word表格的Excel文件,并调整好两窗口的位置,以便能看见表格和要插入表格的区域;
(3)选中Word中的表格;
(4)按住鼠标左键,将表格拖到Excel窗口中,松开鼠标左键将表格放在需要的位置即可。
9、快速链接网上的数据
您可以用以下方法快速建立与网上工作簿中数据的链接:
(1)打开Internet上含有需要链接数据的工作簿,并在工作簿选定数据,然后单击“编辑”菜单的“复制”命令;
(2)打开需要创建链接的Excel工作簿,在需要显示链接数据的区域中,单击左上角单元格;
⑨ EXCEL 合并同一个文件夹多个工作表,求助合并不成功的原因
建议改成这样(可以找到xls和xlsx文件):
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls*")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("A1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
⑩ Excel-2016如何用宏合并多个Excel文件
我用的2016版,代码没问题。那么1004错误,主要是宏安全设置高了。改一下设置,宏设置--信任中心--信任和启用所有宏。