Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

zellen mit Linien verbinden

Forumthread: zellen mit Linien verbinden

zellen mit Linien verbinden
04.07.2003 04:08:26
michael
Hallo VB-Spezialisten,
kann ich mit Hilfe eines Macros 2 Zellen durch eine Linie verbinden lassen?
ZB den rechten Rand der Zelle A1 mit dem linken Rand der Zelle D5.
Ich möchte nach einem Sortiervorgang zusammengehörige Paare per Linie mit einander verbinden. Wie kann ich das automatisiert realisieren?
Danke für eure Hilfe
Michael
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zellen mit Linien verbinden
04.07.2003 08:15:46
Manfred
Hallo Michael,
hier meine Lösung:

Sub linieZeichnen()
verbinden Range("b7"), Range("e14")
End Sub


Sub verbinden(z1 As Range, z2 As Range)
'Berechnen des linken Startpunktes
oben = z1.Top + z1.Height / 2
links = z1.Left + z1.Width
'Berechnen des rechten Zielpunktes
oben2 = z2.Top + z2.Height / 2
links2 = z2.Left
ActiveSheet.Shapes.AddLine(links, oben, links2, oben2).select
End Sub

Viel Spass

Anzeige
AW: zellen mit Linien verbinden
04.07.2003 14:00:30
michael
Hallo Manfred,
ich hab noch weiter getestet - jedoch ohne Erfolg :-((
es funktioniert nur in A1 schreibweise
verbinden Range("d44"), Range("f44")
keine alternative wie
z1 = 44 'oder startzeile + zeile_1
s1 = 4 'oder startspalte + 3
z2 = 44 'oder startzeile + zeile_2
s2 = 6 'oder startspalte + anz_spalte + 2
verbinden Range(Cells(z1, s1)), Range(Cells(z2, s2))
oder
'verbinden Range(Cells(44, 4)), Range(Cells(44, 6))funktioniert
warum funktioniert nur die A1 schreibweise?
was muß bei den Altenativen im Range-Ausdruck anders verwendet werden?
In der Hilfe finde ich für RANGE die A1 aber auch die Cells(x,y) schreibweise???
Ein ratloser Michael

Anzeige
AW: zellen mit Linien verbinden
04.07.2003 14:16:15
michael
fehler!!
verbinden Range(Cells(44, 4)), Range(Cells(44, 6))funktioniert NICHT!!

AW: zellen mit Linien verbinden
04.07.2003 11:55:26
michael
Hallo Manfred,
vielen Dank! Eine super Lösung!
ich habe deine Zeilen in mein Macro eingebaut und habe einen Laufzeitfehler 1004 'range' kann auf object '_global' nicht angewandt werden (ich hoffe ich habs mir richtig gemerkt)
Bei der Änderung von "A1" Schreibweise
verbinden Range("b7"), Range("e14")
in Cells (x,y)
verbinden Range(Cells(startzeile + zeile_1, startspalte + 3)), Range(Cells(startzeile + zeile_2, startspalte + anz_spalte + 2))
entsteht das Problem.
Hast du eine Idee wie das richtig geschrieben od deklariert wird?
Vielen Dank
Michael


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen in Excel mit Linien verbinden


Schritt-für-Schritt-Anleitung

Um in Excel Zellen mit Linien zu verbinden, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle dann Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub linieZeichnen()
       verbinden Range("b7"), Range("e14")
    End Sub
    
    Sub verbinden(z1 As Range, z2 As Range)
       oben = z1.Top + z1.Height / 2
       links = z1.Left + z1.Width
       oben2 = z2.Top + z2.Height / 2
       links2 = z2.Left
       ActiveSheet.Shapes.AddLine(links, oben, links2, oben2).Select
    End Sub
  4. Ändere die Zellreferenzen in verbinden Range("b7"), Range("e14") nach Bedarf.

  5. Schließe den VBA-Editor und führe das Makro aus, um die Verbindungslinien zwischen den Zellen zu zeichnen.


Häufige Fehler und Lösungen

Problem: Laufzeitfehler 1004 - "Range" kann auf Objekt "_Global" nicht angewandt werden.

Lösung: Stelle sicher, dass du die Zellreferenzen korrekt verwendest. Wenn du Cells(x, y) verwenden möchtest, achte darauf, dass die Variablen x und y korrekt deklariert und initialisiert sind. Hier ein Beispiel:

z1 = 44
s1 = 4
z2 = 44
s2 = 6
verbinden Range(Cells(z1, s1), Cells(z2, s2))

Wenn du die A1-Schreibweise verwendest, sollte es wie folgt aussehen:

verbinden Range("d44"), Range("f44")

Alternative Methoden

Wenn du eine alternative Methode suchst, um Excel-Zellen mit Linien zu verbinden, kannst du auch Formen nutzen. Hier ist, wie du das machst:

  1. Gehe auf die Registerkarte Einfügen.
  2. Wähle Formen aus und klicke auf Linie.
  3. Zeichne die Linie zwischen den gewünschten Zellen manuell.

Diese Methode ist einfach, aber nicht automatisiert, wie es das VBA-Makro ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Excel-Verbindungslinien zwischen Zellen verwenden kannst:

  • Beispiel 1: Verbinde Zellen A1 und D5 mit einer Linie, um sie visuell als zusammengehörig zu kennzeichnen.
  • Beispiel 2: Verwende excel zellen mit pfeilen verbinden, um eine Linie mit einem Pfeil zu zeichnen, um die Richtung des Datenflusses zu verdeutlichen.

In beiden Beispielen kannst du die oben genannten VBA-Methoden verwenden.


Tipps für Profis

  • Nutze benannte Bereiche, um die Lesbarkeit deiner Makros zu erhöhen. Anstatt Range("b7") zu verwenden, kannst du einen benannten Bereich erstellen, z.B. Range("StartZelle").
  • Experimentiere mit der Formatierung der Linien, indem du die Eigenschaften von ActiveSheet.Shapes anpasst, um die Linien farblich hervorzuheben oder die Dicke anzupassen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere Linien gleichzeitig zeichnen?
Antwort: Du kannst eine Schleife in deinem VBA-Code verwenden, um mehrere Linien basierend auf einem Bereich oder einer Liste von Zellen zu zeichnen.

2. Frage
Kann ich das Makro für bedingte Formatierungen verwenden?
Antwort: Ja, du kannst das Makro so anpassen, dass es nur dann Linien zeichnet, wenn bestimmte Bedingungen erfüllt sind, indem du If-Anweisungen in deinem VBA-Code verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige