Excel Namensliste Ausdruck mit Buchstabenverweis

Hallo zusammen,

Ich besitze eine Excelliste mit ca. 700 Namen. Es ist eine Unterschriftenliste. kann ich evtl. unten rechts einen Buchstabenverweis einfügen je nachdem wie die Liste geführt ist. Als Beispiel: auf der ersten Seite fängt die Liste mit dem Namen Albrecht an und endet mit Bergmann, da sollte unten rechts
[Al-Ber] stehen.
Hoffe ich konnte mein Anliegen einigermaßen erklären.

Lieben dank im Voraus

Hallo,

wie kann man sich das vorstellen? Eine Liste mit ca. 700 Namen, die dann ausgedruckt wird und von allen auf der Liste unterschrieben werden soll? Eine Liste mit ca. 700 Namen für die jeweils ein Bild mit der Unterschrift eingefügt ist?

Die Excel-Liste soll jetzt in Access übernommen werden oder was hat deine Excel-Liste mit Access zu tun?

Falls Excel, wo ist „unten rechts“? Am Ende der Tabelle, in der Zelle XFD1048576,… ?

Wäre das bei der ersten Seite dann nicht [A-Ber] da der komplette Buchstabe A gelistet ist?


Je nach dem wie die Liste geführt ist und was genau du erreichen willst, kannst du das evtl. tun. Es kommt halt sehr darauf an welches Programm du verwendest und wie deine Liste darin angelegt ist.
Wenn du z.B. die komplette Liste auf einem einzelnen Tabellenblatt in Excel hast und das dann je nach Seitenumbruch automatisch auf den einzelnen Druckseiten auftauchen soll, wäre das wohl nur über ein Script lösbar, wenn überhaupt.
Wenn die Liste in Excel z.B. auf mehrere Tabellenblätter aufgeteilt ist und das jeweils irgendwo auf den Tabellenblättern in einer Zelle angezeigt werden soll, sollte das einigermaßen problemlos möglich sein.

Wenn sich die Liste nicht ständig ändert, wäre es aber vermutlich einfacher den Bereich manuell einzutragen.

Gruß
Tobias

Meinen bescheidenen Excel-Kenntnissen nach kann man bei Kopf- bzw. Fußzeilen in Excel nicht mit Formeln arbeiten. Man könnte ein VBA-Makro schreiben, dass für jede Seite eine entsprechende Fußzeile erzeugt.
Ganz plump in die Luft gespuckt und von hier abgekupfert, könnte es im Ansatz (!) so aussehen:

Sub DifferentHeaderFooter()
    Dim ws As Worksheet
    Dim vRight(100) As Variant, xRg(100) As Variant
    Set ws = ActiveSheet
    On Error Resume Next
    
    header_rows = 8
    row_offset = 1
    pagecount = 36
    pagelength = 58
    For i = 1 To pagecount
        von = Left(Cells(header_rows + (i - 1) * pagelength, "G").Value, 3)
        bis = Left(Cells(header_rows - 1 + (i) * pagelength, "G").Value, 3)
        vRight(i - 1) = von & " - " & bis
        xRg(i - 1) = "A" & row_offset + (i - 1) * pagelength & ":M" & (i * pagelength + header_rows - 1)
        row_offset = 8
    Next i

    Application.ScreenUpdating = False
    For i = 0 To pagecount - 1
        With ws.PageSetup
        .PrintArea = xRg(i)
        .RightFooter = vRight(i)
        End With
        ws.PrintPreview
    Next i
    Application.ScreenUpdating = True
    ws.PageSetup.PrintArea = ""
End Sub

Der Code definiert Druckbereiche und öffnet jeweils die Druckvorschau. Von dort müsste man dann für jede Seite separat auf „Drucken“ klicken.

Ausprobiert hab ich das Ganze mal mit der Städteliste vom DeStatis.

Es funktioniert, ist aber m.E. weit davon entfernt, eine komfortable Lösung zu sein.

Gruß,

Kannitverstan

Genau so ist es. Ganz einfache Liste wo eine Verfahrensanweisung zu Quittieren ist.

mit unten rechts meinte ich , dass die Mitarbeiter das auf Anhieb sehen können. in der Fußzeile wäre es super ,

Weiss nicht wie du auf Access kommst?

Wäre auch OK

Danke

Danke,

Habe es nicht hinbekommen. Denke , dass es am Header hängt. Ich habe eine Überschrift und eine Beschreibung. Die Liste fängt auf Reihe 4 an .

Zu Zeit mache ich das manuell. Ich denke , dass es zu kompliziert ist.

Danke

hi,

wenn du ohnehin eine Spalte für die Beschriftung hast, wäre es doch eine Idee, nach dem Seitenumbruch zu suchen.

Sub Markierungen()
 Dim ws As Worksheet
 Set ws = ActiveSheet
 Dim LastRow As Long
 LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

 header_rows = 3
 names_col = "A"
 label_col = "B"
 
 von = Left(Cells(header_rows + 1, names_col).Value, 3)

 For i = header_rows + 2 To LastRow
    If Rows(i).PageBreak <> xlPageBreakNone Then 
	Cells(i, label_col).Value = von & " - " & Left(Cells(i, names_col).Value, 3)
	von = Left(Cells(i + 1, names_col).Value, 3)
   Else Cells(i, label_col).ClearContents
   End If
  Next
End Sub

Da ich es nicht testen kann, weil ich kein Excel habe, wird man wohl erstmal Fehler bereinigen müssen.
Aber so vom Ablauf her könnte das deine jetzige Arbeit ersetzen, ohne bei Drucken alle Seiten einzeln zu bestätigen

Unbedingt die Spaltennamen anpassen, ob A und B stimmt, bezweifle ich auch.
Es wird vorausgesetzt, dass es für die Beschriftung eine eigene Spalte gibt.

grüße
lipi

Das Skript muss natürlich an deine Tabelle angepasst werden, was Spaltennummern usw. betrifft, evtl. muss man noch einbauen, dass die erste Seite anders behandelt wird.
Aber einen Header hat die Städteliste auch, das sollte kein KO-Kriterium sein.

Gruß,

Kannitverstan

Wie gesagt, in dem Fall wird es wohl nur über ein Script funktionieren. Da werde ich mich raushalten aber wenigstens hast du ja bereits ein paar Leute die versuchen zu helfen.

Die Frage ist in der Unterkategorie „Microsoft Access“.