Code: Select all
Sub Macro5()
'
'
Dim r, rAll As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Workbooks("DataPlan.xlsx").Save
Set rg = Range("AH6")
rg.Activate
If Application.CountA(Range("AH6")) = 0 Then
MsgBox "äÁèÁÕ¢éÍÁÙÅãËéºÑ¹·Ö¡"
Application.Calculation = xlCalculationAutomatic
Exit Sub
End If
Set rg = Range("Q3")
rg.Activate
If Application.CountA(Range("S3")) = 0 Then
MsgBox "ãÊèÇѹ·Õè¼ÅÔµ§Ò¹´éÇÂ"
Application.Calculation = xlCalculationAutomatic
Exit Sub
End If
MsgBox ("ÍÂèÒÅ×Áà»ÅÕ蹡ÃдÒɹФÃѺ"), vbCritical
ActiveSheet.Unprotect Password:="1234"
Workbooks("DataBase.xlsx").Saved = False
ThisWorkbook.Activate
Set rAll = Range("AH6:AH" & Range("AH" & Rows.Count).End(xlUp).Row)
For Each r In rAll
If r.Value <> "" Then
r.Offset(0, 5).Resize(1, 5).Copy
'Workbooks.Open Filename:="\\ACCOUNT\Data (D)\SALE\DataBase.xlsx"
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataBase.xlsx]Sheet1'!R1C1,MATCH(R6C34,INDEX('[DataBase.xlsx]Sheet1'!R2C1:R50000C1,0),0),37)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
'----------------------------------------------------------------------------------------------------------------------------------------------------
ThisWorkbook.Activate
Next r
Workbooks("Dataplan.xlsx").Save
If Range("AH6").Value <> "" Then
'ActiveSheet.Unprotect Password:="1234"
Application.Goto Reference:="OFFSET(R6C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R6C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH7").Value <> "" Then
Application.Goto Reference:="OFFSET(R7C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R7C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH8").Value <> "" Then
Application.Goto Reference:="OFFSET(R8C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R8C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH9").Value <> "" Then
Application.Goto Reference:="OFFSET(R9C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R9C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH10").Value <> "" Then
Application.Goto Reference:="OFFSET(R10C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R10C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH11").Value <> "" Then
Application.Goto Reference:="OFFSET(R11C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R11C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH12").Value <> "" Then
Application.Goto Reference:="OFFSET(R12C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R12C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH13").Value <> "" Then
'ActiveSheet.Unprotect Password:="1234"
Application.Goto Reference:="OFFSET(R13C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R13C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH14").Value <> "" Then
Application.Goto Reference:="OFFSET(R14C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R14C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH15").Value <> "" Then
Application.Goto Reference:="OFFSET(R15C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R15C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH16").Value <> "" Then
Application.Goto Reference:="OFFSET(R16C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R16C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH17").Value <> "" Then
Application.Goto Reference:="OFFSET(R17C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R17C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH18").Value <> "" Then
Application.Goto Reference:="OFFSET(R18C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R18C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH19").Value <> "" Then
Application.Goto Reference:="OFFSET(R19C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R19C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH20").Value <> "" Then
Application.Goto Reference:="OFFSET(R20C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R20C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH21").Value <> "" Then
Application.Goto Reference:="OFFSET(R21C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R21C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH22").Value <> "" Then
Application.Goto Reference:="OFFSET(R22C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R22C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH23").Value <> "" Then
Application.Goto Reference:="OFFSET(R23C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R23C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
ThisWorkbook.Activate
If Range("AH24").Value <> "" Then
Application.Goto Reference:="OFFSET(R24C34,0,4,1,10)"
Selection.Copy
ThisWorkbook.Activate
Application.Goto Reference:= _
"OFFSET('[DataPlan.xlsx]Sheet1'!R1C1,MATCH(R24C34,INDEX('[DataPlan.xlsx]Sheet1'!R2C1:R50000C1,0),0),25)"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
'---------------------------------------------------------------------------------------------------------
ThisWorkbook.Activate
Workbooks("DataPlan.xlsx").Save
Workbooks("DataBase.xlsx").Save
Sheets("M01").Select
ThisWorkbook.Save
Range("Q3").Select
Selection.ClearContents
ActiveSheet.Protect Password:="1234"
'MsgBox ("ºÑ¹·Ö¡¢éÍÁÙÅàÃÕºÃéÍÂ"), vbInformation
ThisWorkbook.Save
Application.Calculation = xlCalculationAutomatic
Range("C6").Select
Application.ScreenUpdating = True
End Sub