In my experience, it works better if you use an R1C1 style reference rather than a Range object or an A1 style string:
Dim pc As PivotCache
Set pc = tgtBook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Data!R1C1:R500000C2", Version:=Excel.xlPivotTableVersion14)