Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1432to1436
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
Inhaltsverzeichnis

messen

messen
29.06.2015 09:49:59
stef26
Hallo Zusammen,
man kann ja von Objekten den Ort bestimmen.
Worksheets("Skizze").Shapes("Messpunkt").Left
Worksheets("Skizze").Shapes("Messpunkt").Top
Gibt es die Möglichkeit den Ort eines Mausklickes zu erfassen.
Ich möchte über ein Macro einmal den Ort des Mauszeigers erfassen, wenn die Maustaste gedrückt wurde. Dann nochmal. Nun soll er die Differenz der beiden
Werte ermitteln (Messen zwischen zwei Punkten) und diesen in einer MsgBox ausgeben.
Ist so was möglich ?
Wenn ja wie kann ich das umsetzen?
Falls jemand so was schon mal gesehen hat...
Liebe Grüße
Stefan

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: messen
29.06.2015 10:04:07
Nepumuk
Hallo,
innerhalb eines Shapes?
Gruß
Nepumuk

AW: messen
29.06.2015 10:35:46
stef26
Hallo Nepumuk,
nein nicht innerhalb eines shapes.
Ich möchte lediglich auf dem Tabellenblatt 2x mit der Maus klicken (wenn das Makro gestartet wurde) und mir die Differnz left und top anzeigen lassen
:-)
Gruß
Stefan

AW: messen
29.06.2015 10:38:40
selli
hallo stef26,
Falls jemand so was schon mal gesehen hat...
ja, in der recherche. stichwort könnte "mausposition" lauten
gruß
selli

AW: messen
29.06.2015 11:18:45
Daniel
Hi
1. Erstelle auf dem Blatt einen ToggleButton aus den ActiveX-Steuerelementen.
2. Schreibe in das MouseUp-Event des Toggelbuttons folgenden Code:
Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
Static x1 As Single
Static y1 As Single
If Not ToggleButton1 Then
x1 = X
y1 = Y
Else
MsgBox "Delta X: " & X - x1 & vbLf & "Delta Y: " & Y - y1
End If
ToggleButton1 = Not ToggleButton1
End Sub
um eine Messung durchzuführen machst du folgendes:
- Togglebutton anklicken, linke Maustaste gedrückt halten und zum ersten Messpunkt fahren, am Messpunkt Maustaste loslassen
- Vorgang für zweiten Messpunkt wiederholen, dannach wird die Differenz angezeigt.
am Zustand des Togglebuttons siehst du , ob du die erste oder zweite Messung durchführst
Gruß Daniel

Anzeige
AW: messen
29.06.2015 12:53:13
stef26
Hallo Daniel,
genau das hab ich gesucht.
Hab den Toggle Button eingefügt und unter MouseUp den code hinterlegt.
Entwurfmodus aus gemacht...
Aber es tut sich nichts ?
Was mache ich falsch?
Gruß
Stefan

AW: messen
29.06.2015 12:54:43
stef26
sorry funktioniert danke
hab mich nur doof angestellt
:-)
Stefan

Erweiterung mit Pfeil
29.06.2015 20:12:21
stef26
Hallo Daniel,
ich glaub ich brauch nochmal deine Hilfe.
Hab ein bisschen mit dem Macrorecorder rumgespielt.
Würde gerne einen Messpfeil mit Wert einfügen (gruppiert)
Bring das aber nicht sauber hin....
Hier der Code
Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As _
Single, ByVal Y As Single)
Static x1 As Single
Static y1 As Single
If Not ToggleButton1 Then
x1 = X
y1 = Y
Else
X = Round(X, 2)
Y = Round(Y, 2)
MsgBox "Delta X: " & (X - x1) / 2 & " cm" & vbLf & "Delta Y: " & (Y - y1) / 2 & " cm"
'Pfeil Zeichnen
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, X, _
Y, x1, y1).Select
Selection.ShapeRange.Line.BeginArrowheadStyle = msoArrowheadTriangle
Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 200, _
80, 50, 37).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = (X - x1)/2 & " cm"
Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 3).ParagraphFormat. _
FirstLineIndent = 0
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 3).Font
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = msoThemeColorDark1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Fill.Transparency = 0
.Fill.Solid
.Size = 11
.Name = "+mn-lt"
End With
End If
ToggleButton1 = Not ToggleButton1
End Sub

Anzeige
AW: Erweiterung mit Pfeil
30.06.2015 16:28:48
Daniel
Hi
die X- und Y-Werte die du von der MouseUp-Funktion bekommst, haben ihren 0-Punkt in der linken oberen Ecke des Togglebuttons.
Damit du deinen Pfeil richtig auf dem Blatt einzeichnen kannst, musst du noch den .Top-wert des Buttons zu Y / Y1 und den .Left-wert des Buttons zu X / X1 hinzuaddieren.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige