Página 1 de 1

[RESUELTO] Obtener letra de una columna

Publicado: Mié Jul 08, 2015 5:21 am
por daniel.r.23
Buenas estoy necesitando saber como puedo obtener la letra que identifica una columna, ejemplo estoy en una posición i,j = 0,0 y quiero obtener como resultado "A", esto se puede? :alarm:

Re: Obtener letra de una columna

Publicado: Mié Jul 08, 2015 12:11 pm
por xiseme
=ELEGIR(COLUMNA();"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"... xx ...")

Re: Obtener letra de una columna

Publicado: Mié Jul 08, 2015 12:36 pm
por daniel.r.23
Eso me sirve en caso de estar trabajando con formulas, pero yo estoy trabajando con las macros. Alguna idea???

Re: Obtener letra de una columna

Publicado: Mié Jul 08, 2015 1:02 pm
por PepeOooSevilla
Hola.
Del libro "Useful Macro Information For OpenOffice.org" de Andrew Pitonyak adapté esta función:

Código: Seleccionar todo

Function NumColumACadena(ByVal NumColumna As Long) As String
' La columna 0 es la A, la 26 es la AA y la 1023 es la AMJ
	Dim ColumnaEnLetra As String
	If (NumColumna >= 0) And (NumColumna <= 1023) Then
		ColumnaEnLetra = ""
		Do While NumColumna >= 0
			ColumnaEnLetra = Chr(65 + NumColumna MOD 26) + ColumnaEnLetra
			NumColumna = (NumColumna \ 26) - 1
		Loop
	Else
		ColumnaEnLetra = "#REF!"
	End If
	NumColumACadena = ColumnaEnLetra
End Function
Saludos cordiales.

Re: Obtener letra de una columna

Publicado: Mié Jul 08, 2015 1:13 pm
por FJCC-ES
Puede ver la columna donde empieza la selección actual con este código.

Código: Seleccionar todo

Sub Columna
CurrSel = ThisComponent.CurrentSelection
Columnas = CurrSel.Columns
Columna0 = Columnas.ElementNames(0)
print "La seleccion empieza en la columna " & Columna0
End Sub
Un objecto devuelto por el método getCellByPosition() tambien tiene la propiedad Columns.

Código: Seleccionar todo

oHoja = ThisComponent.Sheets.getByName("Sheet1")
oCelda = oHoja.getCellByPosition(2,1)
Columnas = oCelda.Columns
Columna0 = Columnas.ElementNames(0)
print "Estamos en la columna " & Columna0

Re: Obtener letra de una columna

Publicado: Mié Jul 08, 2015 3:15 pm
por xiseme
daniel.r.23 escribió:... pero yo estoy trabajando con las macros...
Grrrr... ¡pues dilo de primeras, caramba!

Muevo el tema al subforo de Macros