Problema con Macro

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Giovany
Mensajes: 2
Registrado: Mar Jul 27, 2010 2:34 pm

Problema con Macro

Mensaje por Giovany »

:cry: Buen dia tengo una macro que me corre genial en Excel pero no he podido hacer que corra en openoficce, la idea es que ciertas celdas seleccionadas de la hoja "Factura" las copie en la hoja "BD" en una sola fila, agradezco su ayuda. Aca les dejop el codigo:

Sub Registra()
'Datos completos ?
If Sheets("Factura").Range("D17") = 6 Then
Sheets("BD").Unprotect ("LfGb")
Grabar
Sheets("BD").Protect ("LfGb")
Else
MsgBox "Faltan Datos por llenar", vbInformation, "Mi Aplicación"
End If
End Sub
Sub Grabar()
Sheets("BD").Select
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Application.Goto Reference:="R65536C1"
'Subir hasta encontrar datos
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Sheets("Factura").Select
Range("B12,D12,F12,H12").Select
Range("B12").Activate
'Borro el contenido de las celdas
Selection.ClearContents
Range("B12").Select
End Sub
Sub Consolida()
'Actualizo el rango "MiBase", con registros nuevos
Sheets("BD").Unprotect ("LfGb")
Sheets("BD").Range("A5").CurrentRegion.Name = "MiBase"
Sheets("BD").Protect ("LfGb")

End Sub


Editado por el moderador (mauricio) para mover el tema a un subforo apropiado. Si no lo has hecho aún por favor lee la Guía de supervivencia
Última edición por mauricio el Mar Jul 27, 2010 4:20 pm, editado 1 vez en total.
Razón: Moverlo al foro correcto
OpenOffice 3.2 en Windos XP Service Pack 3
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problema con Macro

Mensaje por mauricio »

Hola...

En el siguiente tema: http://user.services.openoffice.org/es/ ... 556#p11782
Respondí una pregunta similar, con las macros ahí publicadas, vas llenando de forma simple otra hoja. Checa si te sirve.

Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Giovany
Mensajes: 2
Registrado: Mar Jul 27, 2010 2:34 pm

Re: Problema con Macro

Mensaje por Giovany »

Hola que pena la molestia pero en la macro de excel me copiaba ciertas celdas (ejemplo A1, b2, c3 y ) y las ponia en uina sola fila en la hoja BD crees que esto es posible hacerlo. Mil gracias por tu ayuda
OpenOffice 3.2 en Windos XP Service Pack 3
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problema con Macro

Mensaje por mauricio »

Hola...

Dices...
la macro de excel me copiaba ciertas celdas (ejemplo A1, b2, c3 y ) y las ponia en uina sola fila en la hoja BD
Pero eso no hace el código que muestras, las siguientes líneas:

Código: Seleccionar todo

Sheets("BD").Select
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Lo que hacen es: seleccionar la hoja BD, seleccionar la celda A2, expandir la selección a la derecha, copiar, después:

Código: Seleccionar todo

Application.Goto Reference:="R65536C1"
'Subir hasta encontrar datos
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Se mueve a la celda A65536, sube hasta donde hay datos, se mueve hacia abajo una celda con lo que encuentre la siguiente fila libre, copia primero los valores y después los formatos.

Todo esto lo hace de una forma mucho más sencilla el código del tema que te mostré.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder