通补合计程序

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值