Visual Basic para Aplicaciones - Obtener primera celda de un rango

Life is soft - evento anual de software empresarial
 
Vista:

Obtener primera celda de un rango

Publicado por Gabriel (3 intervenciones) el 17/09/2009 18:21:40
Estoy creando una función que pide el rango de entrada de datos como parametros,

La idea es que dentro de la función identifique la fila y la columna de la primera celda del rango, así como la última, existe alguna manera de identificarlo, o sea que el programa reconozca o separe la primera celda del rango y la ultima, y como recorrerla, la verdad estría muy agradecido por el aporte de alguién.

Gracias

Saludos
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:Obtener primera celda de un rango

Publicado por JuanC (565 intervenciones) el 17/09/2009 19:44:19
'//By JuanC - Dic. 2007
Function FirstCell(ByVal rng As Range) As String
Dim i&, sAdd$, sLetter$, sTmp$
On Error Resume Next
'//Si el rango contiene sólo una celda
If rng.Count = 1 Then
FirstCell = UCase(rng.Address(0, 0))
Exit Function
End If
'//Ref. del rango
sAdd = "," & UCase(rng.Address(0, 0))
'//Busca la letra de la 1er columna
'//dentro del rango
For i = 1 To Columns.Count
sLetter = GetColumnId(i)
If InStr(1, sAdd, sLetter) > 0 Then Exit For
Next
sTmp = "," & sLetter
'//Busca 1er fila del rango
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

RE:Obtener primera celda de un rango

Publicado por Gabriel (3 intervenciones) el 17/09/2009 19:51:18
Gracias

Saludos
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