Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Seitenansicht

Seitenansicht
08.04.2004 20:58:27
Steve
Hallo,
Ich habe eine Datei mit sechs Spalten, der Artikelnummer (= 7 Stellig, getrennt durch ein Punkt zum Beispiel: 123.4567) befindet sich immer in Spalte A. Ich kann zwar über der Seitenansicht anhand die Kopf- und Fußzeilen sehen auf welche Seite sich meine Artikeln befinden. Gibt es aber die Möglichkeit, diese Seiten in Spalte G zu übertragen? Das heißt im Klartext, in Spalte A1 ist Artikelnummer 123.4567 daher in Spalte G eine 1 eintragen, weil diese in der Seitenansicht sich auf Seite 1 befindet, oder in Spalte A80 ist Artikelnummer 527.7852 daher in Spalte G eine 3 eintragen weil diese in der Seitenansicht auf Seite 3 vorkommt!
Wäre sehr Dankbar wenn mir jemand weiterhelfen könnte.
Gruß
Steve

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

Betreff
Datum
Anwender
Anzeige
AW: Seitenansicht
08.04.2004 21:58:33
andre
hallo steve,
das kann mit einer formel klappen. wenn du immer eine feste anzahl zeilen auf der seite hast, z.b. 59, dann gib ein:
=ganzzahl(1+(zeile()/60))
gruss andre
AW: Seitenansicht
08.04.2004 22:57:25
Steve
Hallo Andre,
leider ist der der Anzahl Artikel auf eine Seíte nicht bekannt, d.h. es variiert!
Gruß Steve
AW: Seitenansicht
09.04.2004 10:59:04
andre
hallo steve,
jetzt ist die frage, was nicht i.o. ist.
stört es dich, wenn in zeilen ohne artikel die seitenzahl steht? dann prüfe mit wenn, ob in der zeile ein artikel ist und gib nur in diesem fall die zahl aus.
oder hast du eine unterschiedliche anzahl von zeilen auf den blättern? wonach richtet sich das, hast du manuelle umbrüche oder unterschiedliche zeilenhöhen ? da kommen wir ohne vba nicht weiter, melde dich dann noch mal.
gruss andre
Anzeige
AW: Seitenansicht
09.04.2004 11:27:47
steve
Hallo Andre!
Ja ganz genau ich habe immer unterschiedliche Anzahl Artikel auf die Blätter, eben wegen Text Überschriften (unterschiedliche Zeilenhöhen) und teils manuelle umbrüche! Das heißt ich glaube das kann erst dann klappen wenn der jeweilige Seitenansicht in Spalte G übertragen wird!??
Gruß Steve
AW: Seitenansicht
10.04.2004 07:56:16
andre
hallo steve,
hier mal ein codebeispiel. beschreibung siehe kommentare.
über alt-F11 oder menü extras-makro-vba-editor dorthin wechseln, ein modul einfügen über menü einfügen, dort den code einfügen. dann zu excel zurück und über extras-makro-makros ausführen.
'code von jörg lorenz http://www.excel-vba.de/drucken.htm
'angepasst von andre schau http://a-schau.de


Sub Druckseiteneinrichten()
Dim intI%, intJ%, intK%
Dim SeitenZähler%
Dim WievielteZeile%, WievielteSpalte%
ReDim arrSammler(1)
Dim SeiteLetzteZeile As Long
'Standardmäßig wird bei jeder Seite der Inhalt der linken oberen Zelle
'zurückgegeben. Soll das eine andere sein, müssen die folgenden Werte
'geändert werden.
'Soll z. B. auf der ersten Seite der Inhalt von B4 zurückgegeben werden,
'muß die erste Variable auf 3, die zweite auf 1 gesetzt werden
'(vierte Zeile von oben, zweite Spalte von links).
WievielteZeile = 0
WievielteSpalte = 0
ActiveWindow.View = xlPageBreakPreview
'ActiveSheet.ResetAllPageBreaks
arrSammler(0) = 1
For intI = 1 To ActiveSheet.HPageBreaks.Count
    ReDim Preserve arrSammler(intI)
    arrSammler(intI) = ActiveSheet.HPageBreaks.Item(intI).Location.Row
Next
SeitenZähler = 0
For intJ = 0 To intI - 1
    'aenderung von andre, erst mal nur für seitenanordnung im sheet
    'nur untereinander
    If intJ + 1 < UBound(arrSammler()) Then
        SeiteLetzteZeile = arrSammler(intJ + 1)
    Else
    'funktioniert nur wenn zelle 65536 (letzte zelle des blattes)
    'nicht belegt ist, und wenn spalte a die letzte belegte zelle hat
    'wenn nicht bei Cells(Rows.Count, 1).... statt 1 andere spaltennummer
    'einrtragen
        SeiteLetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    End If
    SeitenZähler = SeitenZähler + 1
    Ausführen CInt(arrSammler(intJ)) + _
    WievielteZeile, 1 + _
    WievielteSpalte, SeitenZähler, SeiteLetzteZeile
Next
For intJ = 1 To ActiveSheet.VPageBreaks.Count
    SeitenZähler = SeitenZähler + 1
    Ausführen CInt(arrSammler(0)) + _
    WievielteZeile, ActiveSheet.VPageBreaks.Item(intJ).Location.Column + _
    WievielteSpalte, SeitenZähler
    For intK = 1 To intI - 1
        SeitenZähler = SeitenZähler + 1
        Ausführen CInt(arrSammler(intK)) + _
    WievielteZeile, ActiveSheet.VPageBreaks.Item(intJ).Location.Column + _
    WievielteSpalte, SeitenZähler
    Next
Next
ActiveWindow.View = xlNormalView
End Sub
Sub Ausführen(Zeile As Integer, Spalte As Integer, SeitenZähler As IntegerOptional ByVal SeiteLetzteZeile As Integer)
'optional in subzeile zugefügt von andre, zum eintrag in jede zeile
'originalcodeteile auskommentiert
'eintrag auf der letzten seite nur im ausgefüllten bereich
Dim strAnzeige$
'strAnzeige = Cells(Zeile, Spalte) & "     Seite: " & SeitenZähler
'MsgBox strAnzeige
If SeiteLetzteZeile > 0 Then
    For i = Zeile To SeiteLetzteZeile
        Cells(i, 7) = "Seite: " & SeitenZähler
'Cells(Zeile, 7) = strAnzeige
    Next
Else
    Cells(Zeile, Spalte) = "Seite: " & SeitenZähler
End If
'ActiveSheet.PageSetup.LeftHeader = strAnzeige
'ActiveSheet.PrintOut from:=SeitenZähler, to:=SeitenZähler
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

gruss andre
Anzeige
AW: Seitenansicht
10.04.2004 20:26:32
Steve
Hallo Andre!
Vielen lieben herzlichen Dank! Es klappt wunderbar! Trotzdem VBA wird mir immer ein Rätsel bleiben!!
Gruß
Steve
danke für die rückmeldung - o.t.
10.04.2004 20:39:42
andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige