Private Sub LetDo_Click()
Dim name, FilesName, pname As String
'設置刪選
Dim iloc, Position As String
Do
Position = iloc '取得當前檢測到的目標字符的位置
iloc = InStr(iloc + 1, FilePath1, "\") '測試目標字符在這個字符串中有沒有下個位置,如果沒有就退出
Loop Until iloc = 0
FilesName = Right(FilePath1, Len(FilePath1) - Position) '取得文件名稱
On Error Resume Next
If StrComp(Workbooks(FilesName).name, FilesName, 1) <> 0 Then
Workbooks.Open (FilePath1) '打開文件
End If
Windows(FilesName).Activate
'檢查有所有sheet有沒有符合要求
Dim Ws As Worksheet
Dim BName As String
Dim ExitSheets As Boolean
ExitSheets = True
On Error Resume Next
BName = "通補合計"
Set Ws = ActiveWorkbook.Sheets(BName)
If Ws Is Nothing Then
MsgBox BName & " 表不存在"
ExitSheets = False
End If
BName = "收入"
Set Ws = ActiveWorkbook.Sheets(BName)
If Ws Is Nothing Then
MsgBox BName & " 表不存在"
ExitSheets = False
End If
BName = "匯款"
Set Ws = ActiveWorkbook.Sheets(BName)
If Ws Is Nothing Then
MsgBox BName & " 表不存在"
ExitSheets = False
End If
BName = "網絡開發"
Set Ws = ActiveWorkbook.Sheets(BName)
If Ws Is Nothing Then
MsgBox BName & " 表不存在"
ExitSheets = False
End If
BName = "單店產出"
Set Ws = ActiveWorkbook.Sheets(BName)
If Ws Is Nothing Then
MsgBox BName & " 表不存在"
ExitSheets = False
End If
'進入主處理程序
If ExitSheets = True Then
'取消各個sheet的vlookup
'取消“通補合計”裏的vlookup
Sheets("通補合計").Select
Range("C3:G60").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'取消“收入”裏的vlookup
Sheets("收入").Select
Range("D6:E39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H6:I39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L6:M39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'取消“回款”裏的vlookup
Sheets("回款").Select
Range("D6:E39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H6:I39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L6:M39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'取消“網絡開發”裏的vlookup
Sheets("網絡開發").Select
Range("D6:E39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H6:I39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L6:M39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'取消“單店產出”裏的vlookup
Sheets("單店產出").Select
Range("D6:E39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("H6:I39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L6:M39").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("sheet1").Select
Cells.Select
Selection.Delete
Sheets("收入").Select
Rows("2:5").Select
Selection.Copy
Sheets("Sheet1").Select
Rows("2:5").Select
ActiveSheet.Paste
Sheets("回款").Select
Rows("2:5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("8:11").Select
ActiveSheet.Paste
Sheets("網絡開發").Select
Rows("2:5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("16:19").Select
ActiveSheet.Paste
Sheets("單店產出").Select
Rows("2:5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("24:27").Select
ActiveSheet.Paste
Dim i As Long
Dim fgsname, sheetname As String
For i = 6 To 39
Sheets("收入").Select
fgsname = Range("B" & i).Value
Rows(i & ":" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("6:6").Select
ActiveSheet.Paste
Sheets("回款").Select
Rows(i & ":" & i).Select
Selection.Copy
Sheets("Sheet1").Select
Rows("12:12").Select
ActiveSheet.Paste
Sheets("網絡開發").Select
Rows(i & ":" & i).Select
Selection.Copy
Sheets("Sheet1").Select
Rows("20:20").Select
ActiveSheet.Paste
Sheets("單店產出").Select
Rows(i & ":" & i).Select
Selection.Copy
Sheets("Sheet1").Select
Rows("28:28").Select
ActiveSheet.Paste
Cells.Select
Selection.Copy
Workbooks.Add
Cells.Select
ActiveSheet.Paste
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=FilePath2 & fgsname & "2014年上半年產品總考覈得分.xls", _
FileFormat:=xlExcel8, WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
sheetname = fgsname & "2014年上半年產品總考覈得分.xls"
Windows(FilesName).Activate
Sheets(Array("通補合計")).Select
Application.CutCopyMode = False
Sheets("通補合計").Select
Cells.Select
Selection.Copy
Workbooks(sheetname).Activate
Sheets.Add After:=ActiveSheet
Sheets("Sheet2").Select
Cells(1, 1).Select
ActiveSheet.Paste
Sheets("Sheet2").name = "通補合計"
Sheets("Sheet1").Select
Sheets("Sheet1").name = fgsname
Workbooks(sheetname).Save
ActiveWorkbook.CheckCompatibility = False
ActiveWindow.Close
Windows(FilesName).Activate
Next
MsgBox "拆分完成"
End If
End Sub
Private Sub OpenFile_Click()
FilePath1 = Application.GetOpenFilename()
End Sub
Private Sub SaveFile_Click()
'通過打開文件夾的形式取得文件夾路徑
Dim strPath As String
Dim MyFileDialog As FileDialog
Set MyFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
'當對話框關閉時".show=-1"
If MyFileDialog.Show = -1 Then
'使用循環顯示選取文件的路徑和名稱
For Each vrtSelectedItem In MyFileDialog.SelectedItems '遍歷在對話框中選擇的多個文件夾,其實只能選擇一個文件夾
strPath = vrtSelectedItem
Next
End If
FilePath2 = strPath & "\"
End Sub
Public Function SheetExists(BName As String)
Dim Ws As Worksheet
On Error Resume Next
Set Ws = ActiveWorkbook.Sheets(BName)
If Ws Is Nothing Then
MsgBox BName & " 表不存在"
End If
End Function
Public Function SubCompany()
Sheets("sheet1").Select
Cells.Select
Selection.Delete
Sheets("收入").Select
Rows("2:5").Select
Selection.Copy
Sheets("Sheet1").Select
Rows("2:5").Select
ActiveSheet.Paste
Sheets("回款").Select
Rows("2:5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("8:11").Select
ActiveSheet.Paste
Sheets("網絡開發").Select
Rows("2:5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("16:19").Select
ActiveSheet.Paste
Sheets("單店產出").Select
Rows("2:5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("24:27").Select
ActiveSheet.Paste
Dim i As Long
Dim fgsname, sheetname As String
For i = 6 To 39
Sheets("收入").Select
fgsname = Range("B" & i).Value
Rows(i & ":" & i).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Rows("6:6").Select
ActiveSheet.Paste
Sheets("回款").Select
Rows(i & ":" & i).Select
Selection.Copy
Sheets("Sheet1").Select
Rows("12:12").Select
ActiveSheet.Paste
Sheets("網絡開發").Select
Rows(i & ":" & i).Select
Selection.Copy
Sheets("Sheet1").Select
Rows("20:20").Select
ActiveSheet.Paste
Sheets("單店產出").Select
Rows(i & ":" & i).Select
Selection.Copy
Sheets("Sheet1").Select
Rows("28:28").Select
ActiveSheet.Paste
Cells.Select
Selection.Copy
Workbooks.Add
Cells.Select
ActiveSheet.Paste
ActiveWorkbook.SaveAs FileName:=FilePath2 & fgsname & "2014年上半年產品總考覈得分.xlsx", _
FileFormat:=xlExcel12, WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
sheetname = fgsname & "2014年上半年產品總考覈得分.xlsx"
Windows(FilesName).Activate
Sheets(Array("通補合計")).Select
Application.CutCopyMode = False
Sheets("通補合計").Select
Cells.Select
Selection.Copy
Workbooks(sheetname).Activate
Sheets.Add After:=ActiveSheet
Sheets("Sheet2").Select
Cells(1, 1).Select
ActiveSheet.Paste
Sheets("Sheet2").name = "通補合計"
Sheets("Sheet1").Select
Sheets("Sheet1").name = fgsname
Workbooks(sheetname).Save
ActiveWorkbook.CheckCompatibility = False
ActiveWindow.Close
Windows(FilesName).Activate
Next
End Function
通補合計程序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.