AW: Zellen mit gleichen Inhalten mit Pfeilen verbinden
16.02.2011 15:25:39
Reinhard
Hallo Stefan,
komisch, bei Tests brauchte ich irgendwie das Flip, aber okay, wenn es ohne geht.
Die Pfeilspitze habe ich jetzt entfernt.
Und auch die Berechnungen von Left und Top verändert. Left reagiert jetzt auf Spaltenbreiteänderung in A.
Option Explicit
Sub check()
Dim ZeiA As Long, ZeiD As Long, Nr As Integer
Call Loesch
With Worksheets("Tabelle1")
For ZeiA = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
For ZeiD = 1 To .Cells(Rows.Count, 4).End(xlUp).Row
If .Cells(ZeiA, 1).Value = .Cells(ZeiD, 4).Value Then
Nr = Nr + 1
Call Pfeil(.Cells(ZeiA, 1), .Cells(ZeiD, 4), Nr)
End If
Next ZeiD
Next ZeiA
End With
End Sub
Sub Pfeil(rngA As Range, rngD As Range, ByVal Nr As Long)
Dim xA, yA, xD, yD
xA = rngA.Offset(0, 1).Left
yA = rngA.Top + (rngA.Offset(1, 0).Top - rngA.Top) / 2
xD = rngD.Left + 1
yD = rngD.Top + (rngD.Offset(1, 0).Top - rngD.Top) / 2
With Worksheets("Tabelle1")
.Shapes.AddLine(xA, yA, xD, yD).Name = "Pfeil" & Nr
With .Shapes("Pfeil" & Nr)
'.Line.EndArrowheadStyle = msoArrowheadTriangle
.Line.EndArrowheadLength = msoArrowheadLengthMedium
.Line.EndArrowheadWidth = msoArrowheadWidthMedium
'If yD
Gruß
Reinhard