Как мне express стать моим последним, когда дело доходит до создания сводной таблицы? Когда я попытался express указать мои исходные данные как SourceData: = _ "'Result'! R1C2: R & lrC10", он просто не смог найти последнюю строку строки. Есть ли другой способ сделать express последнюю строку в sourcedata перед созданием сводной таблицы, кроме выражения ее в форме R и C? Я также попытался выразить lastrow как lr = ws1.Range ("B" & ws1.Rows.Count) .End (xlUp) .Row, но он не работает (без сгенерированной сводной таблицы)
Dim siteCount As Integer
Dim site_i As Worksheet, lr As Long
Dim ws1 As Worksheet
Set ws1 = ActiveWorkbook.Worksheets("Result")
lr = ws1.Range("B" & ws1.Rows.Count).End(xlUp).Row
siteCount = 13
Dim z As Integer
For z = 1 To siteCount
Set site_i = Sheets.Add(after:=Sheets(Worksheets.Count))
site_i.Name = "wafermapvbd" & CStr(z)
Next z
#from sitecount=13 to next z is just for creating the 13 wafermaps here
#to create one of the 13 wafermaps
Range(Selection, Selection.End(xlDown)).Select
Dim pc As PivotCache, pt As PivotTable
Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
ws1.Range("B2:D" & lr), Version:=xlPivotTableVersion14) '<-----------how to express source data using lastrow here?
# Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"'Result'!R1C2:R&lrC10", Version:=xlPivotTableVersion14) '<------doesn't work when express lr with R and C originally
Set pt = pc.CreatePivotTable(TableDestination:="'wafermapvbd1'!R3C1", _
TableName:="PivotTable100", DefaultVersion:=xlPivotTableVersion14)
данные для создания сводной таблицы
мой текущий полный код для создания одной из моих 13 сводных таблиц, если вам нужна дополнительная информация
Dim siteCount As Integer
Dim site_i As Worksheet, lr As Long
Dim ws1 As Worksheet
Set ws1 = ActiveWorkbook.Worksheets("Result")
lr = sht.ListObjects("Table1").Range.Rows.Count
lr = ws1.Range("B" & ws1.Rows.Count).End(xlUp).Row
siteCount = 13
Dim z As Integer
For z = 1 To siteCount
Set site_i = Sheets.Add(after:=Sheets(Worksheets.Count))
site_i.Name = "wafermapvbd" & CStr(z)
Next z
Range(Selection, Selection.End(xlDown)).Select
Dim pc As PivotCache, pt As PivotTable
Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
ws1.Range("B2:D" & lr), Version:=xlPivotTableVersion14) '<-----------how to express source data using lastrow here?
Set pt = pc.CreatePivotTable(TableDestination:="'wafermapvbd1'!R3C1", _
TableName:="PivotTable100", DefaultVersion:=xlPivotTableVersion14)
Sheets("wafermapvbd1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable100").PivotFields("X_position")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable100").PivotFields("Y_position")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable100").AddDataField ActiveSheet.PivotTables( _
"PivotTable100").PivotFields("Vbd"), "Average of Vbd", xlAverage
ActiveSheet.PivotTables("PivotTable100").PivotFields("Y_position").AutoSort _
xlDescending, "Y_position"