国产一区二区欧美精品免费-欧美国产日韩在线视频-欧美亚洲国语精品一区二区-欧美激情五月综合啪啪-国产69精品麻豆久久久久-亚洲人成精品久久久久桥网站-欧美刺激肥熟在线视频-十七岁日本免费完整版BD-黑夜在线拖拽不卡第一页

`
閱: 5380 | 回: 3
發(fā)表于2015/7/30 15:31:56 樓主 
頭像 等級:初學(xué)者
積分:1
財富值:1.00
身份:普通用戶

用VBA實現(xiàn)批量刪除指定文件夾下工作表表頭,如圖所示,刪除前與刪除后效果。






但在運行時出錯


(文件夾內(nèi)工作薄模擬了上報的數(shù)據(jù),只能保證結(jié)構(gòu)相同,數(shù)據(jù)質(zhì)量得不到保證,要求在這種情況下運行),請各位高手幫我看看代碼錯在哪兒?

補充內(nèi)容(2015-7-30 15:32:23):
Sub deleteheadline()
Dim Fso As Object, Folder As Object
Dim i&, n&, a, b, Wb As Workbook, p$
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ThisWorkbook.Path & "\"
If .Show = False Then Exit Sub
p = .SelectedItems(1)
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Fso = CreateObject("Scripting.FileSystemObject")
With ThisWorkbook
For Each File In Fso.GetFolder(p).Files
If File.Name Like "*.xls" Then
n = n + 1
Set Wb = Workbooks.Open(File)
Application.DisplayAlerts = False
If ThisWorkbook.MultiUserEditing Then
ThisWorkbook.UnprotectSharing ("")
End If
Application.DisplayAlerts = True
Wb.Unprotect
Wb.Sheets("基本情況(填表)").Unprotect
Wb.Sheets("基本情況(填表)").Rows("1:4").delete
Wb.Close False
End If
Next
End With
Set Fso = Nothing
Application.ScreenUpdating = True
MsgBox "表頭已刪除!"
End Sub

補充內(nèi)容(2015-7-30 15:33:13):
我的個性簽名
發(fā)表于 2015/7/30 15:48:02   
頭像 等級:高手
積分:117
財富值:1
身份:普通用戶

首先,如果你的工作簿設(shè)置了共享,是不可以用代碼解除工作簿的保護的,所以當(dāng)然會出錯;

其次,你的代碼當(dāng)中wb.close false   設(shè)置成不保存關(guān)閉,當(dāng)然不能成功刪除表頭

所以,必須改為wb.close true;

不懂能否解決你的問題??

我的個性簽名
發(fā)表于 2015/7/30 15:56:38   
頭像 等級:學(xué)者
積分:88
財富值:2
身份:普通用戶
頂樓上
我的個性簽名

快速回復(fù)

目前不允許游客發(fā)表,請 登錄 注冊 后再發(fā)貼。