VBA funzt nicht von Schaltfläche im Blatt aus...

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VBA funzt nicht von Schaltfläche im Blatt aus...
von: Horst S.
Geschrieben am: 09.03.2005 10:36:42
Hallo,
ich habe herausgefunden, dass die Ursache meines Problemes:

https://www.herber.de/forum/messages/581854.html
eine ganz andere ist als dort (Blattschutz) angenommen.
Es ist nämlich das aufrufende Objekt(?):
-------------------------------------------------------------------------
Ich habe ein VBAMakro, mit dem ich ein vorhandenes Workbook öffne und dort drin
"herumfummeln" :-) will.
Hinterlege ich das Makro "konventionell", also bei Extras-Makro (als Modul)
gehts.
Wenn ich dieses Makro aus dem Excelblatt vom CommandButton1 starte
(dort hinterlegt), funktionieren Zugriffe auf das "externe" Workbook wie
Range.Select
Selection.sort
Selection.Paste(Special)
(und sicher viele andere)
nicht und werden (meist mit Laufzeitfehler 1004 oder 638) abgelehnt,
Ich möchte aber eigentlich die Makros von der Schaltfläche im Tabellenblatt
starten (vor Laien erst mal "versteckt" und damit sicherer).
Bei Extras-Optionen-Makrosicherheit habe ich schon die VBA-Makros bei
"vertrauenswürdige Quellen" angehakt, erfolglos.
Wer weiß Rat ?
(Andere Hinweise als: rufe von der Schaltfläche das konventionelle Makro auf ;-))
Danke Horst

Bild

Betrifft: AW: VBA funzt nicht von Schaltfläche im Blatt aus...
von: harry
Geschrieben am: 09.03.2005 11:19:14
hi,
wenn 2 arbeitsmappen offen sind, musst du definieren, welche range in welcher mappe dum auswählen willst, z.B.:
Workbooks("Mappe1").Sheets("Tabelle1").Range("A1").Select
liebe grüße,
harry
Bild

Betrifft: AW: Call-Funktion nutzen
von: Holger
Geschrieben am: 09.03.2005 11:22:36
Hallo Horts
Ein Trick wäre das Makro in ein Modul zu legen und dieses Makro durch Deinen Tabellenbutton mit Call Dein_Makroname aufzurufen.
Gruß Holger
Bild

Betrifft: AW: siehe Harry
von: Holger
Geschrieben am: 09.03.2005 11:25:55
Ja und natürlich was Harry geschrieben hat
-- Workbooks("Mappe1").Sheets("Tabelle1").Range("A1").Select --
ist natürlich wichtig
Holger
Bild

Betrifft: AW: siehe Harry
von: Horst S.
Geschrieben am: 09.03.2005 12:15:30
Danke erstmal,
(Andere Hinweise als: rufe von der Schaltfläche das konventionelle Makro auf ;-))
war von mir schon call() gemeint, soweit war ich auch...
...und das scheint wohl doch die beste Lösung zu sein....
Denn mit workbooks.().worksheets().range() gibt's trotzdem probleme bei
.select
.sort
(.activate klappt wenigstens nun problemlos)
Gibt es nicht eine Workbook-Methode, wo ich Ihm eine Art Fokus gebe,
dass im Anschluss immer dieses gemeint ist (und es Befehle auf sich
selbst bezieht) ?
Sonst werde ich meine Makros doch in Module verschieben müssen.
Naja,ganzes Workbook umbauen.....
Thx Horst
Bild

Betrifft: AW:Muß gehen
von: Holger
Geschrieben am: 09.03.2005 14:31:13
Hallo Horst
Das war damit gemeint was Harry sagte. Du must die Workbooks direkt mit Ihrem Namen ansprechen. Dann giebt es auch keine Probleme.
Ich selbst habe Makros geschrieben, die mehere Arbeitsmappen in einem Durchlauf ansprechen und keine Probleme dabei.
Wenn Du in einer Datei etwas selectieren willst must Du es vorher Aktivieren!!
Also erst Arbeitsmappe aktivieren danach kannst Du den Bereich oder einzelne Zelle selectieren. Ist aber beim auslesen oder schreiben von Daten eigentlich nicht Notwendig. Sprich die Datei muß nicht Aktieviert sein um Ihr Daten zu entlockenn oder neue einzutragen.
Gruß Holger
Bild

Betrifft: AW: VBA funzt nicht von Schaltfläche im Blatt aus...
von: Martin Beck
Geschrieben am: 09.03.2005 17:01:55
Hallo Horst,
hast du die TakeFocusOnClick-Eigenschaft des Commandbuttons auf FALSE gesetzt? Wenn nein, versuche das mal.
Ansonsten kann ich mich bezüglich Select etc. nur den Vorrednern anschließen und Dich auf Hans' Beitrag hierzu verweisen:
https://www.herber.de/xlfaq/xlbasics/main_sel.htm
Evtl. solltest Du mal den Code posten, dann kann man mehr sagen und ggf. auch (Muster)Anpassungen vornehmen.
Gruß
Martin Beck
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kopieren wenn aus anderen Tabellen"