打开excel出现编译错误缺少end sub

我是想将将多个excel文件合并到一个excel的多个sheet中,代码如下:
Sub book2sheets()
Sub Books2Sheets()
'
定义对话框变量

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'
新建一个工作簿

Dim newwb As workbook
Set newwb = Workbooks.Add
With fd
If .Show = -1 Then
'
定义单个文件变量

Dim vrtSelectedItem As Variant
'
定义循环变量

Dim i As Integer
i = 1
'
开始文件检索

For Each vrtSelectedItem In .SelectedItems
'
打开被合并工作簿

Dim tempwb As workbook
Set tempwb = Workbooks.Open(vrtSelectedItem)
'
复制工作表

tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
'
把新工作簿的工作表名字改成被复制工作簿文件名 newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xlsx", "")
'
关闭被合并工作簿

tempwb.Close SaveChanges:=False
i = i + 1
Next vrtSelectedItem
End If
End With
Set fd = Nothing
End Sub
'
' book2sheets Macro
'
End Sub
大神帮我改改

函数里面可以再定义函数吗?这个不是c++,不能这么干吧。
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么一个完整Excel的宏命令,总是说缺少End Sub,在线急等,请高手赐...
有两个sub,只要删除一个就可以了。很高兴为你解答,希望能帮到你!

...一个关于excel的问题,运行宏时总是提示编译错误:缺少 End Sub...
那是因为你不小心打开的录入的宏的代码!把过程结束语End Sub删除了! 你按ALT+F11打开VBE编辑器,打开右边模块,打开你录制的宏的名字.里面有代码,在所有代码后加上End Sub就行了!

excel 运行宏时总是提示编译错误:缺少 End Sub ,但是VBA编辑器中的代码...
这个代码应该是在列A里面搜索和单元格B32内容一致的表格,并且把表格地址和内容在C32以后打印出来。可以测试一下,给A列一组数据,在B32里面输入一个值,会自动查找。

Excel VBA里面编译错误 缺少End Sub 怎么解决
Private Sub Worksheet_Change(ByVal Target As Range)是一个‘表格点选位置改变触发的事件过程’,不需要再增加‘Sub 按名称筛选片段图片()’也不需要写在模块中,Sheet("引用")应写作Sheets("引用")其他类似,没有你的表格,无法测试。

EXCEL编程中提示"缺少End Sub"是什么问题?在网上找的程序,写进去为什么...
对那图进行的回答,第一行已经是一个SUB的开始了,就没有必要再写一个Sub hebingbiao()解决就是把Sub hebingbiao()行删除 两个End Sub只留一个就行了。

Excel 宏编译错误,缺少:=
Sub PrintAllSheet()Dim a As New Excel.Application a.ActiveWorkbook.PrintOut()End Sub 改改:Sub PrintAllSheet()Dim a As New Workbook Set a = ActiveWorkbook a.PrintOut copies:=1 End Sub

Excel VBA里面编译错误:缺少end sub怎么解决?
看看是否中间有结束的地方,或者是加的end sub在执行时能被跳过去

Excel 缺少End Sub
If Application.Intersect(Target, [c:c]) Is Nothing ThenIf Application.Intersect(Target, [b:b]) Is Nothing Then Exit SubEndIFEndIF改为上述代码试试,应该是 IF 没有 EndIF 引起的,IF 可以在特定情况不用 EndIF 但有时候书写不注意就容易出错。

excel中添加vba过程,老是不能运行,说是缺少end sub 请高手帮忙_百度知 ...
你的一个SUB后面有两个END SUB这样是不行的 把最后面的一个END SUB移到第二行下面即可 搞不懂你为什么一个全局变量要那样做呢 修改后应该是这样的 Public Sub reg()Dim ydtext As String '原单元格值 End Sub Private Sub Worksheet_Change(ByVal Target As Range)If Target.Cells.Count = 1...

excel的VBA运行缺少End Sub 请高手指点迷津...
Sub 按钮2_Click()Depart( "abs",2) 用这样的方法试试 End Sub Function Depart(Srg As String, Optional n As Integer = False)Dim i As Integer Dim s, MyString As String Dim Bol As Boolean For i = 1 To Len(Srg)s = Mid(Srg, i, 1)If n = 1 Then Bol = Asc(s) <...

相似回答