Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1544to1548
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

Komplexere Auswertung: Fehler in Excel 2007

Komplexere Auswertung: Fehler in Excel 2007
26.02.2017 19:10:50
Markus
Liebes Forum,
mein Anliegen wurde dank der Hilfe von "ChrisL" gelöst, jedoch läuft sein Makro nur bei Excel 2013 fehlerfrei. Sobald ich sein Makro in Excel 2007 ausführe, kommt leider eine Fehlermeldung.
Hier meine Beispielsmappe:
https://www.herber.de/bbs/user/111013.xlsx
Hier der Code von ChrisL:
Sub tt()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim iZeile As Long, iZähler As Long
Dim LetzteZeile As Long, merkeZeile As Long
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Application.ScreenUpdating = False
WS2.Rows("2:65536").Delete
With WS1
LetzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
With .Sort
.SortFields.Clear
.SortFields.Add Key:=WS1.Range("B2:B" & LetzteZeile), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=WS1.Range("A2:A" & LetzteZeile), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange WS1.Range("A1:C" & LetzteZeile)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For iZeile = 2 To LetzteZeile
If .Cells(iZeile, 2)  .Cells(iZeile - 1, 2) Then
'neuer Block
If merkeZeile  0 Then WS2.Cells(merkeZeile, 3).Formula = _
"=SUM(C" & merkeZeile + 1 & ":C" & iZähler & ")"
iZähler = iZähler + 2
merkeZeile = iZähler
WS2.Cells(iZähler, 1) = .Cells(iZeile, 2)
With WS2.Range(WS2.Cells(iZähler, 1), WS2.Cells(iZähler, 3)).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End If
If WS2.Cells(iZähler, 2) = .Cells(iZeile, 1) Then
' verdichten wenn Land vorhanden
WS2.Cells(iZähler, 3) = WS2.Cells(iZähler, 3) + .Cells(iZeile, 3)
Else
' neuer Datensatz in bestehendem Block
iZähler = iZähler + 1
WS2.Cells(iZähler, 2) = .Cells(iZeile, 1)
WS2.Cells(iZähler, 3) = .Cells(iZeile, 3)
End If
Next iZeile
WS2.Cells(merkeZeile, 3).Formula = "=SUM(C" & merkeZeile + 1 & ":C" & iZähler & ")" ‘hier  _
Laufzeitfehler 1004, es wird keine Summe in Spalte C gebildet
End With
End Sub
Danke euch!

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komplexere Auswertung: Fehler in Excel 2007
26.02.2017 19:13:49
Hajo_Zi
eine XLSX Datei kann kein Makro enthalten.
Gruß Hajo
AW: Komplexere Auswertung: Fehler in Excel 2007
26.02.2017 19:19:03
Markus
Hallo Hajo,
ist nur eine Beispielsmappe meines Anliegens, damit man es besser nachvollziehen kann.
Es geht um einen Laufzeitfehler 1004, sobald ich den Code in Excel 2007 ausführe (siehe Code, ganz unten bei ..."=SUM(C" & merkeZeile ...).
Danke dir.
AW: Komplexere Auswertung: Fehler in Excel 2007
26.02.2017 19:21:17
Hajo_Zi
ja gut. Ich kann das nicht testen, da in der Datei kein Code. Warum soll ich Deine Datei 2x speichern und den Code in die Datei kopieren.
Ich bin dann raus, da ich dies nicht mache.
Gruß Hajo
Anzeige
Das hättest du ja auch gleich machen können, ...
26.02.2017 20:04:59
Luc:-?
Hajo,
denn das ist ja nur zu deiner und unserer Sicherheit so. Es gibt nämlich auch Profis, die aus Gründen des Schutzes ihrer eigenen Daten genau das Ggteil von dem fordern, was du gern hättest! :->
Tja, Markus,
da das Pgm unter Xl14/2010 fehlerfrei läuft, kann es eigentlich nur an 1-2 Dingen liegen:
1. Die Daten in der Datei unter Xl12/2007 erfüllen nicht die Voraussetzungen des Pgms;
2. Das Pgm enthält Xl-Elemente, die es unter Xl12 noch nicht gab.
In beiden Fällen könnte das zum Abbruch des Pgms vor Erzeugung der SummenFmln führen, die übrigens an 2 Stellen im Pgm erzeugt wdn. Im 2.Fall bemerkt man das ggf, indem man im VBE auf Debuggen - Kompilieren von VBAProject klickt.
Vielleicht mag Xl12 aber nur den PgmNamen nicht (falls gar nichts passiert, auch keine Sortierung) und ruft es gar nicht erst auf. Dann einen aus mind 4 Buchstaben nacheinander verwenden.
Anderenfalls können dir nur die helfen, die auch noch Xl12/2007 im Einsatz haben.
Noch ein Tipp; du hast ein falsches Zeichen vor deinen hinzugefügten Text gesetzt. Man kommentiert mit ' (Apostroph resp EDV-Jargon „Hochkomma“) aus, nicht mit Akzenten wie ` (Gravis) bzw ´ (Akut)!
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Top-informiert mit …
Anzeige
AW: Das hättest du ja auch gleich machen können, ...
26.02.2017 21:07:32
Markus
Hallo Luc,
erstmal Danke für deine Antwort und den Hinweis.
Hier mal die Beispieldatei - wäre nett, wenn du es dir kurz anschauen könntest. Vielleicht liegt ja der Fehler ganz woanders.
https://www.herber.de/bbs/user/111783.xlsm
Danke dir für deine Mühe!
Ich habe dein Pgm unter Xl14 laufen lassen, ...
26.02.2017 23:51:50
Luc:-?
…Markus,
mit genau der zuerst geposteten BspDatei, von der sich deine nun vollständige datenmäßig nicht unter­scheidet. Das nutzt also nichts, denn bei mir läuft's ja. Du benötigst einen Xl12-Tester, was ich doch auch geschrieben hatte!
Nebenbei, solche Zeilen wie die mit PinYin in der Sortierung deuten auf den MakroRecorder hin, aber die sind überflüssig, weil das der Standardwert für die Sortierung chinesischer Zeichen ist, die ich aber in deiner Datei nicht entdecken konnte… ;-]
Luc :-?
Anzeige
AW: Komplexere Auswertung: Fehler in Excel 2007
26.02.2017 19:51:59
MB12
Hallo Markus,
als VBA-Anfänger vermute ich, dass bei
Formula = "=SUM(C" & merkeZeile + 1 & ":C" & iZähler & ")" ein " fehlt, und zwar bei "C":
Formula = "=SUM("C" & merkeZeile + 1 & ":C" & iZähler & ")"
kann natürlich falsch liegen, deshalb offen
Gruß, Margarete
Liegst du auch, ...
26.02.2017 20:11:50
Luc:-?
…Margarete,
denn die Anzahl der insgesamt verwendeten " wäre dann ungerade. Sie muss aber stets gerade sein, wobei " innerhalb der äußeren "=…" zu verdoppeln sind, wenn sie nicht den Abschluss des Teiles eines Textes markieren, sondern in einen solchen hineingehören! Keines davon kann man von deinem Zusatz-" behaupten… ;-]
Gruß & schöSohmd, Luc :-?
Anzeige
AW: danke für die Info, Luc owT
27.02.2017 07:49:00
MB12
..
AW: Kein Fehler in Excel 2007
26.02.2017 20:46:53
Gerd

