Ayuda Macros VBA Excel 2007
Publicado: Lun Ene 19, 2009 12:15 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!
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!