网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月20日漏签0天
excel吧 关注:281,356贴子:1,550,042
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 17回复贴,共1页
<<返回excel吧
>0< 加载中...

抄的代码放在个人宏里,不能用.请路过的兄弟帮忙看看该怎么改.

  • 只看楼主
  • 收藏

  • 回复
  • 可神可神经
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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
这是一段多工作簿和成一簿多表的代码.
单独用是可以的.
放在个人宏模块里后,在personal,xlsb工作簿里也能用.
但在其他工作簿或新建工作簿里使用就会报错.报错图在下面.
请路过的兄弟帮个忙,
怎么让这段或其他类似代码(抄的代码)保存的个人宏后,可以在其他任何打开的工作簿里都能正常使用.



  • 可神可神经
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自己抬楼


2025-07-20 03:50:41
广告
  • 可神可神经
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 来碗泪流满面e0
  • 日新月E
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
sheets(具体表名称)


  • wj6779705
  • 多才多E
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我试了这代码不用改,你先新建一个,再复制代码,运行


  • 可神可神经
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶一下


  • 煎饼加鸡蛋
  • 情投E合
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你试下把thisworkbook改为workbooks(1)


  • zbh210000
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好巧,今天我也在研究这个问题,
利用个人宏工作簿,把指定工作簿给移动到当前活动工作簿...
定义a为 str,
修正原代码中的Thisworkbook给替换成当前活动工作簿名workbooks(a),测试成功。
前提条件:当前活动工作簿的格式要为.xlsx,如果格式是.xls就报错,不知道为啥。
Sub 合并工作簿()
Dim FilesToOpen As Variant, x As Integer, xname As String
Dim a As String
a = ActiveWorkbook.Name
On Error Resume Next
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files, *.xls*", _
MultiSelect:=True, Title:="选取要合并的文件")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有文件被选中!"
Exit Sub
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
xname = Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1)
Sheets().Move after:=Workbooks(a).Sheets _
(Workbooks(a).Sheets.Count)
Workbooks(a).Sheets(Sheets.Count).Name = xname
x = x + 1
Wend
Application.ScreenUpdating = True
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 17回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示