Estimados Amigos:
Tengo el siguiente problemita con la programación en VBA Excel 2007, resulta compré un libro muy práctico con ejemplos en el que no se explican demasiadas cosas sino todo aprendizaje es a base de ejemplos.
Se me ocurrió crear esta macro para probar algo:
Sub Prueba()
Dim Hoja As String
Hoja = InputBox("¿En que hoja desea pegar los valores?", "PRUEBA", "Hoja3")
Worksheets(Hoja).Activate
With ActiveSheet
.Range(Cells(34, 3), Cells(40, 9)).Value = Hoja
End With
End Sub
Este macro está escrito en la "Hoja2" y cuando intento pegar los valores en la Hoja3 (valor por defecto en el inputbox) me da un error o algo así con un número 400 y una cruz roja y según parece es porque identifico el rango con el objeto "Cells". En cambio, si pego los valores en la "Hoja2" (usando el objeto "Cells") el programa funciona.
Digo esto además porque si escribo la macro así:
Sub Prueba()
Dim Hoja As String
Hoja = InputBox("¿En que hoja desea pegar los valores?", "PRUEBA", "Hoja3")
Worksheets(Hoja).Activate
With ActiveSheet
.Range("A9:C30").Value = Hoja
End With
End Sub
el programa funciona correctamente.
Alguien sabe porque ocurre esto o le pasó alguna vez?
Cómo puedo solucionar este tema de no poder usar otra hoja para egar valores usando el objeto "cells" para definir un rango?
Estoy usando alguna sentencia incorrecta?
Muchas gracias desde ya amigos!
BIMSOFTWARE.MX GStarCAD - Software CAD 2d/3d
Canales de Ingeniería Civil en:
Whatsapp / Telegram
Whatsapp / Telegram
Ayuda Macros VBA Excel 2007
Reglas del Foro
Favor de usar el boton de Dar Gracias
En el mensaje del usuario al que deseas agradecer
En vez de escribir gracias repetidamente
Favor de usar el boton de Dar Gracias
En el mensaje del usuario al que deseas agradecer
En vez de escribir gracias repetidamente
- ReneM
- Moderador
- Mensajes: 871
- Registrado: Vie Ago 19, 2005 1:55 pm
- Ubicación: Santiago - Chile
- Contactar:
Hola, prueba con:
Código: Seleccionar todo
Sub Prueba()
Dim Hoja As String
Hoja = InputBox("¿En que hoja desea pegar los valores?", "PRUEBA", "Hoja3")
Worksheets(Hoja).Activate
MsgBox ActiveSheet.Name
With ActiveSheet
.Range(.Cells(34, 3), .Cells(40, 9)).Value = Hoja
End With
End Sub
-
- Usuario Principiante
- Mensajes: 11
- Registrado: Mié Dic 03, 2008 5:39 pm
Muchas Gracias Rene!!!
Ahora si funciona pero la verdad es que no entiendo por qué, lo único que hicimos fue agregar "MsgBox ActiveSheet.Name" y con eso si funciona.
Tenés alguna idea de porqué ocurre esto?
Gracias!!!
Ahora si funciona pero la verdad es que no entiendo por qué, lo único que hicimos fue agregar "MsgBox ActiveSheet.Name" y con eso si funciona.
Tenés alguna idea de porqué ocurre esto?
Gracias!!!
-
- Usuario Principiante
- Mensajes: 11
- Registrado: Mié Dic 03, 2008 5:39 pm
Hola René, yo de nuevo...
Sabés una cosa? resulta que probé escribir el mismo macro inicial en vez de en cada hoja, en la "hoja" que dice "ThisWorkook" y anduvo sin problemas.
Otro misterio para mí, todavía no consigo un libro completo de VBA Excel.´
Gracias!
Sabés una cosa? resulta que probé escribir el mismo macro inicial en vez de en cada hoja, en la "hoja" que dice "ThisWorkook" y anduvo sin problemas.
Otro misterio para mí, todavía no consigo un libro completo de VBA Excel.´
Gracias!
- ReneM
- Moderador
- Mensajes: 871
- Registrado: Vie Ago 19, 2005 1:55 pm
- Ubicación: Santiago - Chile
- Contactar:
Hola, disculpa, el código:
no influye en nada, sólo se me quedó mientras hacía una prueba, lo que realmente solucionó el mensaje fueron los puntos antes de Cells, esto equivale a incorporar la hoja activa debido a que usaste el comando:
En cuanto a lo segundo, te recomiendo que las macros las escribas en Módulos, esto es lo que efectivamente ocurre cuando seleccionas ThisWorkbook al momento de crearla.
Código: Seleccionar todo
MsgBox ActiveSheet.Name
Código: Seleccionar todo
With ActiveSheet
-
- Usuario Principiante
- Mensajes: 11
- Registrado: Mié Dic 03, 2008 5:39 pm
Muchas Gracias Rene!!! No sabía que incluyendo los puntos antes del comando Cells ocurría eso. De todas formas ahora siempre escribo los macros en "This WorkBook"
Muchas gracias!
Muchas gracias!
Hola,
Que tal soy nuevo en esto del VBA para excel y necesito aprender rapidamente acerca de como migrar automaticamente desde excel informacion de una BD en el formato DBF del Foxpro desde un boton para que solo extraiga ciertos campos.
Quisiera saber si es posible que me proporciona la direccion del libro que mencionas en el primer post
Que tal soy nuevo en esto del VBA para excel y necesito aprender rapidamente acerca de como migrar automaticamente desde excel informacion de una BD en el formato DBF del Foxpro desde un boton para que solo extraiga ciertos campos.
Quisiera saber si es posible que me proporciona la direccion del libro que mencionas en el primer post
-
- Usuario Principiante
- Mensajes: 1
- Registrado: Lun Dic 26, 2011 3:34 pm
Hola a todos
Bueno, soy nuevo en el empleo de esta página y espero aportar con un libro de guia
Saludos...
Bueno, soy nuevo en el empleo de esta página y espero aportar con un libro de guia
Saludos...
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
-
- Similar Topics
- Respuestas
- Vistas
- Último mensaje
-
- 0 Respuestas
- 4164 Vistas
-
Último mensaje por vmjara.c
-
- 0 Respuestas
- 12340 Vistas
-
Último mensaje por PINEDA RAMOS
-
- 1 Respuestas
- 11709 Vistas
-
Último mensaje por pannus0