Autor
|
Thema: Zelle formatieren (VBA) (7739 mal gelesen)
|
toppas Mitglied Bauzeichner/CAD- operating
Beiträge: 9 Registriert: 03.09.2003 AutoCAD 2020
|
erstellt am: 06. Jun. 2006 17:01 <-- editieren / zitieren --> Unities abgeben:
Geb.jpg Hallo zusammen, folgendes Problem: In einer Exceldatei/Tabellenblatt müssen Werte geprüft werden, alle Zellen, ausser der Überschrift (es sind meist die ersten drei Zeilen). Sind Zellen befüllt soll sich in der letzte Zelle der Reihe ein Ok mit farblicher Grünen hinterlegung abbilden. Hat die Zellen keinen Wert/(Text usw.) soll die letzte Zelle der Reihe (nicht gefüllte Zelle) eine farbliche Hinterlegung rot und Text prüfen bekommen. Siehe Anhang. Vorab vielen Dank für die VBA Unterstützung Toppas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 06. Jun. 2006 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für toppas
Hallo Toppas, wenn ich Dich recht verstanden habe, suchst Du folgendes: Code: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim i As Integer Dim j As Integer Dim maxj As Integer For i = 1 To XXX 'Zeile, noch setzen For j = 1 To maxj 'Spalte, noch setzen If Cells(i, j).Value <> "" Then GoTo weiter 'Sprungmarke für beschriebene Zelle: mit der nächsten Spalte fortfahren Else With Cells(i, maxj + 1) .Value = "prüfen" .Interior.ColorIndex = 3 End With GoTo weiter_i 'Sprungmarke für fehlenden Eintrag: mit der nächsten Zeile fortfahren End If weiter: Next 'sollten alle Spalten einer Zeile durchlaufen worden sein, gibt es keinen Fehler With Cells(i, maxj + 1) .Value = "OK" .Interior.ColorIndex = 4 End With weiter_i: Next End Sub Kopiere den Code einfach in Dein Tabellenblatt, das geändert werden soll und probiere es aus! Und bei Fragen, fragen. okl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 06. Jun. 2006 17:24 <-- editieren / zitieren --> Unities abgeben: Nur für toppas
Hallo, hier mal ein klitzekleiner Ansatz:
Code: Sub x() Dim i& For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountA(Range(Cells(i, 1), Cells(i, 15))) = 15 Then Cells(i, 16).Interior.ColorIndex = 43 Else Cells(i, 16).Interior.ColorIndex = 3 End If Next End Sub
Gruss Nancy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 06. Jun. 2006 21:08 <-- editieren / zitieren --> Unities abgeben: Nur für toppas
ohne Vba geht's 'türlich auch Code: =IF(COUNTBLANK(A8: O8)=0;"OK";"prüfen")
und den Zellen eine bedingte Formatierung zuweisenhabe gerade kein deutsches XL zur hand - deshalb Bspmappe IF = WENN() COUNTBLANK = ANZAHLLEEREZELLEN()[thedit]nun im d. Excel nachgeschaut & dank an RunkelRübe für Übersetzung per PM [theditoff] *arghs* ich hasse die Zellenangabe doppelpunktO ...
[Diese Nachricht wurde von Thomas Harmening am 12. Jun. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|