Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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 如果第4列和第8列中的两个条件为真,则将第12列中的值写入另一工作表 Sub-CreateTable() Dim bf作为布尔值 Dim aTable(),aRes() 暗i等于长,k等于长,n等于长 带有工作表(“DohaddeŽPOLOŽKY”)的列表,位于kde东南赫莱达的塔布尔库 i=.Cells(.Rows.Count,“A”).End(xlUp).row aTable=.Range(“A1:P”和i).Value'tabulka do pole ReDim aRes(1对i+1,1对1)“velikost磁极 以 对于i=1至UBound(aTable)'od 1,则为poctu radky tabulky 如果表(i,1)为空,则“kdyz neni prazdna” 如果aTable(i,4)=“Depo”且aTable(i,8)=“CZK”,则 aTable(i,12)=战神(i,1):i=i+1 如果结束 如果结束 接下来我 '上传vysledku na list do sloupce J 工作表(“列表1”)。范围(“A1”)。调整大小(UBound(aRes),1)。值=aRes 范围(“A1”)。选择 ActiveCell.FormulaR1C1=“KUK” 端接头_Excel_Loops_If Statement_Vba - Fatal编程技术网

Excel 如果第4列和第8列中的两个条件为真,则将第12列中的值写入另一工作表 Sub-CreateTable() Dim bf作为布尔值 Dim aTable(),aRes() 暗i等于长,k等于长,n等于长 带有工作表(“DohaddeŽPOLOŽKY”)的列表,位于kde东南赫莱达的塔布尔库 i=.Cells(.Rows.Count,“A”).End(xlUp).row aTable=.Range(“A1:P”和i).Value'tabulka do pole ReDim aRes(1对i+1,1对1)“velikost磁极 以 对于i=1至UBound(aTable)'od 1,则为poctu radky tabulky 如果表(i,1)为空,则“kdyz neni prazdna” 如果aTable(i,4)=“Depo”且aTable(i,8)=“CZK”,则 aTable(i,12)=战神(i,1):i=i+1 如果结束 如果结束 接下来我 '上传vysledku na list do sloupce J 工作表(“列表1”)。范围(“A1”)。调整大小(UBound(aRes),1)。值=aRes 范围(“A1”)。选择 ActiveCell.FormulaR1C1=“KUK” 端接头

Excel 如果第4列和第8列中的两个条件为真,则将第12列中的值写入另一工作表 Sub-CreateTable() Dim bf作为布尔值 Dim aTable(),aRes() 暗i等于长,k等于长,n等于长 带有工作表(“DohaddeŽPOLOŽKY”)的列表,位于kde东南赫莱达的塔布尔库 i=.Cells(.Rows.Count,“A”).End(xlUp).row aTable=.Range(“A1:P”和i).Value'tabulka do pole ReDim aRes(1对i+1,1对1)“velikost磁极 以 对于i=1至UBound(aTable)'od 1,则为poctu radky tabulky 如果表(i,1)为空,则“kdyz neni prazdna” 如果aTable(i,4)=“Depo”且aTable(i,8)=“CZK”,则 aTable(i,12)=战神(i,1):i=i+1 如果结束 如果结束 接下来我 '上传vysledku na list do sloupce J 工作表(“列表1”)。范围(“A1”)。调整大小(UBound(aRes),1)。值=aRes 范围(“A1”)。选择 ActiveCell.FormulaR1C1=“KUK” 端接头,excel,loops,if-statement,vba,Excel,Loops,If Statement,Vba,有点不对劲。它没有错误,但我认为它不会在数组中写入值。所以工作表(“列表1”)上的结果就是空的 我可以看到aTable从何处获取值,但不知道aRes是如何获取值的?它的意思是从一个范围内提取它们吗?它的意思是在这一部分表(i,12)=aRes(i,1):i=i+1,但我认为它不正确。它不应该表(i,12)=aRes(i,1)be表(i,1)=aRes(i,12)?正如@Mrig所说的,我认为你的表(i,12)=aRes分配的方式不对。它应该是aRes(i,1)=aTable(i,12)。另外,您

有点不对劲。它没有错误,但我认为它不会在数组中写入值。所以工作表(“列表1”)上的结果就是空的

我可以看到
aTable
从何处获取值,但不知道
aRes
是如何获取值的?它的意思是从一个
范围内提取它们吗?它的意思是在这一部分表(i,12)=aRes(i,1):i=i+1,但我认为它不正确。它不应该
表(i,12)=aRes(i,1)
be
表(i,1)=aRes(i,12)
?正如@Mrig所说的,我认为你的
表(i,12)=aRes
分配的方式不对。它应该是
aRes(i,1)=aTable(i,12)
。另外,您在一个循环中有这个值,所以您不需要
i=i+1
(除非您特别想从
aTable
数组中跳过其他所有值。在这种情况下,我只需使用
步骤2
)我尝试了“aRes(i,1)=aTable(i,12)”,但是它仍然没有返回任何内容。我可以看到
aTable
从何处获取值,但不知道
aRes
如何获取值?它的意思是从一个
范围内提取它们吗?它的意思是在这一部分表(i,12)=aRes(i,1):i=i+1,但我认为它不正确。它不应该
表(i,12)=aRes(i,1)
be
表(i,1)=aRes(i,12)
?正如@Mrig所说的,我认为你的
表(i,12)=aRes
分配的方式不对。它应该是
aRes(i,1)=aTable(i,12)
。另外,您在一个循环中有这个值,所以您不需要
i=i+1
(除非您特别希望跳过
aTable
数组中的其他所有值。在这种情况下,我只需使用
步骤2
)我尝试了“aRes(i,1)=aTable(i,12)”,但它仍然没有返回任何结果。
Sub CreateTable() 
Dim bf As Boolean
Dim aTable(), aRes()
Dim i As Long, k As Long, n As Long
  With Worksheets("DOHADNÉ POLOŽKY")   ' List s tabulkou, kde se hleda
    i = .Cells(.Rows.Count, "A").End(xlUp).row
    aTable = .Range("A1:P" & i).Value ' tabulka do pole

    ReDim aRes(1 To i + 1, 1 To 1) ' velikost pole
        End With



For i = 1 To UBound(aTable)  ' od 1 do poctu radky tabulky
    If aTable(i, 1) <> Empty Then ' kdyz neni prazdna
        If aTable(i, 4) = "Depo" And aTable(i, 8) = "CZK" Then


                    aTable(i, 12) = aRes(i, 1): i = i + 1
                                           End If
                                End If
Next i
' upload vysledku na list do sloupce J
Worksheets("List1").Range("A1").Resize(UBound(aRes), 1).Value = aRes
Range("A1").Select
ActiveCell.FormulaR1C1 = "KUK"

End Sub