bitte um Makrohilfe!
Wie kann per Auswahl den grünen Pfeil (Richtung unten) oder
den roten Pfeil (Richtung oben) in die aktive Zelle einfügen?
Vielen Dank
https://www.herber.de/bbs/user/75747.xls
Option Explicit
'Erstellt unter Excel 2007
'Code in allgemeinem Modul
Sub Aktiviere_Taste()
Application.OnKey "^{UP}", "'PfeilSetzen ""1""'"
Application.OnKey "^{DOWN}", "'PfeilSetzen ""2""'"
Application.OnKey "^{RIGHT}", "'PfeilSetzen ""3""'"
Application.OnKey "^{LEFT}", "'PfeilSetzen ""4""'"
End Sub
Sub DeAktiviere_Taste()
Application.OnKey "^{UP}"
Application.OnKey "^{DOWN}"
Application.OnKey "^{RIGHT}"
Application.OnKey "^{LEFT}"
End Sub
Public Sub Pfeilsetzen(lOption)
Select Case Val(lOption)
Case 1: Call EinfuegenPfeil(Zelle:=ActiveCell, lRichtung:=1, Farbe:=255) 'Pfeil oben - rot
Case 2: Call EinfuegenPfeil(Zelle:=ActiveCell, lRichtung:=2, Farbe:=6723891) 'Pfeil unten - _
grün
Case 3: Call EinfuegenPfeil(Zelle:=ActiveCell, lRichtung:=3, Farbe:=255) 'Pfeil rechts - _
rot
Case 4: Call EinfuegenPfeil(Zelle:=ActiveCell, lRichtung:=4, Farbe:=6723891) 'Pfeil links - _
grün
End Select
End Sub
Public Sub EinfuegenPfeil(Zelle As Range, lRichtung As Long, Farbe As Long)
Dim oPfeil As Shape, wks As Worksheet
Dim B_X#, B_Y#, E_X#, E_Y#, lFarbe As Long
Dim Laenge#
'Koordinaten der Linie, ermittelt aus Top- und Left-Position und Width der Zelle
'B_X = Beginn X
'E_X = Ende X
'B_Y = Beginn Y
'E_Y = Ende Y
With Zelle
Laenge = 16 'Länge der Pfeillinien
Select Case lRichtung
Case 1 'unten nach oben
B_X = .Left + .Width - 1: B_Y = .Top + .Height - 1
E_X = B_X: E_Y = B_Y - Laenge
Case 2 'oben nach unten
B_X = .Left + .Width - 1: B_Y = .Top + 1
E_X = B_X: E_Y = B_Y + Laenge
Case 3 'links nach rechts
B_X = .Left + .Width - 1 - Laenge: B_Y = Zelle.Top + .Height / 2
E_X = B_X + Laenge: E_Y = B_Y
Case 4 'rechts nach links
B_X = .Left + .Width - 1: B_Y = .Top + .Height / 2
E_X = B_X - Laenge: E_Y = B_Y
End Select
End With
Set wks = Zelle.Parent
Set oPfeil = wks.Shapes.AddLine(BeginX:=B_X, BeginY:=B_Y, EndX:=E_X, EndY:=E_Y)
With oPfeil
.Placement = xlMove 'Pfeil an Zelle gebunden
With .Line
'Form und Größe der Pfeile
.BeginArrowheadStyle = 1 'msoArrowheadNone
.EndArrowheadStyle = 2 'msoArrowheadTriangle
.EndArrowheadLength = 3 'msoArrowheadLong
.EndArrowheadWidth = 3 'msoArrowheadWide
.Weight = 1 'Linienbreite
'Farbe der Linie
.ForeColor.RGB = Farbe
End With
End With
Set wks = Nothing: Set oPfeil = Nothing
End Sub
Um einen Pfeil in eine Zelle in Excel einzufügen, kannst du folgende Schritte ausführen:
Makro aktivieren: Öffne Excel und aktiviere die Entwicklertools (Datei -> Optionen -> Menüband anpassen -> Entwicklertools aktivieren).
VBA-Editor öffnen: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Modul einfügen: Klicke auf Einfügen
> Modul
, um ein neues Modul zu erstellen.
Code einfügen: Kopiere den folgenden VBA-Code in das Modul:
Option Explicit
Sub PfeilEinfügen()
Dim oPfeil As Shape
Dim Zelle As Range
Set Zelle = ActiveCell ' Aktive Zelle auswählen
' Pfeil nach oben (rot)
Set oPfeil = Zelle.Worksheet.Shapes.AddLine( _
Zelle.Left + Zelle.Width / 2, Zelle.Top, _
Zelle.Left + Zelle.Width / 2, Zelle.Top - 20)
With oPfeil.Line
.ForeColor.RGB = RGB(255, 0, 0) ' Rot
.Weight = 2
.EndArrowheadStyle = msoArrowheadTriangle
End With
End Sub
Makro ausführen: Schließe den VBA-Editor und kehre zu Excel zurück. Führe das Makro über Entwicklertools
> Makros
aus.
Pfeil anpassen: Du kannst die Farbe und Richtung des Pfeils im Code ändern, um beispielsweise einen grünen Pfeil nach unten hinzuzufügen.
Fehler: Der Pfeil wird nicht angezeigt
Fehler: Makro kann nicht ausgeführt werden
Datei
> Optionen
> Trust Center
und aktiviere die Makrosicherheit.Falls du keine Makros verwenden möchtest, kannst du auch Pfeile in Excel über die Formen-Funktion einfügen:
Einfügen
> Formen
.Rechts-Pfeil
oder Aufwärts-Pfeil
).Diese Methode ist einfach und erfordert kein VBA.
Um einen roten Pfeil nach oben einzufügen, verwende den oben genannten VBA-Code und ändere die Farbe im Code.
Für einen grünen Pfeil nach unten kannst du die RGB-Werte anpassen:
.ForeColor.RGB = RGB(0, 255, 0) ' Grün
Du kannst auch verschiedene Pfeile kombinieren, indem du mehrere Makros erstellst oder den Code entsprechend anpasst.
Top - 20
im AddLine
-Befehl anpasst.1. Wie füge ich einen Pfeil in Excel 2003 ein?
Die Schritte sind ähnlich, aber die Benutzeroberfläche kann variieren. Stelle sicher, dass du die Entwicklertools aktivierst und den VBA-Editor nutzt.
2. Kann ich die Pfeile animieren?
In Excel sind Animationen für Formen nicht direkt verfügbar, du kannst jedoch die Formatierung ändern, um visuelle Effekte zu erzeugen.
3. Wie kann ich die Pfeile kopieren und einfügen?
Du kannst die Pfeile wie andere Formen kopieren, indem du mit der rechten Maustaste darauf klickst und Kopieren
wählst. Füge sie dann in die gewünschte Zelle ein.
4. Gibt es eine Möglichkeit, Pfeile automatisch zu generieren?
Ja, du kannst ein Makro erstellen, das beim Drücken einer bestimmten Taste automatisch einen Pfeil in die aktive Zelle einfügt.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen