Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算网络天数,例外情况中省略一些日期-Excel_Excel_Vba - Fatal编程技术网

计算网络天数,例外情况中省略一些日期-Excel

计算网络天数,例外情况中省略一些日期-Excel,excel,vba,Excel,Vba,下面是一个宏,它从我们导入到某些选项卡的数据中收集数据。当宏运行时,它会过滤数据,并用新数据生成一个新的excel工作簿。创造这一切的人已经不在我们身边了。宏工作正常,除了我尝试添加另一个列,比如计算网络天数的列,称为“自第一次身份验证以来的天数”。我想再加上一条,从信息传递给我们开始算起,再过几天。我接到了一个电话 Sub Runme() ' ' Macro1 Macro ' Macro recorded 22/03/2013' ' Sheets("CCX data SORTED")

下面是一个宏,它从我们导入到某些选项卡的数据中收集数据。当宏运行时,它会过滤数据,并用新数据生成一个新的excel工作簿。创造这一切的人已经不在我们身边了。宏工作正常,除了我尝试添加另一个列,比如计算网络天数的列,称为“自第一次身份验证以来的天数”。我想再加上一条,从信息传递给我们开始算起,再过几天。我接到了一个电话

Sub Runme()
'
' Macro1 Macro
' Macro recorded 22/03/2013'

'
    Sheets("CCX data SORTED").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Sheets("CCX Data Raw").Select
    Range("A:C,E:G").Select
    Selection.Delete Shift:=xlToLeft
    Rows("1:1").Select
    Selection.AutoFilter
    Range("H2").Select
    Range("A1:X10000").Sort Key1:=Range("H1"), Order1:=xlDescending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("H55000").End(xlUp)(2, 1).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Selection.ClearContents
    Cells.Select
    Selection.Copy
    Sheets("CCX data SORTED").Select
    Range("A1").Select
    ActiveSheet.Paste
    Sheets("CCX Data Raw").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Sheets("CCX data SORTED").Select
    Columns("X:X").Select
    Selection.Insert Shift:=xlToRight
    Range("X2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(VLOOKUP(RC[-23],'SCMT weekly data'!C[-17]:C[-11],7,FALSE)>0,(VLOOKUP(RC[-23],'SCMT weekly data'!C[-17]:C[-11],7,FALSE)),"""")"
    Range("X2").Select
    Selection.AutoFill Destination:=Range("X2:X5000")
    Range("X1").Select
    ActiveCell.FormulaR1C1 = "SCMT end Date"
    Columns("X:X").Select
    Selection.NumberFormat = "m/d/yyyy"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("SCMT Weekly data").Select
    Columns("Z:Z").Select
    Selection.Insert Shift:=xlToRight
    Range("Z1").Select
    ActiveCell.FormulaR1C1 = "Days To Exclude 1"
    Range("Z2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(COUNTA(RC[-2],RC[-1])=2,NETWORKDAYS(RC[-2],RC[-1],'Bank hols'!RC[-25]:R[56]C[-25]),0)"
    Selection.AutoFill Destination:=Range("Z2:Z5000"), Type:=xlFillDefault
    Columns("AD:AD").Select
    Selection.Insert Shift:=xlToRight
    Range("AD1").Select
    ActiveCell.FormulaR1C1 = "Days To Exclude 2"
    Range("AD2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(COUNTA(RC[-2],RC[-1])=2,NETWORKDAYS(RC[-2],RC[-1],'Bank hols'!RC[-29]:R[56]C[-29]),0)"
    Selection.AutoFill Destination:=Range("AD2:AD5000")
    Columns("Z:Z").Select
    Selection.NumberFormat = "0"
    Columns("AD:AD").Select
    Selection.NumberFormat = "0"
    Range("AH2").Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("AF1").Select
    ActiveCell.FormulaR1C1 = "Days since first auth"
    Range("AF2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(COUNTA(RC[-21],R2C34)=2,NETWORKDAYS(RC[-21],R2C34,'Bank hols'!RC[-31]:R[56]C[-31]),"""")"
    Range("AG2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISNUMBER(RC[-1]),SUM(RC[-1]-(RC[-3]+RC[-7])),"""")"
    Range("AG1").Select
    ActiveCell.FormulaR1C1 = "Days since 1st Auth less parked"
    Columns("AH:AH").Select
    Selection.Insert Shift:=xlToRight
    Range("AH1").Select
    ActiveCell.FormulaR1C1 = "Still Parked"
    Range("AH2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(AND(ISNUMBER(RC[-10]),ISBLANK(RC[-9])),""XX"",IF(AND(ISNUMBER(RC[-6]),ISBLANK(RC[-5])),""XX"",""""))"
    Selection.AutoFill Destination:=Range("AH2:AH5000")
    Range("AF2:AG2").Select
    Selection.AutoFill Destination:=Range("AF2:AG5000")
    Range("A55000").End(xlUp)(2, 1).Select
    Selection.EntireRow.Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents
    Sheets("CCX data SORTED").Select
    Range("Z1").Select
    ActiveCell.FormulaR1C1 = "SCMT Queue"
    Range("Z2").Select
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-25],'SCMT Daily Drop'!C[-16]:C[-14],3,FALSE)"
    Selection.AutoFill Destination:=Range("Z2:Z5000")
    Range("AA1").Select
    ActiveCell.FormulaR1C1 = "Days Since First Approved"
    Range("AA2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,'SCMT weekly data'!C7:C34,27,FALSE)"
    Selection.AutoFill Destination:=Range("AA2:AA5000")
    Range("AB1").Select
    ActiveCell.FormulaR1C1 = "Still Parked"
    Range("AB2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,'SCMT weekly data'!C7:C34,28,FALSE)"
    Selection.AutoFill Destination:=Range("AB2:AB5000")
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A55000").End(xlUp)(2, 1).Select
    Selection.EntireRow.Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents
    Sheets("SCMT weekly data").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Sheets(Array("SCMT weekly data", "SCMT Daily Drop", "CCX data SORTED")).Select
    Sheets("CCX data SORTED").Activate
    Sheets(Array("SCMT weekly data", "SCMT Daily Drop", "CCX data SORTED")).Copy
    Windows("SCMT Parked.xls").Activate
    Sheets("SCMT weekly data").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Sheets("SCMT Daily Drop").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    Sheets("CCX data SORTED").Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    MsgBox ("Macro Complete")


End Sub

你想把它放在哪里?例如,如果要将其放在z列中,请尝试:

Columns("Z:Z").Select
Selection.Insert Shift:=xlToRight
Range("Z1").Select
ActiveCell.FormulaR1C1 = "New formula"
Range("Z2").Select
ActiveCell.FormulaR1C1 = "=AA2-AB2"
Selection.AutoFill Destination:=Range("Z2:Z5000")

我不明白你需要的公式,但有一个模板你可以使用。。。如果您给我们配方,我们可以把它放在最后一行?

您好,谢谢您的快速回复。我正在考虑在AJ中为例如创建一个列,该列与用于“自第一次授权以来未停驻的天数”的公式相同。ActiveCell.FormulaR1C1=“=IF(COUNTA(RC[-21],R2C34)=2,NETWORKDAYS(RC[-21],R2C34,'Bank hols'!RC[-31]:R[56]C[-31]),“”“)”范围(“AG2”)。选择ActiveCell.FormulaR1C1=“=IF(ISNUMBER(ISNUMBER(isrc)[-1]),和(RC[-1]-(RC[-3]+RC[-7]),“”“)”范围(“AG1”)。选择ActiveCell.FormulaR1C1=“自第一次授权后的天数”感谢Aginok,所以只需将我的“Z”替换为你的“AJ”,和=AA2-AB2,以及程序上方的等效行,您可以开始了!再次感谢,这会正确计算并实施网络日吗?我知道这是计算首次授权后网络日的公式-“=IF(COUNTA(RC[-21],R2C34)=2,网络日(RC[-21],R2C34,'Bank hols'!RC[-31]:R[56]C[-31]),"""")"-但是,我不确定从何处提取列数据,因为我无法理解它的引用。我知道它使用工作手册上的选项卡,该选项卡上有银行假期的日期,但不确定从哪些列提取数据来运行公式和计算。您几乎不应该使用选择代码,因为
列(“Z:Z”)会更好).插入范围(“Z1”).Value=“新公式”和范围(“Z2”).FormulaR1C1=“=AA2-AB2”。自动填充范围(“Z2:Z5000”)以