Macro para exportar unos datos organizados
Estoy realizando una macro para organizar unos datos de una hoja a otro, con 5 pasos. He estado trabajando en el tema pero no lo he podido terminar con códigos de macro. Requiero ayuda de un experto.
1 Respuesta
[Hola Diana. Para poder recibir ayuda necesitas aportar más datos. De momento solo dices que necesitas organizar unos datos en 5 pasos.
Intenta subir alguna captura de la hoja si puedes etc.
[Hola Diana. Perdona, pero si no te importa prefiero por aquí, o intenta ser lo más explicita posible.
PASO: 1 Eliminar colomna A Y , desplazar columna C hasta columna P. Primera Imagen
PASO 2: La columna que inicialmente era B y con la eliminación anterior pasa a ser columna A. Y con texto de columnas separar todos los datos ahí diligenciados en la columna A ya que la base de datos arrojaba todo junto. Primera Imagen
PASO 3: La columna que inicialmente era B y con la eliminación anterior pasa a ser columna A. Y con texto de columnas separar todos los datos ahí diligenciados en la columna A ya que la base de datos arrojaba todo junto.
PASO 4: Unir nombre de la empresa
PASO 5: Exportar datos a la hoja DOCUMENTOS SIN NEGOCIACION tal como se muestra en el ejemplo
NOTA: La base de datos es más larga ósea de más empresas, lo diligenciado es solo un ejemplo.
[Hola Diana. Entiendo que quieres una macro que copie datos de una hoja "primera imagen"
¿Y pegue en otra hoja "segunda imagen" es correcto?
Y veo que ninguna de las dos hojas que muestras tienen formato de tabla
Como no estoy muy seguro si quieres mover todo en bloque o no Te voy a preparar una macro sencilla para que tu la manipules y hagas los cambios que necesites. De momento te recomiendo que vayas copiando y pegando por columnas, solo tienes que modificar el rango de la macro.
Sub CopiarHojas()
Sheets("Hoja1").Range("A1:A13").Copy Destination:=Sheets("hoja3").Range("J13")
Application.CutCopyMode = False
End Sub
Copia y pega el código en un módulo y lo llamas. Solo tienes que modificar el rango que esta entre comillas, y si las hojas tienen nombre, cambia donde pone "hoja1 y hoja3" Cualquier duda me dices
Creo que no fui clara con la información, hagamos una cosa voy a enviarte la paso por paso para no enredarnos. Estoy un poco nueva en el tema de macros entonces se me dificulta un poco y quiero aprender bastante. Yo he creado un menú con botones para los 5 pasos.
En el botón 1 al presionarlo quiero eliminar todo lo de la hoja 2 llamada BASE DE DATOS. Me podrías ayudar a que código podría utilizar y como asociar el modulo al botón del PASO 1.
[Hola Diana. Me parece bien, así nos vamos a entender mejor. Pero me da la impresión que esto es algún trabajo educativo que te han pedido y pretendes que te lo hagan jaja, pero te ayudaré en lo que pueda.
De momento para el paso uno coloca la siguiente línea dentro del botón 'by Carlos Arrocha
'Borrar toda la hoja
Sheets("BASE DE DATOS"). Cells. Clear
Si alguna de las celdas tienen fórmulas y no quieres que se borren, utiliza la siguiente línea Sheets("BASE DE DATOS"). Cells. ClearContents
Si quieres borrar todo, utiliza la primera línea. Con esto completamos el paso uno y dos
Selecciona el botón, y haces click sobre el con el botón derecho del ratón, Ahí dentro colocas el código
Listo Carlos ya me funciono el primer paso muchas gracias, ahora vamos con el segundo.
PASO 2: Eliminar columna A y D , desplazar columna C hasta columna P.
La imagen es la base de datos original exportada de un programa y le requiero hacer las modificaciones mencionadas en el paso 2.
Siguiente paso: Abre un Módulo y pega el siguiente código. Para llamarlo lo haces con "call BorrarColum" o si prefieres, copia solo el interior del código sin el "Sub BorrarColum y el End Sub" y lo pegas directamente en el botón que corresponda. Ojo! Dentro del apartado donde pone ("Hoja1"), tienes que cambiarlo y poner el nombre de la hoja donde quieres que se ejecute la macro
Sub BorrarColum()
Sheets("Hoja1").Range("C:C"). Copy
Range("S:S"). PasteSpecial xlPasteAll
Sheets("Hoja1").Range("A:A,D:D,C:C").Select
Selection.EntireColumn.Delete
Application.CutCopyMode = False
End Sub
Hola para este paso 2 ingrese otro botón para ejecutarlo, pero al pegar el código me genera el sgte error:
Creo que lo has puesto mal. No lo pongas en el módulo para que no te compliques. Colócalo dentro del botón, pero si tiene nombre asegúrate que no tenga acentos. Debería quedar algo así.
Hola Carlos que pena la ignorancia, pero al crear el botón en el programador me genera lo sgte, y le doy nuevo y me genera un modulo para ingresar el codigo.
No se como generar la opcion CommandButton1
Según la imagen, en la parte alta, has click sobre el botón que dice modo diseño, luego selecciona uno de esos tres botones de la hoja, y con el botón derecho del ratón, selecciona ver código. Ahí dentro pegas el código. Para finalizar vuelve a pinchar sobre el botón modo diseño para desactivarlo.
[Hola Diana. Hagamos una cosa. Has doble click en cada módulo y haces una captura de pantalla de cada uno. Y donde tienes los botones igual, pero ten en cuenta, que para hacer doble click sobre un botón, antes debes activar la opción modo diseño. Tranquila que esto se soluciona, pero tengo que pedirte algo. Cierra esta consulta y haces una nueva, así gano algo yo también, aunque sean puntos.
- Compartir respuesta