Microsoft Excel

Herbers Excel/VBA-Archiv

Zylinder zeichnen (Größe abhängig von Zeile)

Betrifft: Zylinder zeichnen (Größe abhängig von Zeile) von: Tobias Hecht
Geschrieben am: 21.10.2014 11:10:14

Hi,
das Problem ist ein bisschen komplexer ...

ich will eine Art Livevorschau von einem Zylinder haben.
ich habe 3 verschiedene Höhen zur Auswahl 1 mtr. 0,75 mtr. 0,50 mtr.
wenn ich jetzt in einer Zelle 500 eingebe dann soll er mir einen Zylinder zeichen mit 5 cm. , wenn ich in der gleichen Zelle 750 eingebe dann soll er mir die Zyinderhöhe auf 7,5 cm anpassen.
gibt es diese Möglichkeit?
Bitte um Rückantwort.
Danke

  

Betrifft: AW: Zylinder zeichnen (Größe abhängig von Zeile) von: Uwe Küstner
Geschrieben am: 21.10.2014 12:51:13

Hallo Tobias,

Rechtsklick unten auf den Tabellenreiter, Code anzeigen.
In das rechte Codefenster dann diesen Code einfügen:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0, 0) = "D15" Then  'Zelladresse entsprechend ändern
    Me.Shapes("Zylinder 1").Height = Target.Value * 0.2834645669
  End If
End Sub
Gruß Uwe


  

Betrifft: AW: Zylinder zeichnen (Größe abhängig von Zeile) von: Tobias Hecht
Geschrieben am: 21.10.2014 14:21:00

Hi Uwe,
vielen Dank ist ja super :)
hätte gerade probiert einen zweiten Zylinder zu zeichnen.
und eine zweite Sub zu erstellen.

Private Sub Worksheet_Change2(ByVal Target As Range)
  If Target.Address(0, 0) = "D30" Then  'Zelladresse entsprechend ändern
    Me.Shapes("Zylinder 2").Height = Target.Value * 0.2834645669
  End If
End Sub
leider funktioniert dies aber nicht.

bitte klär mich auf. warum nicht.

Danke

PS: gibt es eigentlich die Möglichkeit wenn ich zwei Zylinder in Abhängigkeit eines Wertes habe diese so zu ändern dass wenn ein 10 cm Zylinder (Zylinder 1) auf 5 cm schrumpft das dann auch automatisch der (Zylinder 2) nach oben rutscht. ..?
hoffe du weißt wa

  

Betrifft: AW: Zylinder zeichnen (Größe abhängig von Zeile) von: Uwe Küstner
Geschrieben am: 21.10.2014 14:40:23

Hallo Tobias,

leider funktioniert dies aber nicht.

Da kann ich Dir auch nicht weiterhelfen.

Gruß Uwe


  

Betrifft: AW: Zylinder zeichnen (Größe abhängig von Zeile) von: Tobias Hecht
Geschrieben am: 21.10.2014 14:53:21

es funktioniert aber auch nicht wenn ich einmal ein Rechteck zeichne und die Formel das makro darauf anwende und dann zeichne ich einen Zylinder und probier wieder das gleiche.
Das funktioniert auch nicht. woran liegt das?


  

Betrifft: woran liegt das? von: Rudi Maintaire
Geschrieben am: 21.10.2014 15:48:26

Hallo,
wahrscheinlich an dir. Denn bei mir funktioniert's.

Gruß
Rudi


  

Betrifft: AW: woran liegt das? von: Tobias Hecht
Geschrieben am: 21.10.2014 17:13:22

echt kannst mir mal die Datei zuschicken?
tobias_hecht@arcor.de

wäre super ... oder hier als Dateianhang.
oder schickst mir einfach schnell deinen Quellcode.

bei dir funktionieren 2 Zylinderformen untereinander die Höhe anhand zwei verschiedener Zellwerte zu ändern?

Danke


  

Betrifft: AW: woran liegt das? von: Rudi Maintaire
Geschrieben am: 21.10.2014 17:43:25

Hallo,

Private Sub Worksheet_Change(ByVal Target As Range)
  Select Case Target.Address(0, 0)
    Case "D15"
      Me.Shapes("Zylinder 1").Height = Target.Value * Application.CentimetersToPoints(0.01)
    Case "D30"
      Me.Shapes("Zylinder 2").Height = Target.Value * Application.CentimetersToPoints(0.01)
  End Select
End Sub

Gruß
Rudi


  

Betrifft: AW: woran liegt das? von: Tobias Hecht
Geschrieben am: 21.10.2014 17:56:14

super, danke so hats funktioniert....:)

hätte jetzt das Spiel noch für die Breite versucht.
wenn ich ein weiteres Case einfüge und anstatt Höhe , Breite ändere funktioniert es tadellos.

wenn ich aber anhand der Übersicht eine neue Sub eröffnen will

Private Sub Worksheet_Change2(ByVal Target As Range)
  Select Case Target.Address(0, 0)
          Case "C2"
      Me.Shapes("Zylinder 3").Width = Target.Value * Application.CentimetersToPoints(0.01)
  End Select
End Sub

dann zeigt das Rechteck oder Zylinder wieder keine Reaktion.

Sub ist doch nur der Name für die Funktion (das könnte doch x-beliebig heißen oder?)


  

Betrifft: Na schön, mal wieder der übliche ... von: Luc:-?
Geschrieben am: 21.10.2014 19:44:50

…UnverständnisFehler, was Ereignisprozeduren sind und bedeuten, Tobias… :->
Es gibt nur EIN Ereignis Worksheet_Change pro Blatt, also auch kein _Change2!
Was man machen kann, ist, die EreignisProzedur wie einen Verteiler zu benutzen und nach zweckdienlichen Kriterien auf separate Pgmm zu verzweigen, also solche mit Call oder Run an entsprd Stelle lt erfülltem Kriterium aufzurufen.
Gruß, Luc :-?


  

Betrifft: es kann nur eines geben von: Rudi Maintaire
Geschrieben am: 21.10.2014 22:06:08

Hallo,
es kann nur 1 Ereignis geben!
Das ist wie im Leben.
z.b. du wirst geküsst. Dann fragst du dich doch auch, von wem. Je nach dem von wem (deiner Frau, deiner Mutter, einem Fremden), reagierst du anders (Zunge raus, Lippen zu, aufe Fresse hauen).
Genauso ist es mit dem Worksheet_Change-Ereignis. Da prüfst du einfach, welche Zelle geändert wurde.


Gruß
Rudi


  

Betrifft: Sehr hübscher, fast poetischer Vgl, Rudi! ;-) orT von: Luc:-?
Geschrieben am: 21.10.2014 23:03:23

Gruß, Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Zylinder zeichnen (Größe abhängig von Zeile)"