Borrar celdas de otra hoja

Intente grabar una macro de la siguiente forma:
Private Sub CommandButton1_Click()
'
' Macro1 Macro
' Macro grabada el 06/08/2009
    Sheets("Hoja2").Select
    Range("A1:K40").Select
    Selection.ClearContents
    Sheets("Hoja1").Select
    Range("A1").Select
End Sub
Bueno lo que pasa es que no borra los datos de la hoja 2 en el rango que seleccionamos y me aparece en amarillo la siguiente linea "Range("A1:K40").Select" el botón esta en la hoja 1. Me podrían ayudar o si tienen algún código que me ayude a borrar los datos de la hoja 2 pero haciéndolo desde la hoja 1 y que se quede en la hoja 1.

1 respuesta

Respuesta
1
Ok.
cambia Sheets("Hoja2").Select por:
Sheets("Hoja2"). Activate
Y comentame como te va. También en la otra instrucción de la Hoja 1
La verdad es que probé tu macro y debería funcionar. Cambiale el nombre a la macro o sea no uses el Private Sub CommandButton1_Click(), sino que ponle cualquier otro nombre y asigna la macro al botón y así me funciono perfecto.
Pruébalo y me comentas
Hola gracias por tu respuesta ahora quedo así:
Sheets("Hoja2").Activate
Range("A5:C1000").Select
Selection.ClearContents
Sheets("Hoja1").Activate
Pero el problema es que solo me borra la celda actual en la hoja 2 por ejemplo si dejo seleccionado un rango lo borra pero si no tengo seleccionado nada solo borra la celda seleccionada el problema es que no me esta seleccionando el rango a que se deberá. Espero me haya explicado. Saludos y gracias por tu tiempo
Puedes escribir la macro completa con el sub y todo
Y ademas en que parte estas poniendo el código, debería ser en un modulo
Comentame
Private Sub CommandButton2_Click()
Dim intRespuesta, Total As Integer
intRespuesta = MsgBox("Se va a imprimir", _
  vbQuestion + vbYesNo, "Advertencia")
If intRespuesta = 6 Then
Application.ScreenUpdating = False
Dim libro As String, nbre As String, ruta As String, miRuta As String, miCarpeta As String, miSubcarp As String
Application.Worksheets("Cierre").Visible = True
Application.Worksheets("Cierre").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
miRuta = "c:"
miCarpeta = Application.Worksheets("Venta").Range("G10")
miSubcarp = Application.Worksheets("Venta").Range("G2")
On Error Resume Next
MkDir miRuta & "\" & miCarpeta
MkDir miRuta & "\" & miCarpeta & "\" & miSubcarp
libro = ActiveWorkbook.Name
nbre = Application.Worksheets("Cierre").Range("A1")
ruta = miRuta & "\" & miCarpeta & "\" & miSubcarp
Application.Worksheets("Cierre").Copy
Set wb = ActiveWorkbook
With wb
.SaveAs Filename:=ruta & nbre & ".xls", _
FileFormat:=xlText, CreateBackup:=False
.Close True
End With
Set wb = Nothing
Application.Worksheets("Cierre").Visible = xlVeryHidden
Sheets("Cierre").Activate
Range("A5:C1000").Select 'Esta line es la que me marca en el error
Selection.ClearContents
Sheets("Venta").Activate
Application.ScreenUpdating = True
Else
End If
End Sub
Ahi esta todo lo demas funciona a la perfeccion pero simpre me marca el error 1004 y me marca la linea del rango a borrrar en amarrillo.
Saludos
Perdón antes de ocultar la hoja esta lo de borrar
Sheets("Cierre").Activate
Range("A5:C1000").Select 'Esta line es la que me marca en el error
Selection.ClearContents
Sheets("Venta").Activate
Application.ScreenUpdating = True
Application.Worksheets("Cierre").Visible = xlVeryHidden
Else
End If
End Sub
Saludos
La verdad es que estoy con poco tiempo, pero por lo que alcance a probar, ¿por qué? No se, pero no uses el Private Sub CommandButton2_Click(), pole cualquier otro nombre y el sub proceso debe estar en un modulo por lo mismo al botón creado asígnale la macro con el nombre que pusiste.
Igual voy a tratar de ayudarte viendo el tema
Hola ya también lo intente cambiando el private como me dices pero sigue igual no se a que se debe el error ya que me sigue marcando el rango donde se va a borrar. Pero bueno espero y tengas un poco de tiempo y me puedas ayudar de cualquier forma te agradezco. Saludos
Estuve revisando la macro rápidamente la probé y me funciona no se cae en nada solo le cambie el sub proceso
o sea cambie
Private Sub CommandButton2_Click()
Por este otro solo la primera linea y debes poner la macro en un modulo y luego asignar al botón la macro proceso
Sub proceso()
Prueba nuevamente a mi por lo que entendí me creo un nuevo libro y dejo el otro, solo que como no tengo datos no se si lo hizo bien, pero no se cayo en nada, macro funciono perfecto.
Juégatela y me comentas
Funciono con un modulo lo único que no me gusta es que no hace click como si fuera un botón, si no que aparece como si fuera un link hay una forma de ponerlo como botón.
Al mismo botón que creas le puedes asignar la macro, con el botón derecho y luego asignar macro.
La otra alternativa es Insertar una forma a la cual le puedes asignar la macro de la misma forma que esta explicada arriba.
Juégatela y Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas