Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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,我试图找到一行中包含值的前四个单元格,类型为Double。我想将单元格的值添加到数组中,并找到单元格的位置以备将来使用。我还需要在比赛结束后做23排的练习。有些行不包含任何值。矩阵从单元AB3开始 我一直在尝试从一个For循环开始,这样我就可以沿着行进行操作,然后在其中有一个For循环,以便在每次移动到新行时创建一个新数组。 我需要的代码看起来像这样 For i = 3 to 27 For j = 0 to 3 TIGA(j) = Range(Cells(i, j + 2

我试图找到一行中包含值的前四个单元格,类型为Double。我想将单元格的值添加到数组中,并找到单元格的位置以备将来使用。我还需要在比赛结束后做23排的练习。有些行不包含任何值。矩阵从单元AB3开始

我一直在尝试从一个For循环开始,这样我就可以沿着行进行操作,然后在其中有一个For循环,以便在每次移动到新行时创建一个新数组。 我需要的代码看起来像这样

For i = 3 to 27
    For j = 0 to 3
        TIGA(j) = Range(Cells(i, j + 28), Cells(last cell)).Find(first               
        value and then the next three)
再一次,我需要在每一行中从左到右交叉工作。首先,我需要将行中的前四个值添加到数组中。接下来,我需要保存每个值的列号,因为我需要知道它们后面在代码中的列。在我得到一个你的信息后,我需要循环它来完成剩下的。每次代码循环到新行时,都可以重新启动包含值的数组以及用于单元格位置的任何变量/数组。非常感谢。

我稍微改变了一下,我想这就足够了:

Sub Test()

Dim TIGA As Variant, i As Long, j As Long, k As Long

ReDim TIGA(0 To 3)

For i = 3 To 27
    k = 0
    For j = 28 To 40
        If Cells(i, j) <> "" Then
            If IsNumeric(Cells(i, j)) = True And InStr(Cells(i, j), ".") > 0 Then 'make sure it's a double

                TIGA(k) = Cells(i, j)
                k = k + 1

                If k = 3 Then
                    Exit For
                End If

            End If
        End If
    Next j
Next i

End Sub
子测试()
Dim TIGA作为变型,i作为长型,j作为长型,k作为长型
ReDim TIGA(0到3)
对于i=3到27
k=0
对于j=28到40
如果单元格(i,j)“,则
如果IsNumeric(Cells(i,j))=True且InStr(Cells(i,j),“)>0,则“确保它是双精度的”
TIGA(k)=单元(i,j)
k=k+1
如果k=3,则
退出
如果结束
如果结束
如果结束
下一个j
接下来我
端接头

在Excel中,如何判断数字是否为双精度?
cell
函数将返回有关单元格的信息,例如格式,但是
0.00
返回F2和
,##0.00
返回
,2
如果它是双精度的,有关系吗?整数也可以吗?值需要在小数点后多个位置,所以整数类型的变量不起作用。这不是我需要的。我编辑了我最初的回复,希望能消除任何困惑。谢谢你@我明白了。。那么这些柱子延伸了多远?你想在这里使用
LastCol
吗?它来自第3-27行和AB-AN列。我不确定LastCol做什么。@ep2020我已经修复了代码。这是为每一行创建一个数组,但它在每次转到下一行时都会被覆盖-我假设您每次在循环中都会使用该数组做一些事情?非常感谢,这正是我所需要的!