Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [EXCEL & VBA] Gleiche Aktion für mehrere markierte Zellen (https://www.delphipraxis.net/64437-%5Bexcel-vba%5D-gleiche-aktion-fuer-mehrere-markierte-zellen.html)

Yheeky 3. Mär 2006 16:55


[EXCEL & VBA] Gleiche Aktion für mehrere markierte Zelle
 
Hi,

ich bin relativ neu in Sachen Makros und Excel und hoffe, dass ich hier den ein oder anderen Experten finde ;)
Es ist so, dass ich eine Tabelle habe und mehrere Einträge markiert habe. Nun möchte ich für jedes markierte Feld die gleiche Aktion ausführen. Wie kann ich das machen?

Beispiel:
ABC
DEF
GHI


Ich markiere alle 3 Zellen und möchte danach auf Knopfdruck per Makro folgendes Ergebnis haben:

*ABC*
*DEF*
*GHI*


Desweiteren sollte das Makro dann rückgängig zu machen sein...ist das möglich?

Danke schonmal!

Amateurprofi 3. Mär 2006 17:36

Re: [EXCEL & VBA] Gleiche Aktion für mehrere markierte Z
 
Liste der Anhänge anzeigen (Anzahl: 1)
Yheeky,
in anhängendem WorkBook "Mappe1" ist ein Worksheet "Tabelle1"

Wenn du eine oder mehrere Zellen oden einen oder mehrere Zellbereiche markierst und mit der rechten Maustaste in eine der markierten Zellen klickst, wird für alle markierten Zellen die (a) nicht leer sind und (b) keinen Fehlerwert enthalten, das ausgeführt, was du gerne hättest.
Wenn für mindestens eine Zelle diese Aktion ausgeführt wurde, wird die normale Funktion des Rechtsklicks unterbunden.

Yheeky 3. Mär 2006 17:40

Re: [EXCEL & VBA] Gleiche Aktion für mehrere markierte Z
 
Hi Klaus,

ja das funktioniert, nur will ich das ja nicht bei dem Klicken der rechten Maustaste haben. Ich möchte ein Icon in der Toolbar oben anlegen und das Makro da hinterlegen. Wie geht das?
Eine ähnliche Variante wie du habe ich mit der Variable Target auch schon hinbekommen, aber ohne das Target bin ich und war ich bisher aufgeschmissen :(

Ich hoffe, du kannst mir noch helfen.

Amateurprofi 3. Mär 2006 18:21

Re: [EXCEL & VBA] Gleiche Aktion für mehrere markierte Z
 
Liste der Anhänge anzeigen (Anzahl: 1)
das geht ganz einfach mit einer Sub ohne irgendwelche parameter in der du dich statt auf "target" auf "selection" beziehst

geänderte version im anhang.
ein icon in eine toolbar einfügen und ein makro zuweisen kannst du so:
1) toolbar rechtsklicken
2) im popup menu "anpassen" wählen
3) im tab "befehle" in der linken listbox "makros" anklicken
4) aus der rechten listbox das icon "benutzerdefinierte schaltfläche" per drag/drop in die toolbar ziehen
5) icon in der toolbar rechtsklicken
6) im popupmenu "makro zuweisen" wählen
7) im dropdown unter der listbox "makros in dieser arbeitsmappe" wählen
8) das makro "test" doppelklicken
8) dialogfenster schließen
9) fertig

Frage : willst Du diese funktion nur für ein bestimmtes worksheet oder generell für alle workbooks/worksheets ?

Yheeky 3. Mär 2006 18:32

Re: [EXCEL & VBA] Gleiche Aktion für mehrere markierte Z
 
Super! Danke es funktioniert! :thumb:


Zitat:

Zitat von Amateurprofi
Frage : willst Du diese funktion nur für ein bestimmtes worksheet oder generell für alle workbooks/worksheets ?

Wenn es für dich auch kein Problem ist, würde ich die gerne für alle Workbooks verwenden. Wie würde das gehen?

BTW: Wenn man eine Funktion per Makro aufruft, kann man sie nicht mehr rückgängig machen, richtig? Ist nämlich bei diesem hier der Fall...

Amateurprofi 3. Mär 2006 19:39

Re: [EXCEL & VBA] Gleiche Aktion für mehrere markierte Z
 
Zitat:

Wenn man eine Funktion per Makro aufruft, kann man sie nicht mehr rückgängig machen
ja, richtig.
aber bei dieser funktion kannst du das, indem du den betroffenen zellbereich markierst und dein icon klickst.
die funktion schaltet ja um von "ohne sterne" nach "mit sterne" und umgekehrt.

und wie du das für alle workbooks machst?:

1) nimm ein neues (leeres) workbook
2) im visual basic, im projekt explorer füge diesem projekt ein modul hinzu
3) kopiere die Sub in dieses modul
4) gehe zurück nach Excel
5) lösche (bis auf eines) alle worksheets
6) in dem verzeichnis, in dem du normalerweise deine excel workbooks speicherst, lege einen neuen ordner an, gib ihm einen vernünftigen namen (xlstart war früher mal obligatorisch)
7) speichere das workbook (und nur dieses) unter einem vernünftigen namen in diesem ordner (Personal.xls war früher mal üblich)
8) im menu "extras" wähle "optionen"
9) im tab "allgemein" im unteren bereich unter "beim start alle dateien in diesem ordner laden" gib den kompletten pfad des orders ein, in dem das workbook liegt.
10) klicke "OK"
11) im menu fenster wähle "ausblenden"
12) beende excel - du wirst dann gefragt ob du änderungen in deinem workbook sichern willst, was du mit "ja" bestätigst. (die änderung ist das ausblenden des workbooks.)
13) öffne excel
14) weise deinem icon das makro zu.

wenn das alles funktioniert hat, wird jedesmal, wenn excel geöffnet wird, dieses workbook geladen und deine sub (und weitere, die du vielleicht schreiben willst) steht/stehen dir zur verfügung.

Yheeky 3. Mär 2006 21:09

Re: [EXCEL & VBA] Gleiche Aktion für mehrere markierte Z
 
Super, danke Klaus!

Allerdings musste ich dem Icon vor dem Ausblenden das Makro zuweisen, sonst hat er das Makrofenster erst garnicht geöffnet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz