[RESUELTO] copiar las líneas visibles con "x" y pegar hoja 2
[RESUELTO] copiar las líneas visibles con "x" y pegar hoja 2
saludos ,
tengo una macro vba de Excel que localiza la letra "x" en la columna "B" de la hoja de cálculo 1 y luego copia la línea visible correspondiente de la columna "A" hasta la columna "C" y pega los valores en forma secuencial en la hoja 2 primera línea vacía .
la hoja de cálculo 1 está con el filtro auto, con líneas visibles .
necesito convertir esta macro vba a una macro básica en LibreOffice .
la nueva macro LibreOffice debe realizar la misma operación
observación :
sigue adjunto el archivo.xls de plantilla con la macro vba para convertir en macro LibreOffice .
abrazos
tengo una macro vba de Excel que localiza la letra "x" en la columna "B" de la hoja de cálculo 1 y luego copia la línea visible correspondiente de la columna "A" hasta la columna "C" y pega los valores en forma secuencial en la hoja 2 primera línea vacía .
la hoja de cálculo 1 está con el filtro auto, con líneas visibles .
necesito convertir esta macro vba a una macro básica en LibreOffice .
la nueva macro LibreOffice debe realizar la misma operación
observación :
sigue adjunto el archivo.xls de plantilla con la macro vba para convertir en macro LibreOffice .
abrazos
- Adjuntos
-
- copia las líneas visibles con x pega en la hoja de cálculo 2.xls
- (35 KiB) Descargado 289 veces
Última edición por physic el Jue Dic 06, 2018 12:43 am, editado 1 vez en total.
LibreOffice 5.4.4.2 >>> Windows 7
Re: macro: copiar las líneas visibles con "x" y pegar hoja 2
amigos ,
coloco adjunto el archivo LIbreOffice para las pruebas .
abrazos .
coloco adjunto el archivo LIbreOffice para las pruebas .
abrazos .
- Adjuntos
-
- copia las líneas visibles con x pega en la hoja de cálculo 2.ods
- (15.46 KiB) Descargado 274 veces
LibreOffice 5.4.4.2 >>> Windows 7
Re: macro: copiar las líneas visibles con "x" y pegar hoja 2
Esta macro AOO Basic hace (creo) lo que hace la macro VBA que has subido.
No sé si las dos macros hagan lo que en realidad deseas hacer.
Saludos, Federico.
No sé si las dos macros hagan lo que en realidad deseas hacer.
Saludos, Federico.
Código: Seleccionar todo
Option Explicit
Sub CopiaColaSequencia()
Dim doc As Object
Dim wsI As Object, wsO As Object
Dim lRow As Long, i As Long, r As Long
Dim copyRng As Object, celda As Object
Dim cursor As Object, rango As String
Dim datos
doc = ThisComponent
wsI = doc.Sheets.getByName("Plan1")
wsO = doc.Sheets.getByName("Plan2")
celda = wsI.getCellRangeByName("A1")
cursor = wsI.createCursorByRange(celda)
cursor.collapseToCurrentRegion
lRow = cursor.RangeAddress.endRow
r = 0
For i = 1 To lRow
celda = wsI.getCellByPosition(2, i)
If celda.String <> "" And celda.Rows.IsVisible = True Then
rango = "A" & i + 1 & ":C" & i + 1
r = r + 1
wsO.copyRange(wsO.getCellByPosition(0, r).CellAddress, wsI.getCellRangeByName(rango).RangeAddress)
End If
Next
cursor = wsO.createCursorByRange(wsO.getCellRangeByName("A1"))
cursor.collapseToCurrentRegion
datos = cursor.dataArray
wsO.getCellRangeByName(cursor.absoluteName).setDataArray(datos)
End Sub
- Adjuntos
-
- copia las líneas visibles con x pega en la hoja de cálculo 2.ods
- pasar Datos
- (17.02 KiB) Descargado 294 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: macro: copiar las líneas visibles con "x" y pegar hoja 2
sr. Federico ,
su macro ya está muy buena, muchas gracias por ayudar .
tiene como pegar un nuevo bloque después del bloque que ya fue pegado en la "Plan2" ?
en el momento está colocando sobre el primer bloque que ya pegó en la "Plan2" .
es bueno mantener el bloque inicial, y luego un nuevo bloque sea pegado bajo ese primer bloque, siendo así, puedo guardar histórico de los bloques filtrados y pegados .
abrazos amigo .
su macro ya está muy buena, muchas gracias por ayudar .
tiene como pegar un nuevo bloque después del bloque que ya fue pegado en la "Plan2" ?
en el momento está colocando sobre el primer bloque que ya pegó en la "Plan2" .
es bueno mantener el bloque inicial, y luego un nuevo bloque sea pegado bajo ese primer bloque, siendo así, puedo guardar histórico de los bloques filtrados y pegados .
abrazos amigo .
LibreOffice 5.4.4.2 >>> Windows 7
Re: macro: copiar las líneas visibles con "x" y pegar hoja 2
Cambia Por
Recuerda siempre debe haber un titulo en la hoja "Plan2", en este caso el rango A1:C1
Saludos, Federico.
Código: Seleccionar todo
r = 0
Código: Seleccionar todo
cursor = wsO.createCursorByRange(wsO.getCellRangeByName("A1"))
cursor.collapseToCurrentRegion
r = cursor.RangeAddress.endRow
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: macro: copiar las líneas visibles con "x" y pegar hoja 2
[Resuelto]
sr. Federico ,
se quedó muy bien su macro .
está funcionando muy bien .
muchas gracias por la contribución .
abrazos amigo .
sr. Federico ,
se quedó muy bien su macro .
está funcionando muy bien .
muchas gracias por la contribución .
abrazos amigo .
LibreOffice 5.4.4.2 >>> Windows 7