8644
Goto Top

Mal schnell Etiketten bzw. Visitenkarten mit Excel

...da ich euch ja gerne an meinen Problemen teilhaben lasse!

Hallo Forum!

Ich bekam am Wochenende einen Anruf mit folgendem Inhalt:
"... ich hab mir bei (Supermarktkette) so'n paar Pakete mit gestanztem Papier gekauft, wo man so Adressetiketten drauf drucken kann! Jetzt hab ich mal den ganzen Kram drauf gedruckt, sieht aber S#####e aus! Nix passt! Will aber am Montag meine neuen krassen Visienkarten zeigen! Kannst du mir nicht helfen?"

Da hab ich gedacht, dass vielleicht noch mehr Leute das Problem haben und mal probiert, ob ich was basteln kann. Da ich immer noch die Meinung vertrete, dass man mit Excel fast alles machen kann, war das auch hier mein erster Anlaufpunkt. Herausgekommen ist eine Geschichte, mit der man mal schnell ein paar gestanzte Blätter konfigurieren, ausfüllen und drucken kann.

Los geht's:

Step 1:

Excel öffnen - wir benötigen 2 Tabellen. Da es meistens drei sind, kann man hier die dritte über das Kontextmenü (rechte Maustaste) löschen. Jetzt habe ich mir erlaubt, die verbliebenen zwei Tabellenblätter umzubenennen (was nicht zwingend nötig ist!) Auch das Umbenennen funktioniert über das Kontextmenü. Meine erste Tabelle heisst Konfiguration und die zweite habe ich Vorlage genannt.

Step 2:

Jetzt bereiten wir die Tabelle Vorlage vor (es folgt ein Screenshoot):
ec93dc08dc3db47b49cdc1856d9e5b46-excel1

Hier werden später die entscheidenden Werte für die Druckerausgabe eingetragen. Also Lineal suchen und alle gefragten Sachen messen und eintragen. Wir arbeiten hier mit der Masseinheit Zentimeter mit Kommastellen.
Man beachte (falls man das irgendwann folgende Makro nicht modifizieren möchte!), dass alle Zellbezüge eingehalten werden! Um den Gnubbel, der mit "Einrichten" beschriftet ist, kümmern wir uns später. Ich hoffe, dass die Beschriftungen eindeutig sind! Falls nicht, fragt einfach noch mal!

Step 3:

Wir bringen das Makro in die Tabelle!

Folgende Schritte sind nötig:
Menü Extras -> Makro -> Makros
Im folgenden Dialog einen Namen vergeben - z.Bsp. Einrichten - und auf Erstellen klicken. Nun den folgenden (bereits kopierten) Code zwischen Sub wasauchimmer() und End Sub einfügen:
 Dim W_Anz As Integer
 Dim H_Anz As Integer
 Dim sHoehe As Single
 Dim sHoehe1 As Single
 Dim sBreite As Single
 Dim sBreite1 As Single
 Dim L_Margin As Single
 Dim T_Margin As Single
  W_Anz = Sheets(1).Range("B3").Value  
  H_Anz = Sheets(1).Range("B4").Value  
  Sheets(2).Select
  Select Case W_Anz
    Case 1
     Range("A1").Select  
    Case 2
     Range("A1,C1").Select  
    Case 3
     Range("A1,C1,E1").Select  
    Case 4
     Range("A1,C1,E1,G1").Select  
    Case 5
     Range("A1,C1,E1,G1,I1").Select  
    End Select
  sBreite = Sheets(1).Range("B5").Value  
  Selection.ColumnWidth = -0.71 + 5.1425 * sBreite
  Select Case W_Anz
    Case 2
     Range("B1").Select  
    Case 3
     Range("B1,D1").Select  
    Case 4
     Range("B1,D1,F1").Select  
    Case 5
     Range("B1,D1,F1,H1").Select  
  End Select
 sBreite1 = Sheets(1).Range("D5").Value  
 If W_Anz > 1 Then Selection.ColumnWidth = -0.71 + 5.1425 * sBreite1
 Select Case H_Anz
  Case 1
   Range("A1").Select  
  Case 2
   Range("A1,A3").Select  
  Case 3
   Range("A1,A3,A5").Select  
  Case 4
   Range("A1,A3,A5,A7").Select  
  Case 5
   Range("A1,A3,A5,A7,A9").Select  
  Case 6
   Range("A1,A3,A5,A7,A9,A11").Select  
  Case 7
   Range("A1,A3,A5,A7,A9,A11,A13").Select  
  Case 8
   Range("A1,A3,A5,A7,A9,A11,A13,A15").Select  
  Case 9
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17").Select  
  Case 10
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17,A19").Select  
  Case 11
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17,A19,A21").Select  
  Case 12
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17,A19,A21,A23").Select  
  Case 13
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17,A19,A21,A23,A25").Select  
  Case 14
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17,A19,A21,A23,A25,A27").Select  
  Case 15
   Range("A1,A3,A5,A7,A9,A11,A13,A15,A17,A19,A21,A23,A25,A27,A29").Select  
 End Select
 sHoehe = Sheets(1).Range("B6").Value  
 Selection.RowHeight = sHoehe * 29.5
 Select Case H_Anz
  Case 2
   Range("A2").Select  
  Case 3
   Range("A2,A4").Select  
  Case 4
   Range("A2,A4,A6").Select  
  Case 5
   Range("A2,A4,A6,A8").Select  
  Case 6
   Range("A2,A4,A6,A8,A10").Select  
  Case 7
   Range("A2,A4,A6,A8,A10,A12").Select  
  Case 8
   Range("A2,A4,A6,A8,A10,A12,A14").Select  
  Case 9
   Range("A2,A4,A6,A8,A10,A12,A14,A16").Select  
  Case 10
   Range("A2,A4,A6,A8,A10,A12,A14,A16,A18").Select  
  Case 11
   Range("A2,A4,A6,A8,A10,A12,A14,A16,A18,A20").Select  
  Case 12
   Range("A2,A4,A6,A8,A10,A12,A14,A16,A18,A20,A22").Select  
  Case 13
   Range("A2,A4,A6,A8,A10,A12,A14,A16,A18,A20,A22,A24").Select  
  Case 14
   Range("A2,A4,A6,A8,A10,A12,A14,A16,A18,A20,A22,A24,A26").Select  
  Case 15
   Range("A2,A4,A6,A8,A10,A12,A14,A16,A18,A20,A22,A24,A26,A28").Select  
  End Select
  sHoehe1 = Sheets(1).Range("D6").Value  
  Selection.RowHeight = sHoehe1 * 29.5
 Range("A1").Select  
 L_Margin = Sheets(1).Range("B8").Value / 2.54  
 T_Margin = Sheets(1).Range("B7").Value / 2.54  
 With ActiveSheet.PageSetup
        .PrintTitleRows = ""  
        .PrintTitleColumns = ""  
    End With
    ActiveSheet.PageSetup.PrintArea = ""  
    With ActiveSheet.PageSetup
        .LeftHeader = ""  
        .CenterHeader = ""  
        .RightHeader = ""  
        .LeftFooter = ""  
        .CenterFooter = ""  
        .RightFooter = ""  
        .LeftMargin = Application.InchesToPoints(L_Margin)
        .RightMargin = Application.InchesToPoints(0.196850393700787)
        .TopMargin = Application.InchesToPoints(T_Margin)
        .BottomMargin = Application.InchesToPoints(0.196850393700787)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .CenterHorizontally = False
        .CenterVertically = False
        If Sheets(1).Range("B9").Value = "Hoch" Then .Orientation = xlPortrait Else .Orientation = xlLandscape  
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
    End With
Der (evtl. unbekannte) VBA-Editor kann nun wieder geschlossen werden.

Step 4:

Wir erstellen einen Button!
Falls jemand seine Zeichnen-Symbolleiste sucht, die wir jetzt nämlich brauchen, findet er sie so: Rechte Maustaste auf die Symbolleiste (das Teil oben, mit den Bildchen) -> Häckchen bei Zeichnen setzen. Die Leiste erscheint in der Regel am unteren Bildrand.

In dieser Leiste klicken wir nun auf Autoformen -> Standardformen und suchen uns hier was passendes aus. Dieses Objekt platzieren wir nun an einer Stelle, die wir für gut halten. Um die Sache komfortabler zu gestalten, fügen wir diesem Objekt mittels Kontextmenü einen Text hinzu.
Wenn das alles geklappt hat, fehlt nur noch eine Kleinigkeit: das Makro muss zugewiesen werden! Rechte Maustaste auf das Objekt -> Makro zuweisen -> unser (das einzige) Makro auswählen -> OK -> Fertig!

Achso - der Button muss sich auf dem ersten Tabellenblatt befinden!

So, nun ist eigentlich nur noch probieren angesagt!

HTH Psycho

Content-ID: 39626

Url: https://administrator.de/contentid/39626

Ausgedruckt am: 19.12.2024 um 07:12 Uhr

patto
patto 11.09.2006 um 10:40:42 Uhr
Goto Top
... oder man lädt sich von AVERY ZWECKFORM den kostenlosen formularassistenten für MS-Office 'runter, der LEIDER toll funktioniert und zu allem überfluss auch noch sämtliche auf dem markt befindlichen papiersorten kennt .... und hat dann weniger spaß am ärgern 1

patto
8644
8644 12.09.2006 um 09:01:59 Uhr
Goto Top
@patto:

Ich erkenne Sarkasmus, wenn ich ihn lese! face-big-smile
Sorry, dass mir dieser Assistent trotz meiner gottgleichen Weisheit nicht bekannt war face-wink

Psycho
Schmitt.Mathias
Schmitt.Mathias 25.10.2006 um 15:24:28 Uhr
Goto Top
WoW, habs grad mal ausprobiert. geht super, respekt!
(Wobei ich auch oft Etiketten/Visitenkarten über Word erstelle, da sind ja auch fast alle Formate drin....)

Gruß
Mathias
8644
8644 25.10.2006 um 16:36:37 Uhr
Goto Top
Hi Mathias,

danke für das Lob! Klar gibt's noch viele andere Möglichkeiten, aber ich steh' nun mal total auf Excel! face-big-smile

Psycho
patto
patto 25.10.2006 um 17:37:47 Uhr
Goto Top
... das lob war doch sicherlich für AVERY zweckform, oder (face-smile)) grins - 'mal im ernst : das makro ist wirklich gut !)

patto
Schmitt.Mathias
Schmitt.Mathias 25.10.2006 um 21:37:09 Uhr
Goto Top
HeHe, benutze auch gerne Excel, und deswegen bin ich auch immer fasziniert was es da für Lösungen und Möglichkeiten gibt =)
Echt genial!

Mathias
rinaldowerlen
rinaldowerlen 01.03.2007 um 09:48:50 Uhr
Goto Top
Hi @ ALL
ich bräuchte eure Hilef zum obigen Makro.
Leider wird das Bild oben nicht mehr angezeigt. Jetzt wollte ich fragen ob Ihr mir rasch erklären könntet, was die einzellnen Variabeln (W_Anz, H_Anz, sHoehe, sHoehe1, sBreite, sBreite1, L_Margin, T_Margin) für eine Funktion haben.
Besten Dank
Greetz
Rino
Blackbird07
Blackbird07 08.10.2007 um 16:28:23 Uhr
Goto Top
Hat jemand das das Bild noch von der Vorlage?
8644
8644 08.10.2007 um 17:12:21 Uhr
Goto Top
An alle, die das Bild vermisst haben!

Der Link war tod - sorry dafür!
Ich habs noch gefunden und wieder eingebaut!

Psycho
ureu603
ureu603 08.10.2008 um 14:55:43 Uhr
Goto Top
Hallo Psycho, ich habe deinen Post mit großem Intresse gelesen und mich damit versucht diese Datei zu erstellen. Was mir ein Rätsel ist, "Nun den folgenden (bereits kopierten) Code zwischen Sub wasauchimmer() und End Sub einfügen:". Ist das diese ellenlange oben aufgeführte Tabelle?

Also, ich habs eben ausprobiert, funktioniert einwandfrei, super

Danke für deine Hilfe