Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kompatibilität 2013 zu 2010

Kompatibilität 2013 zu 2010
29.01.2015 14:31:53
Emanuel
Hallo zusammen,
ich habe folgendes Makro erstellt:
Sub Vis()
Application.ScreenUpdating = False
Cells.EntireColumn.Hidden = False
If ActiveSheet.AutoFilterMode Then
ActiveSheet.Rows("1:1").AutoFilter
End If
ActiveSheet.Columns("A:L").Delete
Range("A15").Value = "Advert ID"
ActiveSheet.Columns("B").Delete
Range("B15").Value = "Site ID"
ActiveSheet.Columns("C").Delete
Range("C15").Value = "Slot ID"
ActiveSheet.Columns("D").Delete
Range("D15").Value = "Format"
ActiveSheet.Columns("E:R").Delete
ActiveSheet.Columns("H:L").Delete
ActiveSheet.Columns("J:N").Delete
ActiveSheet.Columns("L:P").Delete
ActiveSheet.Columns("N:BM").Delete
Range("E15").Value = "AI served with Vis Pixel"
Range("F15").Value = "Measured AI 50% / 1sec"
Range("G15").Value = "Visible AI 50% / 1sec"
Range("H15").Value = "Measured AI 60% / 1sec"
Range("I15").Value = "Visible AI 60% / 1sec"
Range("J15").Value = "Measured AI 70% / 2sec"
Range("K15").Value = "Visible AI 70% / 2sec"
Range("L15").Value = "Measured AI 75% / 1sec"
Range("M15").Value = "Visible AI 75% / 1sec"
Application.DisplayAlerts = False
Sheets("View Time Classes").Delete
Sheets("Devices").Delete
Sheets("Glossary").Delete
Application.DisplayAlerts = True
lastRow = Cells(Rows.Count, 13).End(xlUp).Row
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Report!R15C1:R" & lastRow & "C13", Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="Tabelle1!R3C1", TableName:="PivotTable1", _
DefaultVersion:=xlPivotTableVersion15
Sheets("Tabelle1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Slot ID")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add "Vis 50/1", _
"='Visible AI 50% / 1sec' /'Measured AI 50% / 1sec'", True
ActiveSheet.PivotTables("PivotTable1").PivotFields("Vis 50/1").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Summe von Vis 50/1")
.NumberFormat = "0.00%"
End With
ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add "Vis 60/1", _
"='Visible AI 60% / 1sec' /'Measured AI 60% / 1sec'", True
ActiveSheet.PivotTables("PivotTable1").PivotFields("Vis 60/1").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Summe von Vis 60/1")
.NumberFormat = "0.00%"
End With
ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add "Vis 75/1", _
"='Visible AI 75% / 1sec'/'Measured AI 75% / 1sec'", True
ActiveSheet.PivotTables("PivotTable1").PivotFields("Vis 75/1").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Summe von Vis 75/1")
.NumberFormat = "0.00%"
End With
ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add "Vis 70/2", _
"='Visible AI 70% / 2sec' /'Measured AI 70% / 2sec'", True
ActiveSheet.PivotTables("PivotTable1").PivotFields("Vis 70/2").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Summe von Vis 70/2")
.NumberFormat = "0.00%"
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Measured AI 50% / 1sec"), _
"Summe von Measured AI 50% / 1sec", xlSum
With ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"Summe von Measured AI 50% / 1sec")
.NumberFormat = "#,##0"
End With
Range("B4").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Slot ID").AutoSort _
xlAscending, "Summe von Vis 50/1", ActiveSheet.PivotTables("PivotTable1"). _
PivotColumnAxis.PivotLines(1), 1
Range("A3").Select
ActiveSheet.PivotTables("PivotTable1").CompactLayoutRowHeader = "Slot ID"
Range("B3").Select
ActiveSheet.PivotTables("PivotTable1").DataPivotField.PivotItems( _
"Summe von Vis 50/1").Caption = "Visibility 50% / 1sec"
Range("C3").Select
ActiveSheet.PivotTables("PivotTable1").DataPivotField.PivotItems( _
"Summe von Vis 60/1").Caption = "Visibility 60% / 1sec"
Range("D3").Select
ActiveSheet.PivotTables("PivotTable1").DataPivotField.PivotItems( _
"Summe von Vis 75/1").Caption = "Visibility 75% / 2sec"
Range("E3").Select
ActiveSheet.PivotTables("PivotTable1").DataPivotField.PivotItems( _
"Summe von Vis 70/2").Caption = "Visibility 70% / 2sec"
Range("F3").Select
ActiveSheet.PivotTables("PivotTable1").DataPivotField.PivotItems( _
"Summe von Measured AI 50% / 1sec").Caption = "Anzahl Measured AI 50% / 1sec"
ActiveSheet.PivotTables("PivotTable1").RowAxisLayout xlTabularRow
With Columns("A:A")
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("B:E").EntireColumn.ColumnWidth = 23
Columns("F:F").ColumnWidth = 35
With Range("B3:F3")
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A1").Select
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Slot Visibility"
End Sub

Mein Problem ist nun, dass es an meinem Rechner mit Excel 2013 wunderbar funktioniert, bei meinem Kollegen (an dessen Platz es auch benutzt werden soll) aber einige Fehlermeldungen ausspuckt.
Kann das daran liegen, dass er Excel 2010 benutzt und kann man dieses Problem im Code ändern?
Vielen Dank im Voraus für eure Hilfe!
LG
Emanuel

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kompatibilität 2013 zu 2010
29.01.2015 14:53:17
Luschi
Hallo Emanuel,
zumindestens hast du schon mal 1 Konstate an 2 Stellen verwendet, die Excel 2010 nicht kennt:
Version:=xlPivotTableVersion15
DefaultVersion:=xlPivotTableVersion15
Verwende hier: xlPivotTableVersion14
siehe https://msdn.microsoft.com/de-de/library/office/ff837609%28v=office.15%29.aspx
Hier ist es immer ratsam, auf der Basis der kleinsten Excel-Version zu programmieren.
Gruß von Luschi
aus klein-Paris
PS: Leider gibt es in den Excel-Optionen keine Einstellmöglichkeit, so einen Schalter
auf die zu verwendende Excel-Version einzustellen. Sowas hat M$ erst in Visual Studio eingebaut.
Am besten wäre es, wenn Du den Vba-Code auch in Excel 2010 schreibst.

Anzeige
AW: Kompatibilität 2013 zu 2010
29.01.2015 15:05:41
Emanuel
Hi Luschi,
vielen Dank dafür! Nun klappt es.
LG
Emanuel

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige