Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel Macro - Zellen einfärben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel Macro - Zellen einfärben (1258 mal gelesen)
Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 16. Jun. 2015 15:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


tabelle.png

 
Hallo an alle!

Ich hoffe mir kann hier einer weiterhelfen. 

Ich habe eine Tabelle, die bereits mit einem Macro gefiltert wird. Nun möchte ich (nach dem der Filter angewandt wurde), dass jeweils 10 Linien (Spalten B bis L) eingefärbt werden, immer abwechselnd. Die Einfärbung sollte immer in 10-ner Schritten erfolgen, egal wie lange die Tabelle sein wird.

Könnte mir jemand helfen einen Macro Code dafür zu generieren?

Vielen lieben Dank im Voraus!


[Diese Nachricht wurde von Nikta am 16. Jun. 2015 editiert.]

[Diese Nachricht wurde von Nikta am 19. Jun. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 16. Jun. 2015 17:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Nikta 10 Unities + Antwort hilfreich


BedingteFormatierung10Zeilen.zip

 
was wäre mit bedingter Formatierung?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 17. Jun. 2015 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das ist super! Vielen Dank für die schnelle Hilfe!   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 19. Jun. 2015 15:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


VBA.png

 
Hallo! 
Nun habe ich doch noch ein Problem mit dem Makro, und zwar:

Ich habe eine Excel Datei mit mehreren Sheets, zwei davon haben ein Makro, das jeweils mit „Private Sub Worksheet_Activate()“ beginnt.
Wenn ich die Excel Datei öffne, passiert nichts, ich muss erst auf die jeweiligen Sheets klicken und erst dann wird Makro ausgeführt. 

Gibt es eine Möglichkeit die Makros beim Öffnen auszuführen? Genauer gesagt soll zuerst das Marco ausgeführt werden, das sich im Sheet3 befindet und danach sofort das aus dem Sheet7.

Vielen Dank.

LG,
Nikta

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 19. Jun. 2015 17:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Nikta 10 Unities + Antwort hilfreich


DIESEARBEITSMAPPE.png


BeiStartSheet2-3aktivieren.zip

 
wenn beim Öffen ein Macro ausgeführt werden soll,

dann muss es in 'Diese Arbeitsmappe' (This Workbook?) stehen.

Private Sub Worksheet_Activate()heisst, wenn Sheet aktiv wird dann führe aus

- ergo
musste in deiner 'Diese Arbeitsmappe' ein Code drinnen stehen
das erst Sheet3 aktiviert, dann Sheet7 aktiviert...

aber sinnvoller wäre es die Codes aus Sheet 3 und 7 in ein Modul zu packen und das Modul aufrufen...
... but, was ich anhand der Markoaufzeichungen sehen, ist wohl Ersteres leichter ;=)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 22. Jun. 2015 15:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


CallSheets.png

 
Ja, habe leider überhaupt keine Ahnung von VBA. Habe alle Makros mit Hilfe von Google erstellt.

Habe den Code "Call Sheets" in "Diese Arbeitsmappe" eingefügt, bekomme aber eine Fehlermeldung "Run-time error 9: Subscipt out of range". Was mache ich falsch?

Sorry, falls ich mit meinen Fragen nerve. 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 22. Jun. 2015 15:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Nikta 10 Unities + Antwort hilfreich

Hallo,
Der Fehler kommt weil Du den Namen der Tabelle geändert hast und jetzt ein nicht definiertes Blatt aufrufst.
Es gibt zwei Varianten wie Du den Code aufrufen kannst:

Über den Modulnamen (in den Eigenschaften unter (Name) angegeben:
Call Sheet4.Worksheet_Activate
Call Sheet7.Worksheet_Activate

oder über den (angezeigten) Namen des Worksheet (in den Eigenschaften unter Name angezeigt):
Call Sheets("Posting Summary").Worksheet_Activate
Call Sheets("MJE").Worksheet_Activate

Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 22. Jun. 2015 16:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Callsheets2.png

 
Hallo Klaus,

Danke, die zweite Variante habe ich auch schon ausprobiert. Funktioniert nicht:"Object doesn't support this property or method"

In der Datei habe ich keine Module (siehe screenshot).

Ach, wieso muss es so kompliziert sein?! 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 22. Jun. 2015 17:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Nikta 10 Unities + Antwort hilfreich

Hi,
na gut, war falsch ausgedrückt. Nicht Module sondern Excel Objekte.

Nachdem wir Deine Tabelle nicht vorliegen haben ist das natürlich schwierig zu analysieren.
Gibt es denn in Deinem Excel Objekt   Sheet4(Posting Summary) die Sub WorkSheet_Activate ?
Dann sollte das auch funktionieren.
Am einfachsten sieht man das wenn die Funktion beim Autovervollständigen vorgeschlagen wird. Ist das nicht der Fall stimmt etwas nicht.

Welche Excelversion verwendest Du?
Evtl. hilft Dir ja dieser oder dieser MS-Artikel weiter. Da gab es mal ein falsches Patch das auch daran schuld sein könnte. Aber bevor Du jetzt wild de-installierst und patcht überprüfen erst einmal Deinen Code.

Grüße
Klaus  

[Diese Nachricht wurde von KlaK am 22. Jun. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 23. Jun. 2015 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Callsheetsbyopening_demo.zip

 
Hallo,

Meiner Meinung nach stimmt der Code, aber ich kann mich irren. Habe so gut wie keine Ahnung von VBA.  Beide Codes in den Sheets 4 und 7 fangen mit „Private Sub Worksheet_Activate()“ an.
Ich hänge mal die Excel Datei an. Die Version ist 2010.

Gruss

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 23. Jun. 2015 11:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Nikta 10 Unities + Antwort hilfreich

Hallo,
Der Code stimmt fast. Aber durch die Private Deklarierung kann die procedure nicht gefunden werden wenn Du nicht bereits innerhalb des Modules (Excel-Objektes) bist.
Damit es trotzdem klappt müßtest Du entweder das Private löschen oder durch Public ersetzen oder beim Workbook_Open den Code ändern
Code:

Sub Workbook_Open()
Sheet4.Activate
Sheet7.Activate

oder
Code:
Sheets("Posting Summary").Activate
Sheets("MJE").Activate


Diese Variante hat auch den Vorteil, dass Deine Select und Pivottabellen richtig zugeordnet werden können.

Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nikta
Mitglied


Sehen Sie sich das Profil von Nikta an!   Senden Sie eine Private Message an Nikta  Schreiben Sie einen Gästebucheintrag für Nikta

Beiträge: 7
Registriert: 16.06.2015

erstellt am: 23. Jun. 2015 13:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super, es funktioniert!    Vielen Dank für Deine Hilfe!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz