Visual Basic para Aplicaciones - Identificar celda especifica de rango de datos

Life is soft - evento anual de software empresarial
 
Vista:

Identificar celda especifica de rango de datos

Publicado por Bull  (1 intervención) el 16/03/2010 19:53:32
Hola!

Miren quiero hacer una función que reciba un rango de datos, pero luego identificar el primer elemento, el segundo, el que yo quiera de este rango de datos, independiente si le estoy pasando una columna o una fila, es decir ir recorriendo el rango y saber que celda es la primera, ya me entienden? y luego convertir ese elemento de tipo range a real.

Ojalá me puedan explicar un poco más. Muchas gracias.

Saludos,

Bull
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:Identificar celda especifica de rango de datos

Publicado por JuanC (565 intervenciones) el 16/03/2010 20:14:32
veamos si esto te sirve...
'//By JuanC - Dic. 2007
Function FirstCell(ByVal rng As Range) As String
Dim i&, sAdd$, sLetter$, sTmp$
On Error Resume Next
If rng.Count = 1 Then
FirstCell = UCase(rng.Address(0, 0))
Exit Function
End If
sAdd = "," & UCase(rng.Address(0, 0))
For i = 1 To Columns.Count
sLetter = GetColumnId(i)
If InStr(1, sAdd, sLetter) > 0 Then Exit For
Next
sTmp = "," & sLetter
For i = 1 To Rows.Count
If InStr(1, sAdd, sTmp & i & ",") > 0 Or _
InStr(1, sAdd, sTmp & i & ":") > 0 Then
FirstCell = sLetter & i
Exit For
End If
Next
Set rng = Nothing
End Function
Private Function GetColumnId(ByVal i As Integer) As String
Dim sAlpha$, sRes$, k%
If i > Cells.Columns.Count Then Exit Function
sAlpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
sRes = ""
If i > 26 Then
i = i - 1
k = Int(i / 26)
sRes = Mid(sAlpha, k, i)
i = i Mod 26 + 1
End If
GetColumnId = sRes & Mid(sAlpha, i, 1)
End Function

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar