Estoy aprendiendo esto de las macros y me gustaria conseguir que mi macro analizase si el contenido de una columna es texto o numero y según eso copie el contenido de cadacelda de esa columna en otra. Si es texto en la columna 2 y si es número, que lo copie en la columna 4.
Código: Seleccionar todo
Option Explicit
Sub CONTABILIDAD()
Dim oHoja As Object
Dim oRango As Object
Dim oCol As Object
Dim oCell As Object
Dim a As integer
oHoja = ThisComponent.getCurrentController.getActiveSheet()
oRango = ThisComponent.getCurrentSelection()
oCol = oRango.getColumns.getByIndex(0)
ThisComponent.getCurrentController.select(oCol)
a = 0
oCol = oRango.getColumns.getByIndex(0)
oCell = oRango.getCellByPosition(0,a) ' selecciona A1 (primer numero = columna, segundo numero = fila)
For a = 0 to a = 1000
' MsgBox oCell.getType() '0: Vacia - 1: Número - 2: Texto - 3: Fórmula
If oCell.getType = 2 Then
oRango.copyRange(oRango.getCellByPosition(2,a),oCell.String)
Else
oRango.copyRange(oRango.getCellByPosition(4,a),oCell.Value)
End If
Next a
End Sub