宏的工作我在網上拉到這個代碼,我是小白,但我已經做了一些改動的循環。請幫助我!我想讓這個宏在其他工作表上工作,並保存到宏功能區。我已經將它添加爲加載項,檢查了安全設置,檢查了工具>引用。問題是如果我將它作爲模塊保存在我想要拆分的excel文件下,它可以工作,但是如果我將它保存在空白工作表中並將其作爲宏來提取,這是我的團隊使用的目標,宏拉空白原稿並將主人打破一半;保持活動頁面不變。如何讓我對其他的Excel工作表
Sub Macrosplittest()
Dim Sht As Worksheet
Dim fName As String
Dim ShtCountBk1 As Integer
Dim ws As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ShtCountBk1 = IIf(ActiveWorkbook.Sheets.Count Mod 2 = 1, Sheets.Count
/2 + 0.5, Sheets.Count/2)
Set neww = Workbooks.Add
For Each Sht In ActiveWorkbook.Worksheets
i = i + 1
If i > ShtCountBk1 Then
fName = Replace(ThisWorkbook.Name, ".xls", "")
neww.SaveAs ThisWorkbook.Path & "\" & fName & " (1).xls"
Set neww = Workbooks.Add
i = 1
End If
Sht.Copy after:=Worksheets(neww.Sheets.Count)
If i = 1 Then
For Each ws In Worksheets
If ws.Name <> Sht.Name Then
ws.Delete
End If
Next ws
End If
Next Sht
fName = Replace(ThisWorkbook.Name, ".xls", "")
neww.SaveAs ThisWorkbook.Path & "\" & fName & " (2).xls"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
看起來你有,你說「ShtCountNk1 = IIF(ActiveWorkbook ...」)一個錯字,我相信你只是想「如果(ActiveWorkbook ...」。此外,從我可以告訴,你正在創建一個新的工作簿(從而激活它),然後遍歷新的工作簿的工作表,這是否意味着什麼?對我來說,這似乎很奇怪,因爲一個新的工作簿應該只有一個工作表,你想用這個代碼完成什麼?很難看到你的目標。 –
http://www.excelfunctions.net/vba-iif-function.html>有人告訴我,IIF是一個嵌套函數。我的目標是說200張,分爲兩個100張分裂一個大文件。平時總變化,有時是210,222,255,取決於我們收到的數據。 –
我現在明白,我沒有任何線索,即使存在,我學到新的東西!我貼你的代碼的修改版本,但我不當然,如果你是這樣的話,這將會做到意味着將文件分成兩半。你需要分開Odd's和evens嗎?例如,對於6張紙,它必須是(1,3,5)和(2,4,6),或者它可以是(1,2,3)(4,5,6),它們被髮送到新的工作簿? –