Office: Via VBA die erste & letzte Zeile einer Seite ermitteln

Helfe beim Thema Via VBA die erste & letzte Zeile einer Seite ermitteln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, gibt es eine Möglichkeit, mit Hilfe derer ich die erste und letzte Zeile einer Seite ermitteln kann? Ich brauche dies, da ich über... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 15. Januar 2007.

  1. Via VBA die erste & letzte Zeile einer Seite ermitteln


    Hallo zusammen,

    gibt es eine Möglichkeit, mit Hilfe derer ich die erste und letzte Zeile einer Seite ermitteln kann?

    Ich brauche dies, da ich über SQL sehr viele Datensätze habe, aber am Anfang einer jeden Seite (z.B. wenn ich was drucken will) eine Überschrift steht und am Ende (letzte Zeile) bspw. die Summe von den Werten derselben Seite ausgegeben wird.

    Ich würd mich freuen, wenn mir alsbald jemand behilflich sein könnte, ich brauche es nämlich verdammt dringend *Smilie

    Gruß
    poijoi

    :)
     
  2. Hallo poijoi,

    mal als Ansatz und sicher nicht die eleganteste und effektivste Methode, aber die einzige, die mir dazu einfällt.*cool.gif* Bei jeder Messagebox befindest du dich in der ersten Zeile einer neuen Seite. Ob das allerdings dein Problem löst, erscheint mit fraglich. Was z.B., wenn auf einer Seite nach der Summe noch eine Leerzeile kommt?
    Code:
     
  3. das reicht doch völlig aus soweit, kannst du mir bitte noch verraten, wie ich das nun in ner variablen speicher? excel schmiert bei mir jedesmal ab, sobald ich es speichern will Code:
     
  4. Via VBA die erste & letzte Zeile einer Seite ermitteln

    Hallo poijoi,

    Integervariablen können in VBA nur ganzzahlige Werte von ca. minus 32000 bis plus 32000 aufnehmen. Du hast aber 65536 Zeilen! Deklariere die Variable zeile als "Long".

    Gruß Ingolf
     
  5. Hallo nochmal,

    das hat glaube ich damit nichts zu tun, ich habe die Variable jetzt auf Long geändert, kriege aber nach dem Ausführen (habe nur etwa 200 Datensätze zu Testzwecken) eine 100%ige CPU Auslastung und es passiert leider nichts!

    edit: habe mal die range eingeschränkt, 65000 zeilen sind für meinen rechner wohl etwas zu viel *Smilie jetzt funzt es :P dankeschön

    Gruß
    poijoi
     
  6. Hallo poijoi,

    was soll denn passieren? Wenn du das Makro so laufen läßt, wie du es oben gepostet hast, passiert natürlich nichts. Der Code schreibt lediglich die Zeilennummer in die Variable "zeile" und überschreibt den Wert beim nächsten Schleifendurchlauf wieder. Wenn du willst, dass mit dieser Zeilennummer irgend etwas passiert, musst du das zwischen "zeile = rng.Row" und "End If" programmieren.

    Und wegen der Variablendeklaration: Laß es bei "Long". Wenn du als abzuarbeitenden Range "A:A" angibst, also die gesamte Spalte, dann werden auch alle Zeilen bis 65536 abgearbeitet. Die tatsächliche Anzahl von Datensätzen spielt dann keine Rolle. Mit

    For Each rng In Range("A1:A" & Range("A65536").End(xlUp).Row)

    werden dagegen nur die Zeilen bis zum letzten Datensatz bearbeitet.

    Gruß Ingolf
     
  7. Hallo zusammen,

    ich glaube, ich habe nen Bug in Excel gefunden.

    Der erste Seitenumbruch ist zwischen Zeile 102 und 103, da ich vorhin die Seite auf 55% gezoomt habe. Excel erkennt das aber leider teilweise nicht und macht die Schleife bis auf den ersten Seitenumbruch korrekt, dort nimmt er komischerweise aber Zeile 56/57 (kein Seitenumbruch, aber das Makro macht dort über die Schleife die gleichen Einträge wie bei einem richtigen Seitenumbruch!). Weiss jem. ne Möglichkeit, wie ich das lösen kann?

    Seite einrichten
    Code:
    Schleife
    Code:
    Die Summe ist auch unsauber gelöst, da ich leider nicht weiss, wie ich ohne Rechnerei die erste Zeile einer Seite ermittel!

    EDIT: Ich hab ne Möglichkeit gefunden, zwischen den Beiden Codeschnipseln habe ich ActiveWindow.View = xlPageBreakPreview eingefügt, jetzt geht es (warum auch immer!?)

    Grüße
    poijoi
     
  8. Via VBA die erste & letzte Zeile einer Seite ermitteln

    Hallo nochmal,

    ich lass keine Ruhe, ich weiß *biggrin.gif*

    Wie schon erwähnt, ist die Summe nur bedingt anwendbar, ich würde diesen Teil ebenfalls dynamisch programmieren. Die Summe von der letzten Seite stimmt zu 99% nicht, da die Anzahl der Zeilen nicht immer gleich groß ist.

    Grüße
    poijoi
     
  9. Hallo poijoi,

    das Problem mit dem ersten Seitenumbruch konnte ich mittlerweile auch nachvollziehen. Dieser wird tatsächlich erst aktualisiert, nachdem man einmal in die Seitenansicht gewechselt hat. Äußerst komisch, da stimm ich dir zu.

    Das Problem mit den Summen könntest du lösen, indem du dir die Zeile des letzten Seitenumbruchs in einer Variable merkst:
    Code:
     
  10. Hallo Ingolf,

    vielen Dank für deine Mühen, klappt aber leider nicht so wie ich mir das vorstelle...

    Ergebnis deiner Methode:
    Excel Summe Seite 1 Spalte E: =SUMME(E101:E$105)
    Excel Summe Seite 2 Spalte E: =SUMME(E203:E$207)
    ...
    am Ende der letzten Seite gibts jetzt gar keine Summen mehr!

    Würd mich freuen, wenn du dir das nochmal anschauen könntest...
     
  11. Hallo poijoi,

    ich musste doch noch einiges umstellen. Hier der neuen Code:
    Code:
     
  12. Hallo Ingolf,

    herzlichen Dank, ich habe die Zeilen zwar noch ein wenig angepasst, aber alles in allem eine super Hilfe!

    Code:
    Wenn die letzte Seite genau 101 Datensätze hat, gibt es aber noch ein kleines Problem, dann wird die Summe nämlich erst auf die nächste Seite geschrieben und am Ende der dann vorletzten (eig. ja letzten) Seite ist der 101. Datensatz.
     
  13. Via VBA die erste & letzte Zeile einer Seite ermitteln

    Hallo poijoi,

    dieses Problem läßt sich mit folgender Zeile am Ende des Makros lösen:

    If Range("A65536").End(xlUp).EntireRow.PageBreak xlPageBreakNone Then _
    Range("A65536").End(xlUp).Offset(-1, 0).EntireRow.PageBreak = xlPageBreakManual

    Gruß Ingolf
     
  14. Hallo Ingolf,

    klappt leider nicht so ganz, es tritt das selbe Phänomen auf, wie oben bereits geschrieben.


    Ist: Bei 101 Datensätzen ist Zeile 1 die Überschrift, Zeilen 2-102 Datensätze und Zeile 103 die Summe aus den Datensätzen.

    Soll: Zeile 1 Überschrift, Zeile 2-101 Datensätze, Zeile 102 die Summe, Zeile 103 wieder die Überschrift, Zeile 104 der letzte Datensatz und Zeile 105 dann wieder die Summe.

    Grüße
    poijoi
     
  15. Hallo poijoi,

    mein Fehler. In Spalte A steht ja in deiner 2ten Zeile für das Seitenende gar nichts drin. Ich habe jetzt die Spalte B genommen. Die nachfolgende Programmzeile nimmt ausserdem noch die letzte Datenzeile mit auf die nächste Seite. Die Überschriften werden ja wohl durch Wiederholungszeilen generiert, oder?
    Code:
    Gruß Ingolf
     
Thema:

Via VBA die erste & letzte Zeile einer Seite ermitteln

Die Seite wird geladen...
  1. Via VBA die erste & letzte Zeile einer Seite ermitteln - Similar Threads - Via VBA letzte

  2. Semikolon via VBA in einzelne Zellen separieren

    in Microsoft Excel Hilfe
    Semikolon via VBA in einzelne Zellen separieren: Hallo zusammen, ich benötige eure Hilfe. Ich habe eine Zelle mit mehr als 260 Informationen. Die sind durch ein Semikolon getrennt. Bis jetzt habe ich diese über die Funktion "Daten-Text in...
  3. [VBA] Excel Tabelle via Bookmark nach Word + Größe an Fenster anpassen

    in Microsoft Excel Hilfe
    [VBA] Excel Tabelle via Bookmark nach Word + Größe an Fenster anpassen: Hallo zusammen, kennt jemand einen Kniff, wie ich eine aus Excel kopierte Range (inkl. Formatierung, jedoch ohne Verknüpfung) an die Stelle eines Bookmarks in einem Word-Dokument als neue Tabelle...
  4. STRG+F via Button mit VBA

    in Microsoft Excel Hilfe
    STRG+F via Button mit VBA: Moin, ich habe ein Problem, welches ich nicht im Stande bin alleine zu lösen. Ich habe eine Excel-Tabelle, wo Stellplätze von 3 Kühlhäusern aufgeführt sind. Die Excel wird auf einem Panel-PC...
  5. Versenden E-Mail aus Excel Liste via VBA & Outlook

    in Microsoft Excel Hilfe
    Versenden E-Mail aus Excel Liste via VBA & Outlook: Hallo zusammen, ich stehe wieder einmal vor einem mittelschweren Problem: Ich habe mir eine Excelliste erstellt mit Endterminen, Verantwortlichen, Status (open/in work/closed/storno) und...
  6. komplexe Ordnerstrukturen via Excel VBA anlegen

    in Microsoft Excel Hilfe
    komplexe Ordnerstrukturen via Excel VBA anlegen: Hallo zusammen, (sorry falls ich hier einen doppelten Post aufmache, aber schätze ich war in dem anderen Forum an der falschen Adresse, da VBa und kein Excel VBA) Jetzt zum Thema Ich würde gerne...
  7. Tabelle in VBA via SQL String erstellen

    in Microsoft Access Hilfe
    Tabelle in VBA via SQL String erstellen: Hallo zusammen! ich würde gerne via VBA Prozedure eine Tabelle vorerst löschen und dann neu erstellen. Bislang habe ich dies immer auf Basis einer Bestehenden Anfrage gemacht was auch super...
  8. Daten in Archiv übertragen via VBA

    in Microsoft Excel Hilfe
    Daten in Archiv übertragen via VBA: Hallo liebe Profis, wahrscheinlich eine marginale Sache für Profis, an der ich mir gerade die Zähne ausbeiße: Ich habe eine Datei (Excel-Quelle) mit einem Folder "Tabelle_Quelle", in welcher...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden