Recorrer todas las celdas

09/04/2005 - 00:50 por Adobes | Informe spam
Necesito averiguar si en alguna celda de una hoja hay
escrito algo, no conozco qué. Se me ocurre generar un
bucle que recorra celda por celda chequeando su 'value'
aunque sé que esto llevará mucho tiempo.

¿Existe un método mejor?

Saludos desde Zaragoza-España

Preguntas similare

Leer las respuestas

#1 KL
09/04/2005 - 01:29 | Informe spam
Hola Adobes,

Prueba esto:

Sub test()
On Error Resume Next
Set res = ActiveSheet.Cells.Find("*")
MsgBox "La celda " & res.Address & _
" contiene el siguiente valor: " & res.Value
If Err.Number <> 0 Then _
MsgBox "No se ha encontrado nada."
End Sub

Saludos,
KL


"Adobes" wrote in message
news:14e401c53c8d$51145730$
Necesito averiguar si en alguna celda de una hoja hay
escrito algo, no conozco qué. Se me ocurre generar un
bucle que recorra celda por celda chequeando su 'value'
aunque sé que esto llevará mucho tiempo.

¿Existe un método mejor?

Saludos desde Zaragoza-España
Respuesta Responder a este mensaje
#2 KL
09/04/2005 - 01:40 | Informe spam
Tambien, prueba esto.

Saludos,
KL

Sub test()
Dim rngConst As Range
Dim rngForm As Range
On Error Resume Next
With ActiveSheet.Cells
Set rngConst = .SpecialCells(xlCellTypeConstants)
Set rngForm = .SpecialCells(xlCellTypeFormulas)
End With
If Not rngConst Is Nothing Then
MsgBox "Las siguientes celdas: " & Chr(13) & _
rngConst.Address & " contienen valores."
Else
MsgBox "No se han encontrado valores."
End If
If Not rngForm Is Nothing Then
MsgBox "Las siguientes celdas: " & Chr(13) & _
rngForm.Address & " contienen formulas."
Else
MsgBox "No se han encontrado formulas."
End If
End Sub
Respuesta Responder a este mensaje
#3 aDOBES
09/04/2005 - 01:43 | Informe spam
Gracias por tu respuseta, KL.

Ahora bien, quizás no me expliqué suficiente, pero pueden
ser varias las celdas que contengan algún valor. Tu código
se detiene en la primera 'no vacía' pero necesito conocer
si existen más celdas con contenido.

Saludos desde Zaragoza-España.

Hola Adobes,

Prueba esto:

Sub test()
On Error Resume Next
Set res = ActiveSheet.Cells.Find("*")
MsgBox "La celda " & res.Address & _
" contiene el siguiente valor: " & res.Value
If Err.Number <> 0 Then _
MsgBox "No se ha encontrado nada."
End Sub

Saludos,
KL


"Adobes" wrote in


message
news:14e401c53c8d$51145730$
Necesito averiguar si en alguna celda de una hoja hay
escrito algo, no conozco qué. Se me ocurre generar un
bucle que recorra celda por celda chequeando su 'value'
aunque sé que esto llevará mucho tiempo.

¿Existe un método mejor?

Saludos desde Zaragoza-España


.

Respuesta Responder a este mensaje
#4 Adobes
09/04/2005 - 02:06 | Informe spam
Imposible ser más rápido respondiendo, gracias KL,
funciona perfectamente.

Una última cuestión ya fuera de lo tratado: ¿es posible
enviarte un archivo xls a tu correo Hotmail para que me
ayudes con algo que se me apodera? Necesariamente he de
utilizar IE para acceder las news y no puedo enviar
adjuntos.

De nuevo gracias y más saludos.

Tambien, prueba esto.

Saludos,
KL

Sub test()
Dim rngConst As Range
Dim rngForm As Range
On Error Resume Next
With ActiveSheet.Cells
Set rngConst = .SpecialCells(xlCellTypeConstants)
Set rngForm = .SpecialCells(xlCellTypeFormulas)
End With
If Not rngConst Is Nothing Then
MsgBox "Las siguientes celdas: " & Chr(13) & _
rngConst.Address & " contienen valores."
Else
MsgBox "No se han encontrado valores."
End If
If Not rngForm Is Nothing Then
MsgBox "Las siguientes celdas: " & Chr(13) & _
rngForm.Address & " contienen formulas."
Else
MsgBox "No se han encontrado formulas."
End If
End Sub


.

Respuesta Responder a este mensaje
#5 KL
09/04/2005 - 02:07 | Informe spam
Prueba el segundo codigo que te puse 10 min mas tarde.

Saludos desde Barcelona,
KL


"aDOBES" wrote in message
news:150e01c53c94$b4b8bf40$
Gracias por tu respuseta, KL.

Ahora bien, quizás no me expliqué suficiente, pero pueden
ser varias las celdas que contengan algún valor. Tu código
se detiene en la primera 'no vacía' pero necesito conocer
si existen más celdas con contenido.

Saludos desde Zaragoza-España.

Hola Adobes,

Prueba esto:

Sub test()
On Error Resume Next
Set res = ActiveSheet.Cells.Find("*")
MsgBox "La celda " & res.Address & _
" contiene el siguiente valor: " & res.Value
If Err.Number <> 0 Then _
MsgBox "No se ha encontrado nada."
End Sub

Saludos,
KL


"Adobes" wrote in


message
news:14e401c53c8d$51145730$
Necesito averiguar si en alguna celda de una hoja hay
escrito algo, no conozco qué. Se me ocurre generar un
bucle que recorra celda por celda chequeando su 'value'
aunque sé que esto llevará mucho tiempo.

¿Existe un método mejor?

Saludos desde Zaragoza-España


.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida