Ayuda Macros VBA Excel 2007

Para subir hojas de calculo de Ingenieria civil
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
Responder
Tangosuite
Usuario Principiante
Usuario Principiante
Mensajes: 11
Registrado: Mié Dic 03, 2008 5:39 pm

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!
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

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
Tangosuite
Usuario Principiante
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!!!
Tangosuite
Usuario Principiante
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!
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

Hola, disculpa, el código:

Código: Seleccionar todo

MsgBox ActiveSheet.Name
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:

Código: Seleccionar todo

With ActiveSheet
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.
Tangosuite
Usuario Principiante
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!
Stackado
Usuario Principiante
Usuario Principiante
Mensajes: 2
Registrado: Lun Abr 11, 2011 9:35 am

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
jardeyfrancis
Usuario Principiante
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...
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje

Volver a “Hojas de Calculo Excel”

  • Información