Я новичок в использовании VBA. Я только что создал макрос, в котором я хочу, чтобы пробелы автоматически заполнялись нулями в этом же макросе. Я пробовал несколько способов, но это отмечает меня ошибку. Попытался использовать следующую строку кода:
ActiveSheet.PivotTables("TablaDepartamentos").NullString = "0"
Я использую эту строку кода, поскольку сводная таблица переименована:
'Rename pivot table
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
For Each pt In ws.PivotTables
pt.Name = ws.Name
Next pt
Next ws
End With
Далее я оставляю код для просмотра что я делаю. Большое спасибо:
Sub PRUEBA()
Dim pt As PivotTable
Dim PTCache As PivotCache
'Revisa que no existan hojas con ese nombre y si lo hay, lo alimina
On Error Resume Next
Application.DisplayAlerts = False
Sheets("TablaDepartamentos").Delete
On Error GoTo 0
'Obtener la informacion de la tabla
Set PTCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=Sheets("ECC-EWM").Range("A1").CurrentRegion.Address)
'Crear una nueva worksheet
Worksheets.Add
ActiveSheet.Name = "TablaDepartamentos"
'Crear la tabla pivote
Set pt = ActiveSheet.PivotTables.Add( _
PivotCache:=PTCache, _
TableDestination:=Range("A1"))
'Crear columna de la tabla
With pt.PivotFields("System")
.Orientation = xlColumnField
.Position = 1
End With
'Crear fila de la tabla
With pt.PivotFields("Depart")
.Orientation = xlRowField
.Position = 1
End With
'Table information
With pt.PivotFields("Count")
.Orientation = xlDataField
.Position = 1
.Function = xlSum
.NumberFormat = "#,##0"
'Rename pivot table
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
For Each pt In ws.PivotTables
pt.Name = ws.Name
Next pt
Next ws
End With
End Sub
Большое спасибо