Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen mit Linien verbinden?

Zellen mit Linien verbinden?
Marlon
Hallo Excel-Gemeinde,
ich hab ein Problemchen, bei dem ich nicht weiß, ob Excel/VBA hierfür überhaupt die richtigen Werkzeuge sind.
Ich möchte Zellen (mit gleichem Inhalt) mit einer Linie verbinden lassen.
Das sollte dann so aussehen:
Userbild
Kennt jemand einen Ansatz für eine Lösung?
Danke,
Marlon
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellen mit Linien verbinden?
22.05.2011 14:57:46
ransi
Hallo
ob Excel/VBA hierfür überhaupt die richtigen Werkzeuge sind. Ich habs mal versucht.
Packe diesen Code mal in ein Modul:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit



Public Function Finde(bereich As Range, Kriterium) As Boolean
    Dim Bild As FreeformBuilder
    Dim S As Shape
    Dim myBol As Boolean
    Dim arr As Variant
    Dim L As Long
    Dim I As Integer
    myBol = False
    
    On Error Resume Next
    bereich.Parent.Shapes("myFreeform" & Application.ThisCell.Address(0, 0)).Delete
    On Error GoTo 0
    
    If WorksheetFunction.CountIf(bereich, Kriterium) > 1 Then
        arr = bereich
        For L = LBound(arr) To UBound(arr)
            For I = LBound(arr, 2) To UBound(arr, 2)
                If arr(L, I) = Kriterium Then
                    With bereich(L, I)
                        If myBol = False Then
                            
                            Set Bild = bereich.Parent.Shapes.BuildFreeform(msoEditingAuto, .Left + (.Width / 2), .Top + (.Height / 2))
                            
                            myBol = True
                            Else:
                            Bild.AddNodes msoSegmentLine, msoEditingAuto, .Left + (.Width / 2), .Top + (.Height / 2)
                            
                        End If
                    End With
                End If
            Next
        Next
        With Bild
            Set S = .ConvertToShape
            S.Name = "myFreeform" & Application.ThisCell.Address(0, 0)
        End With
    End If
    Finde = myBol
End Function


Der Aufruf geht dann ganz einfach so:
Tabelle1

 ABCDEFGHI
1794540 7WAHR
2792174   
36107320   
4554718   
51074539   
64810511   
77107290   
89517610   
91012213   
10605910   
11254404   
12019393   
13507083   
14290714   
15373498   
161063773   
17972925   
1871094102   
19739905   
202531108   
21858591   
228110347   
2391410510   
248302108   
25683813   
267891059   
27920804   

Formeln der Tabelle
ZelleFormel
I1=machs(A1:F200;H1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
ransi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen mit Linien verbinden in Excel


Schritt-für-Schritt-Anleitung

Um Excel Zellen mit Linien zu verbinden, kannst Du den folgenden VBA-Code verwenden. Dieser Code zeichnet Verbindungslinien zwischen Zellen, die denselben Inhalt haben.

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

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

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    
    Public Function Finde(bereich As Range, Kriterium) As Boolean
        Dim Bild As FreeformBuilder
        Dim S As Shape
        Dim myBol As Boolean
        Dim arr As Variant
        Dim L As Long
        Dim I As Integer
    
        myBol = False
    
        On Error Resume Next
        bereich.Parent.Shapes("myFreeform" & Application.ThisCell.Address(0, 0)).Delete
        On Error GoTo 0
    
        If WorksheetFunction.CountIf(bereich, Kriterium) > 1 Then
            arr = bereich
            For L = LBound(arr) To UBound(arr)
                For I = LBound(arr, 2) To UBound(arr, 2)
                    If arr(L, I) = Kriterium Then
                        With bereich(L, I)
                            If myBol = False Then
                                Set Bild = bereich.Parent.Shapes.BuildFreeform(msoEditingAuto, .Left + (.Width / 2), .Top + (.Height / 2))
                                myBol = True
                            Else
                                Bild.AddNodes msoSegmentLine, msoEditingAuto, .Left + (.Width / 2), .Top + (.Height / 2)
                            End If
                        End With
                    End If
                Next I
            Next L
            With Bild
                Set S = .ConvertToShape
                S.Name = "myFreeform" & Application.ThisCell.Address(0, 0)
            End With
        End If
        Finde = myBol
    End Function
  4. Schließe den VBA-Editor.

  5. Um den Code zu verwenden, rufe die Funktion in einer Zelle auf, z.B. =Finde(A1:F200;H1).


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass der Bereich korrekt angegeben ist und dass die Zellen die erwarteten Werte enthalten.

  • Fehler: Keine Linien angezeigt
    Lösung: Überprüfe, ob die Zellen im angegebenen Bereich tatsächlich denselben Inhalt haben. Andernfalls wird keine Linie gezeichnet.


Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die Excel Zeichnungsfunktionen nutzen:

  1. Wähle die Registerkarte Einfügen.
  2. Klicke auf Formen und wähle die Linie oder den Pfeil aus.
  3. Zeichne die Linie zwischen den Zellen manuell.

Diese Methode ist jedoch weniger automatisiert und erfordert mehr manuelle Arbeit.


Praktische Beispiele

Hier sind einige Beispiele, wie Du Zellen mit verschiedenen Linien verbinden kannst:

  • Zellen mit Linien verbinden: Verwende den oben genannten VBA-Code, um direkt Linien zwischen Zellen zu ziehen.
  • Zellen mit Pfeilen verbinden: Nutze die Zeichnungsfunktionen, um Pfeile zu erstellen, die auf bestimmte Zellen zeigen.
  • Strichlinien verwenden: Du kannst auch gestrichelte Linien oder andere Formen wählen, die in der Excel Zeichnungsbibliothek verfügbar sind.

Tipps für Profis

  • Tastenkombinationen: Um schnell zu Zellen zu navigieren, kannst Du die Strg + G Tastenkombination verwenden, um die "Gehe zu"-Funktion zu öffnen. Das beschleunigt das Arbeiten mit Zellen.
  • Makros automatisieren: Speichere Deine Makros in der persönlichen Makroarbeitsmappe, um sie in verschiedenen Excel-Dateien zu verwenden.
  • Verbindungslinien zwischen Zellen: Überlege, ob Du eine einheitliche Formatierung für alle Linien verwenden möchtest, um ein konsistentes Layout zu schaffen.

FAQ: Häufige Fragen

1. Kann ich die Linien auch farblich anpassen?
Ja, Du kannst die Linienfarbe im Formatierungsbereich der Formen auswählen, nachdem Du sie gezeichnet hast.

2. Funktioniert das auch in Excel Online?
Die VBA-Funktionalität ist in Excel Online nicht verfügbar. Du kannst jedoch die Zeichnungsfunktionen nutzen.

3. Welche Excel-Version benötige ich?
Die VBA-Methode funktioniert in Excel 2010 und höher. Die Zeichnungsfunktionen sind in allen modernen Excel-Versionen verfügbar.

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