WS2.Cells(merkeZeile, 3).Formula = "=SUM(C" & merkeZeile + 1 & ":C" & iZähler & ")"
Hallo Markus,
kein Laufzeitfehler, die Formel wird über den "Z-Bereich" gesetzt.
Vielleicht fehlt dir nur für Wiederholungen ein Cells.Clear für Tabelle2?
(Die Codezeile mit deiner Fehlermeldung ist nicht XL-2007 - spezifisch.)
Gruß Gerd
AW: Kein Fehler in Excel 2007
26.02.2017 21:05:50
Markus
Hallo Gerd,
Danke dir für deine Antwort. Was meinst du genau mit dem "Z-Bereich"?
Liegt der Fehler vielleicht irgendwo bei merkeZeile oder iZähler, so dass keine Summe gebildet wird?(Meine Anfänger Vermutung)
Hier noch die Datei mit VBA-Code:
https://www.herber.de/bbs/user/111783.xlsm
Dankeschön
Anzeige
AW: Gesamtsumme über Zwischensummen
26.02.2017 22:49:32
Gerd


WS2.Cells(iZŠhler + 2, 3).FormulaR1C1 = "=SUM(R2C:R[-1]C)/2"
Hallo Markus,
schreibe dies mal direkt über End With noch dazu.
Gruß Gerd
Da steht doch schon ...
27.02.2017 00:02:56
Luc:-?
WS2.Cells(merkeZeile, 3).Formula = "=SUM(C" & merkeZeile + 1 & ":C" & iZähler & ")" …, Gerd,
zumindest im ursprgl geposteten Pgm, und fktioniert unter Xl14/2010 auch. Warum dann nochmal? Oder denkst du, Markus vermisst nur eine GesamtSumme? Dann hätte er sich aber doch sehr undeutlich ausgedrückt, denn ich erhalte unter Xl14 keine FehlerMeldung und diese Summe müsste dann ja auch generell fehlen, was er aber nicht moniert hat… ;-]
Gruß, Luc :-?
Anzeige
AW: Etwas steht doch da schon ...
27.02.2017 06:46:29
Gerd
nämlich die Formel für den letzten Teilbereich, der weit unterhalb von C2 beginnt, Luc.
Habe mich daran erst gewöhnen müssen, dass Fragen wie Jojos ausgetauscht werden. :-)
Gruß Gerd
Danke für eure Hilfe GerdL und Luc
01.03.2017 20:21:28
Markus
Hallo Gerd und Luc,
beim Kopieren des Makros ist mir eine Zeile verloren gegangen - was mir Schlaufuchs erst jetzt aufgefallen ist, da der Fehler im unteren Bereich des Makros angezeigt wurde.
Sorry erstmal für den falschen Alarm und danke euch beiden für eure Hilfe :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige