Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Linie mit VBA
zurück: Bei Sicherungskopie nur Werte statt Formeln weiter: Fragen zu .Find bei Suche Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
DarkestSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. März 2011, 15:51
Rufname:

Linie mit VBA - Linie mit VBA

Nach oben
       Version: Office 2007

Hallo Leute,

Ich kann eine Linie mit VBA ja z.b. so zeichnen:

Sub bla()
ActiveSheet.Shapes.AddLine(40.5 + Range("X5").Value * 27, 132, 40.5 + Range("X6").Value * 27, 159).Select
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.ForeColor.SchemeColor = 0
End Sub

Klappt alles wunderbar.

Aber wie mache ich das, das ich eine schon vorhandene Linie an die gewünschte Position bringe?
Und dann am besten noch die Eigenschaften verändere (Am ende und anfang der Linie ein runder Punkt)

Wäre über Hilfe sehr dankbar!!
NinaW
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. März 2011, 16:30
Rufname:


AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Hallo,

also der erste Schritt wäre sicherlich den Namen der eben erzeugten Liste irgendwo zwischenzuspeichern.

Das kann z.b. in einer Zelle auf dem Blatt oder einer beliebigen Variable im Code passieren.

Wennn du dann die Linie ändern willst sprichst du einfach das Objekt mit der Info aus der entsprechenden Zelle bzw. Variable an.

z. B. so:

Code:

Sub bla()

ActiveSheet.Shapes.AddLine(40.5 + Range("X5").Value * 27, 132, 40.5 + Range("X6").Value * 27, 159).Select
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.ForeColor.SchemeColor = 0
ActiveSheet.Cells(1, 1) = Selection.ShapeRange.Name

End Sub


Code:

Sub aendern()

ActiveSheet.Shapes.Item(Cells(1, 1)).Select
Selection.ShapeRange.Item(Cells(1, 1)).Left = 40.5
    Selection.ShapeRange.Item(Cells(1, 1)).Width = 69#
    Selection.ShapeRange.Item(Cells(1, 1)).Top = 132#
    Selection.ShapeRange.Item(Cells(1, 1)).Height = 66#
    Selection.ShapeRange.Fill.Transparency = 0#
    Selection.ShapeRange.Line.Weight = 0.75
    Selection.ShapeRange.Line.DashStyle = msoLineSolid
    Selection.ShapeRange.Line.Style = msoLineSingle
    Selection.ShapeRange.Line.Transparency = 0#
    Selection.ShapeRange.Line.Visible = msoTrue
    Selection.ShapeRange.Line.ForeColor.SchemeColor = 0
    Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
    Selection.ShapeRange.Line.BeginArrowheadLength = msoArrowheadLengthMedium
    Selection.ShapeRange.Line.BeginArrowheadWidth = msoArrowheadWidthMedium
    Selection.ShapeRange.Line.BeginArrowheadStyle = msoArrowheadOval
    Selection.ShapeRange.Line.EndArrowheadLength = msoArrowheadLengthMedium
    Selection.ShapeRange.Line.EndArrowheadWidth = msoArrowheadWidthMedium
    Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadOval
End Sub


Bitte bedenke das du den Code noch dahingehend anpassen musst, das beim nächsten Einfügen einer Linie mit sub bla, der Indexwert nicht wieder an den gleichen Fleck geschrieben wird.
Gast



Verfasst am:
15. März 2011, 10:46
Rufname:

AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Danke, das klappt soweit alles perfekt.
Einziges wäre:

Ist es möglich das ich auch die Start und Endkoordinaten der Linie angebe?
Die Stratkoordinaten kann ich ja angeben. Aber die Endkoordinaten nicht.
Und Width und Lenght bring mir in dem Sinne nichts:/

Das andere ist alles wunderbar! Danke schonmal
DarkestSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. März 2011, 10:50
Rufname:

AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Sry, nicht eingeloggt:)
NinaW
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. März 2011, 11:28
Rufname:


AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Hi,

jetzt wirds schwierig.

Ich denke die einfachste Lösung ist die Linie dann nochml zu löschen und neu zu erstellen. Ich habe nichts gefunden wie man die Koordinaten angeben könnte.

Anbei ein Beispiel:



Linie-verschieben.xls
 Beschreibung:

Download
 Dateiname:  Linie-verschieben.xls
 Dateigröße:  28 KB
 Heruntergeladen:  179 mal

DarkestSun
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. März 2011, 11:39
Rufname:

AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Alles klar:)

Dann mach ich das so. Klein wenig umständlicher, aber wenns nicht anders geht:)

Vielen Dank dir!
kurochan
angelesenes Halbwissen


Verfasst am:
15. März 2011, 13:02
Rufname:
Wohnort: bei Heidelberg

AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Hallo,

klick auf die Linie, die Du verschieben + formatieren willst und starte das Makro:

