Excel 非空单元格的查找值
我想提取对应于非空单元格的值。此处非空单元格包含34和28值。Excel 非空单元格的查找值,excel,excel-formula,Excel,Excel Formula,我想提取对应于非空单元格的值。此处非空单元格包含34和28值。 因此,公式应该理想地提取akhil和sam。使用.offset方法获取非空单元格上方单元格的内容。我不知道您的代码,但假设您将值放入数组中,然后使用“for…each”循环检查单元格,每次它找到非空单元格时,使用.offset(-1,0).value(或.text)获取非空单元格上方单元格的内容。然后,您需要将计数器前移,以便下次它找到非空单元格时,非空单元格上方的单元格内容将存储在数组中的下一个可用地址中 如果使用阵列,则在开始在
因此,公式应该理想地提取akhil和sam。使用.offset方法获取非空单元格上方单元格的内容。我不知道您的代码,但假设您将值放入数组中,然后使用“for…each”循环检查单元格,每次它找到非空单元格时,使用.offset(-1,0).value(或.text)获取非空单元格上方单元格的内容。然后,您需要将计数器前移,以便下次它找到非空单元格时,非空单元格上方的单元格内容将存储在数组中的下一个可用地址中 如果使用阵列,则在开始在阵列中存储数据之前,还需要读取Redim命令以调整阵列的大小。您将需要至少两个循环,一个用于。。。每个循环用于计算非空单元格的数量,以便调整数组的大小,以及用于。。。每个循环都要遍历单元格并获取非空单元格上方的数据 下面是一个示例,它使用从D10到H10的一个小范围来执行您的请求,并且只在即时框中显示结果。你可以用它做你想做的事
ColA ColB ColC ColD
akhil cha sam rush
34 28
Sub getdata()
Dim myrange As Range
Dim c As Range
Dim names() As String
Dim a As Long
Dim b As Long
Set myrange = ActiveSheet.Range("D10:H10")
a = 0
For Each c In myrange
If Not c.Value = "" Then a = a + 1
Next c
ReDim names(0 To a - 1)
b = 0
For Each c In myrange
If Not c.Value = "" Then
names(b) = c.Offset(-1, 0).Text
b = b + 1
End If
Next c
For b = 0 To a - 1
Debug.Print names(b)
Next b
End Sub