Excel VBA在空单元格中循环并检索行值

时间:2018-09-07 15:59:59

标签: excel vba

我,再次!

我想做的是在我的范围内搜索任何空单元格,并为找到的每个空单元格从其行(偏移量)中返回一些值。

我到目前为止发布的代码:

map_series = imdb[['bar_code', 'item_id']].astype(int).set_index('bar_code')['item_id']

df['item_id'] = df['item_id'].map(map_series).fillna(df['item_id'])

我正在使用的Debug.Print只是测试的一种临时解决方案,因为尝试打印整行仅返回一个结果...现在我得到同一行的多个结果。

我只能猜测我正在忽略某些东西或使用For Each循环完全错误。

我知道我的代码确实很乱,但是如果您能指出正确的方向,我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

似乎您的循环每次都引用fecdes而不是单元格,因此对于S列中的每个单元格,它都重新评估fecdes.offset(0,5),然后在fecdes单元格旁边打印值。但是大概您至少想让它评估您在S列中循环通过的单元格,对吧?

Private Sub buscarbtn_Click()
Dim fecha As Date: fecha = fechabsc.Value
Dim DESCUBIERTO As Boolean: DESCUBIERTO = False
Dim LR As Long
Dim r As Long
Dim i As Long
Dim diasem as string
Dim cell As Range


Hoja9.Range("L8").Value = fecha
fec = Hoja9.Range("L9").Value


select case fec
case 1
    diasem = "D"
case 2
    diasem = "L"
case 3
    diasem = "M"
case 4
    diasem = "W"
case 5
    diasem = "J"
case 6
    diasem = "V"
case 7
    diasem = "S"
end select

Hoja9.Range("L10").Value = diasem
r = prontuario1.cells(1,19).end(xldown).row

For i=2 to r
If prontuario1.cells(i,19).Offset(0, 5).Value = "" Then
  DESCUBIERTO = True
  Debug.Print prontuario1.cells(i,19).Offset(0, 2).Value & " " & prontuario1.cells(i,19).Offset(0, 3).Value & " - " & prontuario1.cells(i,19).Offset(0, 4).Value
End If
Next i

End Sub