Code:

Sub Verschieben_und_Formatieren()
  Selection.ShapeRange.IncrementLeft 48
  Selection.ShapeRange.IncrementTop 12.75
  Selection.ShapeRange.Line.BeginArrowheadStyle = msoArrowheadOval
  Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadOval
  Selection.ShapeRange.Line.ForeColor.SchemeColor = 10
End Sub


Die Increments sind hier so gewählt, dass die Linie eine Zelle nach rechts und eine Zelle nach unten verschoben wird.

Markiere eine Zelle und gib mal im Direktbereich ein:
?activecell.height
?activecell.width
dann bekommst Du eine Vorstellung von der Verschiebung.

_________________
Gruss
Eberhard / XL2000
Gast



Verfasst am:
15. März 2011, 13:45
Rufname:

AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

HI

kleiner Tip am Rande:

wenn du Zeichenelemente mit VBA erstellen und bearbeiten willst, dann kick Excel 2007 in die Tonne und installier dir entweder die alte 2003er oder die neue 2010er-Version.

in der 2007er Version zeichnet der Makroeditor die Aktivitäten, die mit Shapes ausgeführt werden, nicht auf.

Gruß, Daniel
werni
Solala


Verfasst am:
15. März 2011, 16:28
Rufname: werni
Wohnort: Ennenda GL


AW: Linie mit VBA - AW: Linie mit VBA

Nach oben
       Version: Office 2007

Hallo DarkestSun

Ich hab mal was gebastelt. Was du beachten und ev. ändern musst sind die Punte pro Spaltenbreite/Zeilenhöhe.

Gruss werni

_________________
"Die Summe aller Intelligenz auf Erden ist konstant, aber die Anzahl Individuen steigt."
. EINSTEIN



LinienVerschieben.xls
 Beschreibung:

Download
 Dateiname:  LinienVerschieben.xls
 Dateigröße:  23 KB
 Heruntergeladen:  186 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formate: Rahmen/Linie horizontal durch eine Zelle 3 DominikZF 313 06. Sep 2013, 23:23
DominikZF Rahmen/Linie horizontal durch eine Zelle
Keine neuen Beiträge Excel VBA (Makros): Zeitstrahl mit senkrechter Linie bei aktuellem Datum 0 Gast 80 04. Feb 2013, 11:04
Gast Zeitstrahl mit senkrechter Linie bei aktuellem Datum
Keine neuen Beiträge Excel Formate: Rechteck mit roter Linie 2pt und ohne füllung 3 bekjac 913 16. Mai 2011, 13:58
Zero Rechteck mit roter Linie 2pt und ohne füllung
Keine neuen Beiträge Excel VBA (Makros): Diagrammfarbe auf "Keine Linie" oder Transparenz=1 0 patrickmb 586 06. März 2011, 22:13
patrickmb Diagrammfarbe auf "Keine Linie" oder Transparenz=1
Keine neuen Beiträge Excel Formate: Linienart bei bedingter Formatierung - dicke Linie fehlt? 1 FRAD 1417 25. Jan 2011, 11:44
Thomas Ramel Linienart bei bedingter Formatierung - dicke Linie fehlt?
Keine neuen Beiträge Excel VBA (Makros): Listbox Linie 1 Lavinya 1214 16. Jan 2011, 20:42
Skaletti Listbox Linie
Keine neuen Beiträge Excel VBA (Makros): Vertikale (Rahmen-) linie in Fusszeile 3 Maiz 1513 11. Jan 2011, 16:48
Maiz Vertikale (Rahmen-) linie in Fusszeile
Keine neuen Beiträge Excel VBA (Makros): Grafik macht keine Linie, nur Punkte 7 b737 588 21. Aug 2010, 13:19
b737 Grafik macht keine Linie, nur Punkte
Keine neuen Beiträge Excel VBA (Makros): Linie dynamisch generieren, über Zellen-Anklick 2 modulo 301 11. Aug 2010, 12:58
modulo Linie dynamisch generieren, über Zellen-Anklick
Keine neuen Beiträge Excel VBA (Makros): +/- werte einer linie aus einem bestimmten bereich 0 anatoliy 181 29. Jun 2010, 11:00
anatoliy +/- werte einer linie aus einem bestimmten bereich
Keine neuen Beiträge Excel Formate: Hozizontale gestrichelte Linie weg bekommen wie ??? 5 jr3003 2308 17. Mai 2010, 14:32
gandalf149 Hozizontale gestrichelte Linie weg bekommen wie ???
Keine neuen Beiträge Excel Formeln: Minimum einer Kurve suchen und linie vom minimum zu achsen 2 nelson1234 913 16. Okt 2009, 18:22
nelson1234 Minimum einer Kurve suchen und linie vom minimum zu achsen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Macromedia Dreamweaver