Anzeige
Archiv - Navigation
1412to1416
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

Makrofehler seit Umstellung auf Office 10

Makrofehler seit Umstellung auf Office 10
07.03.2015 08:10:48
Peter

Hallo,
dieses Makro lief unter Office 2003 einwandfrei bis mein Chef auf
Office 10 umgestellt hat.
Ich würde mich freuen, wenn jemand helfen kann damit dieses Makro
wieder funktioniert. Die Stelle wo der Fehler auftritt ist gekennzeichnet.
Vielen Dank im voraus
Peter
Option Explicit

Sub TabellenAbgleichen_Test1()
Const SpalteAb As Long = 12
Const SpalteBis As Long = 26
Const SpalteVergleich As Long = 3
Const ZeileAb As Long = 2
Application.ScreenUpdating = False
Dim ShZ As Worksheet, ShQ As Worksheet, ShA As Worksheet
Set ShQ = Worksheets("Vor")
Set ShZ = Worksheets("Akt")
Set ShA = Worksheets("Alt")
Dim ZeileBis As Long
Dim r As Range
Dim ZeileRein As Long
Dim ZeileLetzteAlt
Dim ZeileLetzteZu
With ShA 'freie Zeile in  Worksheets("Alt") feststellen
ZeileLetzteAlt = .Cells(.Rows.Count, SpalteVergleich).End(xlUp).Row
End With
With ShQ 'Worksheets("BestandVortag")
'letzte Zeile feststellen
ZeileBis = .Cells(.Rows.Count, SpalteVergleich).End(xlUp).Row
For Each r In .Range(.Cells(ZeileAb, SpalteVergleich), .Cells(ZeileBis, SpalteVergleich))
If WorksheetFunction.CountIf(ShZ.Cells(1, SpalteVergleich).EntireColumn, r.Value) = 1  _
Then
.Range(.Cells(r.Row, SpalteAb), .Cells(r.Row, SpalteBis)).Copy
'>>>Fehler >>>>>   ShZ.Cells(WorksheetFunction.Match(r.Value, ShZ.Cells(1, SpalteVergleich). _
EntireColumn, False), SpalteAb).PasteSpecial
Application.CutCopyMode = False
Else
ZeileLetzteAlt = ZeileLetzteAlt + 1
.Cells(r.Row, SpalteAb).EntireRow.Copy
ShA.Cells(ZeileLetzteAlt, 1).PasteSpecial
Application.CutCopyMode = False
End If
.Cells(r.Row, 1).EntireRow.ClearContents
Next r
End With
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 08:35:59
Hajo_Zi
bei mir läuft es Fehlerfrei,
Da die Zeile da die Zeile
ShZ.Cells(WorksheetFunction.Match(r.Value, ShZ.Cells(1, SpalteVergleich). _
EntireColumn, False), SpalteAb).PasteSpecial
niemals ausgeführt wird, was wohl daran liegt das meine Datei anders aussieht.

AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 11:38:52
daniel
Hi
Versionsbedingt könnte sich geändert haben, dass .PasteSpecial jetzt zwingend den Parameter benötigt der angibt, was eingefügt werden soll.
Dh. PasteSpecial xlpasteall
Gruß Daniel

AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 14:29:37
Nepumuk
Hallo
dass .PasteSpecial jetzt zwingend den Parameter benötigt
Glaub ich nicht, denn in 2013:
Function PasteSpecial([Paste As XlPasteType = xlPasteAll], [Operation As XlPasteSpecialOperation = xlPasteSpecialOperationNone], [SkipBlanks], [Transpose])
Paste ist also immer noch, wie alle anderen Parameter, optional.
Gruß
Nepumuk

Anzeige
AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 17:57:14
Luschi
Hallo Nepumuk,
das mit dem Optional würde ich nicht so ersnt nehmen. Seit x-Excelversionen behauptet die
Vba-Hilfe zu Range(): https://msdn.microsoft.com/de-de/library/office/ff836512.aspx
Ausdruck .Range(Cell1, Cell2)
Cell1 Erforderlich Variant
Cell2 Optional Variant
Aber auch in Excel 2013 gelingt mir das hier nicht:

Sub test1()
Dim rg As Range
With ActiveSheet
Set rg = .ActiveSheet.Range(.Cells(2, 3))
End With
End Sub
GRuß von Luschi
aus klein-Paris

AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 19:37:50
Daniel
Hi Luschi
natürlich geht das - wenn in der Zelle .Cells(2, 3) die Adresse der Zelle, die du selektieren willst, als Text steht.
Gruß Daniel

Anzeige
AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 19:51:45
Nepumuk
Hallo,
aber das mit dem PasteSpecial hab ich getestet und das funktioniert immer noch wie gehabt.
Gruß
Nepumuk

AW: Makrofehler seit Umstellung auf Office 10
07.03.2015 20:03:09
Daniel
Duraus möglich.
Es wäre aber das einzige was mir grad so einfällt, was bei einer neuen Excelversion hätte geändert werden können, damit dieser Code nicht mehr funktionert (damit also auch wirklich die Versionsänderung dafür verantwortlich ist und nicht irgend was anderes)
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige