小编Gra*_*ler的帖子

用于循环删除行

我正在使用一个宏列出我选择的任何目录中的所有文件名.我正在编写代码,将文件名拆分为以后可以使用的块.文件名列表从单元格F6开始,沿列向下运行.这是我到目前为止编写的代码:

Dim ContractNum As String
Dim InvNum As String
Dim FileRng As Range
Dim FileLastRow As Long
Dim File As Range

FileLastRow = Sheet1.Range("F" & Rows.Count).End(xlUp).Row

Set FileRng = Sheet1.Range("F6:F" & FileLastRow).SpecialCells(xlCellTypeConstants, 23)

For Each File In FileRng
If File = "Invoice.zip" Or File = "Thumbs.db" Then
    File.EntireRow.Delete
End If
Next File


For Each File In FileRng
    ContractNum = Left(File, 4)
    InvNum = Mid(File, 8, 6)
    File.Offset(0, -5) = ContractNum
    File.Offset(0, -4) = InvNum
Next File
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经完成了那部分工作.我遇到的问题是,在所有使用此宏的目录中都有不需要的文件,例如"Thumbs.db"或"Invoice.zip".我遇到问题的代码如下:

For Each File …
Run Code Online (Sandbox Code Playgroud)

excel vba for-loop excel-vba

3
推荐指数
1
解决办法
374
查看次数

excel vba:代码中的换行符

我在excel vba中有一个相当冗长的公式,我被迫分成多行.我试过插入"_"但是我收到以下错误:

"编译错误:预期:声明结束"

我已多次查看此代码,似乎无法找到导致此错误的原因.如果有人可以查看下面的代码并帮我解决这个问题,我会非常感激.提前致谢.

        If InStr(1, lineitem.Value, "Excess MO") > 0 And InStr(1, lineitem.Value, "AOS") > 0 Then
        lineitem.Offset(0, 16).Formula = "=SUMPRODUCT(COUNTIFS(INDIRECT(""'""&R2C3&"" Claims'!B:B""),R[0]C[-19],INDIRECT(""'""&R2C3&"" Claims'!C:C""),R[0]C[-17],INDIRECT(""'""&R2C3&"" Claims'!E:E""),CHOOSE({1;2},R[0]C[-15],R[0]C[-14]),INDIRECT(""'""&R2C3&"" Claims'!P:P""),"">""&R5C3,INDIRECT(""'""&R2C3&"" Claims'!H:H""),""<>""&""NS""))- _
        SUMPRODUCT(COUNTIFS(INDIRECT(""'""&R2C3&"" Claims'!B:B""),R[0]C[-19],INDIRECT(""'""&R2C3&"" Claims'!C:C""),R[0]C[-17],INDIRECT(""'""&R2C3&"" Claims'!E:E""),CHOOSE({1;2},R[0]C[-15],R[0]C[-14]),INDIRECT(""'""&R2C3&"" Claims'!P:P""),"">""&R5C3,INDIRECT(""'""&R2C3&"" Claims'!H:H""),""<>""&""NS"",INDIRECT(""'""&R2C3&"" Claims'!G:G""),R2C5:R2C27))- _
        SUMPRODUCT(COUNTIFS(INDIRECT(""'""&R2C3&"" Claims'!B:B""),R[0]C[-19],INDIRECT(""'""&R2C3&"" Claims'!C:C""),R[0]C[-17],INDIRECT(""'""&R2C3&"" Claims'!E:E""),CHOOSE({1;2},R[0]C[-15],R[0]C[-14]),INDIRECT(""'""&R2C3&"" Claims'!P:P""),"">""&R5C3,INDIRECT(""'""&R2C3&"" Claims'!H:H""),""<>""&""NS"",INDIRECT(""'""&R2C3&"" Claims'!G:G""),R5C5:R5C54))"
        lineitem.Offset(0, 16).Value = lineitem.Offset(0, 16).Value
        lineitem.Offset(0, 17).Formula = "=SUMPRODUCT(COUNTIFS(INDIRECT(""'""&R3C3&"" Claims'!B:B""),R[0]C[-20],INDIRECT(""'""&R3C3&"" Claims'!C:C""),R[0]C[-18],INDIRECT(""'""&R3C3&"" Claims'!E:E""),CHOOSE({1;2},R[0]C[-16],R[0]C[-15]),INDIRECT(""'""&R3C3&"" Claims'!P:P""),"">""&R5C3,INDIRECT(""'""&R3C3&"" Claims'!H:H""),""<>""&""NS""))- _
        SUMPRODUCT(COUNTIFS(INDIRECT(""'""&R3C3&"" Claims'!B:B""),R[0]C[-20],INDIRECT(""'""&R3C3&"" Claims'!C:C""),R[0]C[-18],INDIRECT(""'""&R3C3&"" Claims'!E:E""),CHOOSE({1;2},R[0]C[-16],R[0]C[-15]),INDIRECT(""'""&R3C3&"" Claims'!P:P""),"">""&R5C3,INDIRECT(""'""&R3C3&"" Claims'!H:H""),""<>""&""NS"",INDIRECT(""'""&R3C3&"" Claims'!G:G""),R2C5:R2C27))- _
        SUMPRODUCT(COUNTIFS(INDIRECT(""'""&R3C3&"" Claims'!B:B""),R[0]C[-20],INDIRECT(""'""&R3C3&"" Claims'!C:C""),R[0]C[-18],INDIRECT(""'""&R3C3&"" Claims'!E:E""),CHOOSE({1;2},R[0]C[-16],R[0]C[-15]),INDIRECT(""'""&R3C3&"" Claims'!P:P""),"">""&R5C3,INDIRECT(""'""&R2C3&"" Claims'!H:H""),""<>""&""NS"",INDIRECT(""'""&R3C3&"" Claims'!G:G""),R5C5:R5C54))"
        lineitem.Offset(0, 17).Value = lineitem.Offset(0, 17).Value
        End If
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

1
推荐指数
1
解决办法
916
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

for-loop ×1