Buenas noches:
Tengo el siguiente código:
Sub infcierre()
Sheets("CIERRE").Unprotect Password:="xxx"
On Error Resume Next
If Not Intersect(Target, Range("E4")) Is Nothing Then
With PivotTables("Tabla dinámica3").PivotFields("FECHA")
.ClearAllFilters
.NumberFormat = "dd-mm-yyyy"
.CurrentPage = Format([E4], "dd-mm-yyyy")
On Error Resume Next
.CurrentPage = Range("E4").Value
End With
End If
If Err.Number > 0 Then MsgBox "Fecha inexistente"
On Error GoTo 0
protecierre
End Sub
Cuando ejecuto la macro me sale el mensaje " Error de compilación: No se ha definido Sub o Function " y lo resalta el siguiente código
With PivotTables("Tabla dinámica3").PivotFields("FECHA")
Justo en PivotTables.
Este codigo funciona a la perfección cuando está en el código de la hoja directamente Private Sub Worksheet_Change(ByVal Target As Range) y etc y sin contraseña , o que tengo que aumentar para que me funcione directamente en la hoja??? o en el modulo.
Ayuda por favor.
Gracias por su tiempo.
Jesús
PivotTables es una colección ¿pero donde está?
Si el sódigo está en la hoja, Excel supondrá que te refieres a la colección de esa misma hoja, pero si el código está en otra parte ¿que debería suponer Excel? cada hoja del libro tiene su colección pivottables (aunque no haya ninguna tabla dinámica en la hoja, la colección existe)
Así que ponle la hoja delante, con su nombre con Worksheets("hoja1") o prueba a poner algo como
ActiveSheet.PivotTables
si te quieres referir a la hoja activa en cada momento.
Ten también en cuenta que está utilizando en tu código la variable Target, que es una variable especial que utilizan algunos eventos de la hoja como el evento Worksheet_change, pero tu macro no tiene objeto Target
------
Ya sé Excel, pero necesito más.
Gracias por la respuesta, pero por favor como deberia mejorar mi código? porque la verdad me perdi jejeje, por favor si me podrias detallar el código mejorado te agradeceria un monton.
Saludos cordiales
Jesús
Jesus Martinez Plantarosa
Para ser un más util mi pregunta adjunto el archivo
Jesus Martinez Plantarosa