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

Schaltfläche

Schaltfläche
11.08.2003 17:03:30
Markus
hallo,

ich möchte gerne über ein makro in einer tabelle eine schaltfläche hinzufügen, die wiederum beim anklicken ein makro "drucken" ausführen soll. hab dazu folgenden code:

ActiveSheet.Buttons.Add(465.75, 245.25, 88.5, 42.75).Select
Selection.OnAction = "Drucken"
ActiveSheet.Shapes("Drucken").Select
Selection.Characters.Text = "Drucken"
With Selection.Characters(Start:=1, Length:=7).Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With

beim ausführen kommt aber immer ein laufzeitfehler mit der fehlermeldung:
das element mit dem angegebenen namen wurde nicht gefunden. beim debuggen bleibt er in der zeile

ActiveSheet.Shapes("Drucken").Select

stehen.

kann mir jemand weiterhelfen?

- markus

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltfläche
11.08.2003 17:06:29
Mike E.
Hallo Markus,

starte mal den Makrorekorder und ktiviere das Shape, das angeblich "Drucken" heißt.
Im denn entstandenen Code siehst du den tatsächlichen Namen des Shapes - dann in den Anführungszeichen entsprechend ändern.

Grüße
Mike


AW: Schaltfläche
11.08.2003 17:13:35
Mike E.
Hallo Markus,

hier nochmal ein Beispiel, wie du die Namen auch ermitteln kannst:

Sub v()

For i = 1 To ActiveSheet.Shapes.Count

MsgBox (ActiveSheet.Shapes(i).Name)
Next

Gruß
Mike


AW: Schaltfläche
11.08.2003 17:23:30
Ramses
Hallo,

wenn er aber anschliessend einen neuen Button in die gleiche Tabelle hinzufügt hat der wieder einen anderen Namen, oder wenn er vorher einen anderen einfügt ebenfalls.

Gruss Rainer


Anzeige
stimmt. ziehe Antwort zurück!
11.08.2003 17:26:35
Mike E.
danke Rainer!
Gruß
Mike


AW: Schaltfläche
11.08.2003 17:07:23
Hajo_Zi
Hallo Markus

ich bin nun nicht der Fachmann für Steuerelemente in der Tabelle. Aber ich vermute mal dass liegt daran das Dein CommmandButton noch nicht den richtigen Namen hat,.

Selection.Name = "Drucken"


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


Anzeige
AW: Schaltfläche
11.08.2003 17:49:16
Markus
hallo hajo,

danke für die hilfe,

markus


Danke für die Rückmeldung oT
11.08.2003 17:57:04
Hajo_Zi


AW: Schaltfläche
11.08.2003 18:48:39
Jochen
Auf select und activate kann auch in diesem Fall verzichtet werden.

Gruß Jochen


AW: Schaltfläche
11.08.2003 17:13:20
Ramses
Hallo,

das kommt daher, dass dein Button schon einen Namen ("Drucken") hat.
Beim Neu erstellen eines Buttons hat dieser aber keinen Namen.
Frage den Namen des aktuell eingefügten Buttons ab und das Makro läuft


Sub Makro1()
Dim btnStr As String
    ActiveSheet.Buttons.Add(195, 97.5, 72, 72).Select
    Selection.OnAction = "Drucken"
    btnStr = Selection.Name
    ActiveSheet.Shapes(btnStr).Select
    Selection.Characters.Text = "Drucken"
    With Selection.Characters(Start:=1, Length:=7).Font
        .Name = "Arial"
        .FontStyle = "Standard"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Gruss Rainer


Anzeige
AW: Schaltfläche
11.08.2003 17:53:57
Markus
hallo Rainer,

hab mich zwar für Hajo's lösung entschieden, aber deine ist auch nicht ohne.

danke,
markus


Warum...
11.08.2003 18:02:16
Ramses
Hallo,

...bei meiner Lösung ist es egal welchen Name die Schaltfläche bekommt.
Es wird immer der gerade aktuell zugewiesene verwendet.

Gruss Rainer


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige