Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
VBA:Cosinus TextBox
Ernst
Hallo Forum
Möchte per VBA die Schräge aus dem Winkel und einer Seitenlänge berechnen.
Die Berechnung soll in einer UserForm mit drei TextBoxen erfolgen.
TextBox1 = Ankathete (Eingabewert)
TextBox2 = Winkel (Eingabewert)
Textbox3 = Hypotenuse (Ausgabewert)
Die Formel lautet allgemein: Hypotenuse = Ankathete / cosWinkel
Beispiel:
Ankathete = 10
Winkel = 30°
Hypotenuse = 11.54
In Excel wird der Cosinuswert für 30° wie folgt berechnet:
cos(30 * Pi()/180) = 0.866
oder
cos(Bogenmass(30)) = 0.866
Kann mir jemand den untenstehenden Code ergänzen.
mit freundlicehn Grüssen
Ernst Dunkel

Private Sub cmdBerechnen_Click()
End Sub

AW: VBA:Cosinus TextBox
11.02.2006 17:33:13
Peter
Hallo Ernst
so sollte es gehen:

Private Sub CommandButton1_Click()
'   cos(30 * Pi()/180) = 0.866
Dim Cosinus  As Double
   Cosinus = Cos(CDbl(TextBox2 * 3.1415 / 180))
   
   If Cosinus <> 0 Then
      Me.TextBox3.Value = Format(CDbl(Me.TextBox1.Value / Cosinus), "#,#00.00")
   End If
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: VBA:Cosinus TextBox
11.02.2006 17:45:25
Ernst
Hallo Peter
Funktioniert, ich staune immer wie schnell ihr bzw. du das löst.
Ich möchte noch eine weitere Funktion einfügen, will das aber selber herausfinden, ansonsten melde ich mich wieder.
mit freundlichen Grüssen
Ernst Dunkel
AW: VBA:Cosinus TextBox
11.02.2006 17:33:42
Reinhard
Hi Ernst,

Sub cs()
Dim an, wink, hyp
an = 10
wink = 30
hyp = an / Cos(wink * Application.WorksheetFunction.Pi() / 180)
MsgBox hyp
End Sub

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: VBA:Cosinus TextBox
11.02.2006 17:57:38
Ernst
Hallo Reiner
Das geht mir ein bisschen zu schnell, Code von Peter habe ich verstanden.
Das mit dem deklarieren Dim as ..., verstehe ich auch, Makro aufrufen ist auch klar.
Wo gebe ich bei deinem Code die Werte ein? Da fehlt mir was!
mfg
Ernst Dunkel
Anzeige
AW: VBA:Cosinus TextBox
11.02.2006 18:13:54
Reinhard
Hi Ernst,

Private Sub cmdBerechnen_Click()
TextBox3 = TextBox1 / Cos(TextBox2 * Application.WorksheetFunction.Pi() / 180)
End Sub

Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: VBA:Cosinus TextBox
11.02.2006 18:48:55
Ernst
Hallo Rainer
Vielen Dank, warum hast du nun den Code geändert?
AW: VBA:Cosinus TextBox
11.02.2006 18:53:29
Reinhard
Hi Ernst,
du wolltest doch die Werte aus/in Textboxen "holen" und "schreiben"!?
Die eigentliche Berechnung blieb doch gleich.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
AW: VBA:Cosinus TextBox
11.02.2006 18:56:08
Ernst
Hallo Rainer
Ja, vielen Dank
Ernst Dunkel
AW: VBA:Cosinus TextBox
11.02.2006 21:43:19
Peter
Hallo Ernst,
hier noch einmal in 'Reinschrift'
https://www.herber.de/bbs/user/30934.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: VBA:Cosinus TextBox
12.02.2006 10:07:09
Peter
Hallo Ernst,
das sieht ja richtig toll aus, mit deiner Dachflächenberechnung, da kann mein simples Beispiel natürlich nicht mithalten.
Viele Grüße aus dem nebligen Hamburg, Peter
Ergänzung
12.02.2006 08:34:19
Ernst
Guten Morgen Peter
Habe deinen Code geändert, da wir in der Schweiz als Dezimaltrenner das Punkt und nicht das Komma verwenden. (Case 46, 48 To 57)
44 = Komma
46 = Punkt
48 bis 57 = Zahlen 0 bis 9
mit freundlichen Grüssen
Ernst Dunkel
Anzeige
Befehlsschaltfläche
12.02.2006 08:43:08
Ernst
Hallo Peter
Wie machst du die tolle, farbige Schaltfläche?
AW: Befehlsschaltfläche
12.02.2006 10:02:35
Peter
Guten Morgen Ernst,
Komma gegen Punkt austauschen - kein Problem, wie du sicher festgestellt hast.
Bezüglich Button:
Rechtsklick auf den Button im Beispiel, in dem sich öffnenden Fenster 'Kopieren' anklicken, die Mappe, in die der Button soll öffnen und dort Rechtsklick (irgendwo im Tabblatt) und in dem sich öffnenden Fenster 'Einfügen' anklicken - schon sollte er dort sein, wo du ihn haben möchtest.
In seiner endgültigen Mappe Rechtsklick auf den Button machen und in dem sich öffnenden Fenster, das erledigen, was du machen möchtest, incl. an den Markierungen anfassen und die Größe ändern.
Text bearbeiten, Makro zuweisen, Autoform formatieren. Fertich.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Befehlsschaltfläche
12.02.2006 10:18:22
Ernst
Hallo Peter
Sorry, habe mich vieleicht ein bischen falsch ausgedrückt. Wie man ein Button erstellt ist mir klar, nur wie machst du es abgerundet und so schön farbig.
Siehe bitte mal meine Lösung im treed vom 12.02.2006 00:06:2 an, da ist meine Schaltfläche rechteckig.
AW: Befehlsschaltfläche
12.02.2006 10:51:19
Peter
Hallo Ernst,
diesen 'abgerundeten' Button habe ich mir irgendwoher kopiert.
Seitdem kopiere ich ihn mir von einer Anwendung zur anderen, so wie ich es dir beschrieben habe. Die fette Schrift, die Farbe, wie beschrieben einsetzen, mittig ausrichten der Schrift manuell, durch vorgesetzte Leerstellen.
Wie man den evtl. neu, wie einen Button einfügen könnte, weiß ich nicht.
Die Kopierversion funktioniert aber gut.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
Zusatzfrage
12.02.2006 11:49:58
Ernst
Hallo Peter
OK, werde die Schaltfläche auch so übernehmen. Wie findest du die Zeichnung mit meinem Dach?
Wie müsste der Code lauten, wenn das Ergebnis mit Ctrl v in eine Zelle eingefügt werden soll.

Private Sub cmdBerechnen_Click()
On Error Resume Next
TextBox4 = Format((TextBox1 / Cos(TextBox2 * Application.WorksheetFunction.Pi() / 180) * TextBox3), "#,#00.0")
End Sub

AW: Zusatzfrage
12.02.2006 12:02:37
Peter
Hallo Ernst,
non capisco niente.
Ctrl + v (entspricht Strg + v glaube ich) ist doch ein manueller Kopiervorgang, meine ich - oder sehe ich das jetzt verkehrt!?
Wie willst du den in ein Makro packen?
Viele Grüße Peter
Anzeige
AW: Zusatzfrage
12.02.2006 13:01:29
Ernst
Hallo Peter
Ctrl + v entspricht Strg + v.
Ich habe nun bei der TextBox4, ControlSource auf c10 eingestellt und der Code unten mit
Range("C10").Select
Selection.Copy
ergänzt.
Somit kann ich bei Betätigung der rechten Maustaste -> einfügen, die Fläche in eine beliebige Zelle einfügen. Ich denke es gibt dies bezüglich per VBA eine elegantere Lösung. Kennt jemand eine andere Lösung, dann bitte zeigen.
Mit freundlichen Grüssen
Ernst Dunkel

Private Sub cmdBerechnen_Click()
On Error Resume Next
'TextBox3 = TextBox1 / Cos(TextBox2 * Application.WorksheetFunction.Pi() / 180)
TextBox4 = Format((TextBox1 / Cos(TextBox2 * Application.WorksheetFunction.Pi() / 180) * TextBox3), "#,#00.0")
Range("C10").Select
Selection.Copy
End Sub

Anzeige
AW: Zusatzfrage
12.02.2006 15:58:39
Peter
Hallo Ernst,
ich meine, du brauchst in deinem Makro nichts zu ändern oder zu ergänzen, es genügt die Angabe in ControlSource in den Eigenschaften der TextBox.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Befehlsschaltfläche
12.02.2006 14:44:54
Reinhard
Hi Ernst ggfs Peter,
Ansicht--Symbolleisten--Zeichnen.
Dann suchste dir die abgerundete Form heraus.
Rechtsklick darauf, Autoform formatieren, Farbn und Linien, dann auf den Pfeil neben die Farbe klicken, dann Fülleffekte...
Nachstehend wie eine Änderung der Fülleffekte im Makro aussieht.
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen.
ActiveSheet.Shapes("AutoShape 1").Select
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 = 64
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 65
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientFromCenter, 1, 0.36
Anzeige
AW: Befehlsschaltfläche
12.02.2006 14:59:41
Ernst
Hallo Reinhard
Vielen Dank für den Hinweis. Hatte dies unter Steurelemt-Toolbox gesucht und nicht gefunden.
mit freundlichen Grüssen
Ernst Dunkel
AW: Befehlsschaltfläche
12.02.2006 18:07:57
Peter
Hallo Reihard,
wie weise ich dem 'Button' aber ein Makro zu?
Wenn ich einen Rechtsklick darauf mache ist 'Makro zuweisen' nicht eingabebereit.
Viele Grüße Peter
AW: Befehlsschaltfläche
12.02.2006 19:06:21
Reinhard
Hallo Peter,
Rechtsklick auf die Umrandung.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Befehlsschaltfläche
12.02.2006 19:23:53
Peter
Hallo Reinhard,
ich bin begeistert, so geht es tatsächlich. Danke.
Viele Grüße Peter
Gern geschehen :-) o.w.T.
12.02.2006 19:49:35
Reinhard
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige