Zeile mit bestimmten Kriteium formatieren

Hallo Excel- Freunde,

ich versuche mich zur Zeit an der VBA- programmierung für Excel und bin an einem Punkt angekommen, wo ich eure Hilfe brauche:

Ich habe eine Exceltabelle mit x Zeilen und y Spalten. In der Spalte A stehen verschiedene Materialnummern. Es gibt einige Nummern, die doppelt in der Spalte stehen. Diese möchte ich suchen und alle Zellen dieser Zeile, die nicht leer sind, blau formatieren. Wie kann ich das über VBA lösen? Über eure Hinweise würde ich mich freuen.

Viele Grüße von Beate

Ich habe eine Exceltabelle mit x Zeilen und y Spalten. In der
Spalte A stehen verschiedene Materialnummern. Es gibt einige
Nummern, die doppelt in der Spalte stehen. Diese möchte ich
suchen und alle Zellen dieser Zeile, die nicht leer sind, blau
formatieren.

Hi Beate,

blau?, Kannste dann noch was lesen?

Option Explicit
'
Sub Blau()
Dim Zei As Long, Spa As Long
Cells.Interior.ColorIndex = xlNone
For Zei = 1 To Range("A" & Rows.Count).End(xlUp).Row
 If Application.WorksheetFunction.CountIf(Columns(1), Cells(Zei, 1)) \> 1 Then
 For Spa = 1 To Cells(Zei, Columns.Count).End(xlToLeft).Column
 If Cells(Zei, Spa) "" Then Cells(Zei, Spa).Interior.ColorIndex = 5
 Next Spa
 End If
Next Zei
End Sub

Gruß
Reinhard

Hallo Reinhard,

eigentlich soll es hellblau werden, aber das ist nicht so wichtig. Ich tu mich noch ganz schön schwer, mit dem Excel- VBA (hab bisher nur Access gemacht). Ich versuche mein Beispiel zu konkretisieren. Könntest du mir den Quelltext bitte anpassen? Irgendwie bekomm ich das nicht hin. Also: In Spalte A stehen wie gesagt die Maschinennummern. Die haben immer den gleichen Text: AxxxxAxxx*.Der * steht für die fortlaufenden Zahlen 1-9 (das resultiert aus Access… die Tabelle wird aus dem Access erstellt). Nun soll das Makro erstmal alle „AxxxAxx*“ in „AxxxxAxxxx“ umwandeln und diese dann wie oben beschrieben hellblau formatieren. Ich wäre dir wirklich dankbar, wenn du mir da helfen könntest.

Viele Grüße von Beate

eigentlich soll es hellblau werden, aber das ist nicht so
wichtig. Ich tu mich noch ganz schön schwer, mit dem Excel-
VBA (hab bisher nur Access gemacht). Ich versuche mein
Beispiel zu konkretisieren. Könntest du mir den Quelltext
bitte anpassen? Irgendwie bekomm ich das nicht hin. Also: In
Spalte A stehen wie gesagt die Maschinennummern. Die haben
immer den gleichen Text: AxxxxAxxx*.Der * steht für die
fortlaufenden Zahlen 1-9 (das resultiert aus Access… die
Tabelle wird aus dem Access erstellt). Nun soll das Makro
erstmal alle „AxxxAxx*“ in „AxxxxAxxxx“ umwandeln und diese
dann wie oben beschrieben hellblau formatieren. Ich wäre dir
wirklich dankbar, wenn du mir da helfen könntest.

Hi Beate,

sieht lösbar aus irgenwie, aber irgendwie weiß ich gar nicht was ich umwandeln soll.
Wenn x für eine Ziffer steht, was soll ich da bei
AxxxxAxx*
noch umwandeln wenn * eine Ziffer ist.
Sind x beliebige Zeichen, sehe ich auch keine Umwandlungsmöglichkeit.

Bastle mal eine Beispieldatei mit 10-20 zeilen wie die Rohdaten genau aussehen, im Blatt2 dann wie sie aussehen sollen nach der Umwandlung.
So wie es sich mir darstellt ist ja nur Spalte A wichtig, in den restlichen Spalten kannst du ha zufällig beliebige Werte einfügen um das Färben zu testen.

Hochladen hier FAQ:2861 oder andernorts.

Gruß
Reinhard

Hallo Beate,

Spalte A stehen wie gesagt die Maschinennummern. Die haben
immer den gleichen Text: AxxxxAxxx*.Der * steht für die
fortlaufenden Zahlen 1-9 (das resultiert aus Access… die
Tabelle wird aus dem Access erstellt). Nun soll das Makro
erstmal alle „AxxxAxx*“ in „AxxxxAxxxx“ umwandeln und diese
dann wie oben beschrieben hellblau formatieren. Ich wäre dir
wirklich dankbar, wenn du mir da helfen könntest.

ich würde vor dem Export aus Access in Excel eine Abfrage auf diese Tabelle oder Abfrage erstellen, die dir die Zeichenfolge anpasst. Ist in Access wesentlich einfacher. Das Ergebnis dieser Abfrage exportierst du dann in Excel.

Überhaupt ist es einfacher und wesentlich schneller und besser ein paar mehr Abfragen in Access zu machen und bereits das gewünschte Ergebnis zu exportieren.

Ist es immer das gleiche Zeichen das im ersten und im zweiten Block eingefügt werden soll?

Kannst du mal mehr Informationen geben und vielleicht ein Dummy (ausgedachtes Beispiel)

Gruß
Marion

Hi Beate,

sieht lösbar aus irgenwie, aber irgendwie weiß ich gar nicht
was ich umwandeln soll.
Wenn x für eine Ziffer steht, was soll ich da bei
AxxxxAxx*
noch umwandeln wenn * eine Ziffer ist.
Sind x beliebige Zeichen, sehe ich auch keine
Umwandlungsmöglichkeit.

Bastle mal eine Beispieldatei mit 10-20 zeilen wie die
Rohdaten genau aussehen, im Blatt2 dann wie sie aussehen
sollen nach der Umwandlung.
So wie es sich mir darstellt ist ja nur Spalte A wichtig, in
den restlichen Spalten kannst du ha zufällig beliebige Werte
einfügen um das Färben zu testen.

Hochladen hier FAQ:2861 oder andernorts.

Gruß
Reinhard

Hallo Reinhard,

hier der Link zu meiner Beispieldatei:

http://www.hostarea.de/server-08/August-131f3ad8ed.xls

Schau’s dir mal an… vielleicht verstehst du dann, wie ich es meine. Wenn nicht, dann meld dich einfach wieder. Ich muss dazu aber sagen, dass ich schon ein Makro habe, in dem ich schon fast die komplette Formatierung hab (leider ist es für mich schwierig zu lesen, da ich es nicht selbst gemacht habe). Ich benötige nur den Quellcode, um die Sache mit den Leertakten einzufügen. Falls dir aber eine tolle Idee für die komplette Formatierung einfällt, wäre das auch nicht schlecht, denn das Makro dauert im Moment sehr, sehr lange.

Ich danke dir schon im voraus für deine Hilfe.

Viele Grüße von Beate

http://www.hostarea.de/server-08/August-131f3ad8ed.xls

Schau’s dir mal an… vielleicht verstehst du dann, wie ich es
meine. Wenn nicht, dann meld dich einfach wieder.

mach ich hiermit *gg*

Ich muss
dazu aber sagen, dass ich schon ein Makro habe,

Wo ist der Code?

in dem ich

schon fast die komplette Formatierung hab (leider ist es für
mich schwierig zu lesen, da ich es nicht selbst gemacht habe).

Ist normal, ist es ein Access- oder Excelmakro?

Ich benötige nur den Quellcode, um die Sache mit den
Leertakten einzufügen.
Falls dir aber eine tolle Idee für die
komplette Formatierung einfällt

Wie soll mir da was einfallen, anfangs sagst du was von AxxxxAxxx* mit unterschiedlicher x-Anzahl in der Anfrage, * soll für die Zifern 1-9 stehen.
Okay, jetzt sehe ich in deinem Tabellenblatt in Spalte A Einträge wie
A3333A4444
A1111A5555
AXXXXAXXXX

wo issen da das „*“ hingekommen?
Datenschutz kann man auch übertreiben, schreib mal in Spalte A das rein was drinsteht, logisch kannste wenn du da paranoia hast, aus dem Original
A4711A4712
dann dies machen
A4713A4714

machs mir doch nicht so schwer, ich weiß immer noch nicht ob „X“ für „X“ steht oder für eine beliebige Ziffer, zeichen…

Und deine Firma wird ja wohl nicht aus dem DAX verschwinden, wenn du in Spalte A die Originaldaten reinschreibst und die restlichen Spalten „erfindest“.

Ich hoffe ich konnte mich verständlich machen, ich würd dir gern helfen, kann das aber nicht da für mich wichtige Infos fehlen.

Gruß
Reinhard

wäre das auch nicht schlecht,
denn das Makro dauert im Moment sehr, sehr lange.

Ich danke dir schon im voraus für deine Hilfe.

Viele Grüße von Beate

Hallo Beate,

hier der Link zu meiner Beispieldatei:

http://www.hostarea.de/server-08/August-131f3ad8ed.xls

das Tabellenblatt aus Access zeigt, dass du eine Kreuztabelle in Excel exportierst.

Wie sieht die Abfrage zum Erzeugen dieser Kreuztabelle aus?
Die Quelltabellen für die Kreuztabelle liefern die Daten für diese Tabelle. Kannst du das sql-statement für diese Kreuztabelle hier posten oder die Abfrage für die Kreuztabelle im Entwurfsmodus hochladen?

Gruß
Marion

Hallo Reinhard,

es tut mir leid, dass ich mich so ungenau ausgedrückt habe… für mich ist es klar was ich will… aber es ist schwer das Aussenstehenden zu erklären…:wink:
Also das mit dem „AXXXXAXXX*“ kannst du jetzt ich glaub vergessen. Der * sollte eigentlich für die Ziffern 1-9 stehen (AXXXXAXXX1 - AXXXXAXXX9). Aber im Grunde sind die DAten wie in meiner Tabelle… ob da jetzt A1111A1111 oder A2435A3646 steht, ist eigentlich Wurst. Im Grunde stehen in der Spalte A immer verschiedene A- Nummern, bis auf die Leertakte (die sollen immer AXXXXAXXXX heißen. Ich lad dir in die Datei gleich auch noch den Quellcode, den ich schon hab. Ich hoffe, du weißt jetzt was ich meine und kannst damit etwas anfangen.

Vielen Dank für deine Bemühungen.

Viele Grüße von Beate

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo zusammen,

sorry, bin heut vormittag über dem Thema abgestorben…

hier nochmal der Link, wo das Makro drin steht… vielleicht hilfts euch weiter…

http://www.hostarea.de/server-08/August-5c62bf09a0.pdf

Danke und viele Grüße von Beate

hier nochmal der Link, wo das Makro drin steht… vielleicht
hilfts euch weiter…
http://www.hostarea.de/server-08/August-5c62bf09a0.pdf

Hallo Beate,

sorry, habe mir das vorhin erst wieder angeschaut.

probier hier mal die Schaltflächen im dritten Blatt:

http://www.hostarea.de/server-08/August-94d545fed3.xls

Gruß
Reinhard

Hallo Reinhard,

vielen, vielen Dank. Es klappt genau so, wie ich es mir vorgestellt habe. Super…:smile:

danke für deine Bemühungen.

Viele Grüße von Beate