Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Select/Selection vermeiden

Select/Selection vermeiden
01.10.2004 14:22:10
Julia
Hi,
kann man folgendes Makro o h n e Select/Selection schreiben und wenn ja, wie?

Sub Makro1()
Dim otext As Shape
Set otext = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 35.25, 72#, _
168.75, 67.5)
otext.Select
Selection.Characters.Text = "Hallo"
otext.Select
Selection.ShapeRange.IncrementLeft 414#
Selection.ShapeRange.IncrementTop 36.75
End Sub

Gruß
Julia
AW: Select/Selection vermeiden
Remo
Dim otext As Shape

Set otext = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 35.25, 72#, _
168.75, 67.5)
otext.Characters.Text = "Hallo"
otext.ShapeRange.IncrementLeft 414#
otext.ShapeRange.IncrementTop 36.75

End Sub
AW: Select/Selection vermeiden
Reinhard
Hi Julia,

Sub tt()
Dim otext As Shape
Set otext = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 449.25, 108.75, _
168.75, 67.5)
otext.Characters.Text = "Hallo"
Set otext = Nothing
End Sub

Gruß
Reinhard
AW: Select/Selection vermeiden
Udo
Hast du das probiert?
Rdo
Anzeige
AW: Select/Selection vermeiden
Reinhard
Hi Udo,
nein, hatte ich nicht.

Sub tt()
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 449.25, 108.75, _
168.75, 67.5).TextFrame.Characters.Text = "Hallo"
End Sub

Gruß
Reinhard
AW: Select/Selection vermeiden
Udo
Nicht gut, wenn weitere Eigenschaften zugewiesen werden müssen.
Udo
AW: Select/Selection vermeiden
Reinhard
Hallo Udo,
Option Explicit

Sub tt()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.Shapes.AddTextbox(msoTextOrientationHorizontal, 449.25, 108.75, 168.75, 67.5)
.TextFrame.Characters.Text = "Hello world"
End With
Set ws = Nothing
End Sub

Gruß
Reinhard
Anzeige
AW: Select/Selection vermeiden
Udo
Wieso setzt du eine lokale Variable explizit auf Nothing?
Udo
AW: Select/Selection vermeiden
Reinhard
Hallo Udo,
k.A., dachte das gehört sich so den Speicher aufzuräumen, anscheinend nicht*g
Gruß
Reinhard
AW: Select/Selection vermeiden
Udo
Muss man nicht, kann aber nichts schaden.
Udo
AW: Select/Selection vermeiden
Julia
Hi,
vielen Dank für die Beiträge.
Mein Hauptziel war es, die Textbox ohne Select zu bewegen.
Hast Du da noch eine Idee?
Gruß
Julia
AW: Select/Selection vermeiden
Reinhard
Hi Julia,
entweder absolut ie Werte vorgeben wie in bewegen(), oder relativ wie in bewegen2().

Sub tt()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.Shapes.AddTextbox(msoTextOrientationHorizontal, 449.25, 108.75, 168.75, 67.5)
.Name = "MeineTBox1"
.TextFrame.Characters.Text = "Hello world"
End With
Set ws = Nothing
End Sub


Sub bewegen()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.Shapes("MeineTBox1")
.Top = 0
.Left = 0
End With
Set ws = Nothing
End Sub


Sub bewegen2()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.Shapes("MeineTBox1")
.IncrementLeft 414#
End With
Set ws = Nothing
End Sub

Gruß
Reinhard
Anzeige
AW: Select/Selection vermeiden
Julia
Hallo,
vielen Dank für Deine Lösungen.
Leider funktioniert sie nur einmal. Wenn ich ein zweites Mal starte, wird keine Textbox mehr angezeigt und versetzt.
Mache ich etwas falsch.
Ich wollte bei jedem Start einen anderen Text eingeben können und diesen "einschweben" lassen, so wie z.B. bei Powerpoint.
Ist dies mit VBA gar nicht zu machen?
Gruß
Julia
AW: Select/Selection vermeiden
Udo

Sub Makro01()
Dim otext As Shape
Set otext = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 35.25, 72#, _
168.75, 67.5)
otext.OLEFormat.Object.Text = "Hallo"
otext.IncrementLeft 414#
otext.IncrementTop 36.75
End Sub

Udo
Anzeige
AW: Select/Selection vermeiden
Julia
Hallo,
auch Dir besten Dank für Deine Lösung.
Leider funktioniert sie auch nur einmal.
Die Textbox sollte bei jedem Start angezeigt werden.
Mache ich etwas falsch?
Gruß
Julia
AW: Select/Selection vermeiden
Udo
Mit dem Code wird bei jedem Klick ein neues Textfeld erzeugt.
Was genau willst du denn erreichen?
Udo
AW: Select/Selection vermeiden
Julia
Hallo Udo,
ich freue mich, dass Du mir bei meinen "Hausaufgaben" noch immer weiter helfen möchtest.
Mein Ziel ist es, einen Text möglichst nahe bei einem Schnittpunkt zweier Geraden "abzusetzen".
Liegt der Schnittpunkt der Geraden, die per VBA erzeugt werden (Gitternetzlinien sind ausgeschaltet) z.B. in P(250,300), so soll eben möglichst in der Nähe dieses Punktes ein Text stehen z.B. der Text P(250,300).
Nach langem Probieren kam ich auf die Textbox, die unabhängig vom Zellenlayout plaziert werden kann. Inzwischen sehe ich jedoch, dass dieser Ansatz wohl auch nicht in Frage kommt. Hast Du für diesen Wunsch eine Lösung?
Bei der Lösung der Gesamtaufgabe ist eine weitere Detailaufgabe zu knacken, der ich mich aber erst dann zuwenden möchte, wenn die Beschriftung der ermittelten Punkte einwandfrei klappt.
Über einen Lösungsansatz würde ich mich sehr freuen.
Gruß
Julia
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige