Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1200to1204
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro für Formatierung

Makro für Formatierung
RoadRunner
Hallo liebe Excel Freunde,
Ich habe mittels Makro Recorder ein Makro für die Standard-Formatierung einer Excel Datei generiert, das zu meiner besten Zufriedenheit funktioniert.
Ich möchte nun eine zusätzliche Formatierung einfügen, die ich mit dem Recorder nicht hinkriege.
Da ich keinerlei Programmierkenntnisse haben, mache ich nun diesen Aufruf im Forum.
Kann mir jemand einen Code schreiben, denm ich in mein Makro einfügen kann mit folgender Funktion:
Wenn in einer Zelle der Spalte E ein Text drinsteht, der mit R_ beginnt (z.B. R_PMASSE2L) soll die entsprechende Zeile (die ganze Zeile) mir einer hellgrünen Farbe eingefärbt werden.
Kann mir jemand helfen?
Vielen Dank und herzliche Grüsse aus der Schweiz

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro für Formatierung
21.02.2011 14:09:55
RoadRunner
Sorry, eigentlich wollte ich meinen Namen noch anfügen.
Beste Grüsse
Markus
AW: Makro für Formatierung
21.02.2011 14:10:51
RoadRunner
Frage noch offen
AW: Makro für Formatierung
21.02.2011 14:22:11
Heinz
Hallo Markus,
da nimmst du am besten die bedingte Formatierung. Dazu brauchst du kein Makro.
Gruß
Heinz
AW: Makro für Formatierung
21.02.2011 15:07:34
RoadRunner
Hallo Heinz,
herzlichen Dank für Deine Antwort. Ich möchte es aber gerne mit dem bestehenden Makro kombinieren siehe untenstehende Antwort an Praetorius.
Beste Grüsse
Markus
AW: Makro für Formatierung
21.02.2011 14:31:46
praetorius
Hallo RoadRunner,
versuchs mal damit:
Sub Einfärben()
Dim tab1 As Worksheet
Set tab1 = ThisWorkbook.Sheets("Tabelle1")   'Hier muss der tatsächliche
'Tabellenname eingetragen werden
Dim zeile As Long
zeile = 1
Do While tab1.Cells(zeile, 5)  ""
If UCase(Left(tab1.Cells(zeile, 5), 1)) = "R" Then
tab1.Rows(zeile & ":" & zeile).Interior.ColorIndex = 35 'Hier muss der
'gewünschte Farbwert angegeben werden
End If
zeile = zeile + 1
Loop
End Sub
Rückmeldung wäre nett, good luck
praetorius
Anzeige
AW: Makro für Formatierung
21.02.2011 15:05:26
RoadRunner
Hallo Praetorius,
Zunächst mal herzlichen Dank für die schnelle Antwort. Ich habe mit Deinem Code folgendes Problem: Ich kann den tatsächlichen Tabellennamen nicht eintragen, da dieser stets unterschiedlich ist.
Unser Ablauf ist wie folgt:
Aus unserem SAP System wird ein standardisierter Extrakt mit immer gleichem Aufbau aber unterschiedlichen Inhalten heruntergeladen und in eine .csv Datei exportiert. Diese Dateien werden dann jeweils mit unserem Makro, das in einer gemeinsamen Excel-Vorlage gespeichert ist "behandelt", damit die Formatierung etwas benutzerfreundlicher ist und anschliessend abgespeichert.
Sowohl der Dateiname, als auch der Tabellenname der "behandelten" Datei sind immer unterschiedlich.
Ich hoffe, ich habe mich verständlich ausgedrückt.
Markus
Anzeige
AW: Makro für Formatierung
21.02.2011 15:28:07
RoadRunner
Frage noch offen
AW: Makro für Formatierung
21.02.2011 15:58:12
praetorius
Hallo Markus,
ich habe dir mal ein Dialogfenster gebastelt, das alle Tabellennamen in der Datei zur Auswahl anbietet. Wenn du einen Tabellennamen durch anklicken ausgewählt hast, geht die Einfärberei in der ausgewählten Tabelle auch schon los.
https://www.herber.de/bbs/user/73650.xls
Probier mal, ob das dein Problem löst.
Rückmeldung wäre nett, good luck
praetorius
AW: Makro für Formatierung
21.02.2011 16:16:38
RoadRunner
Hallo Praetorius,
Ich habe in der Zwischenzeit den von Sepp vorgeschlagenen Code von Sepp probiert. Dieser funktioniert bestens. Vielen herzlichen Dank für Deine Unterstützung.
Markus
Anzeige
AW: Makro für Formatierung
21.02.2011 15:29:02
Josef

Hallo Markus,
Sub faerben()
  Dim rng As Range, rngF As Range
  
  On Error Resume Next
  Set rngF = Columns(5).SpecialCells(xlCellTypeConstants)
  On Error GoTo 0
  
  If Not rngF Is Nothing Then
    For Each rng In rngF
      If UCase(rng) Like "R_*" Then
        rng.EntireRow.Interior.ColorIndex = 15
      End If
    Next
  End If
  
  Set rng = Nothing
  Set rngF = Nothing
End Sub


Gruß Sepp

Anzeige
AW: Makro für Formatierung
21.02.2011 16:20:36
RoadRunner
Hallo Sepp,
Vielen Dank. Dein Code funktioniert genauso, wie ich mir das vorgestellt habe.
Ein (hoffentlich) kleiner Aufwand für Dich. Eine mit Sicherheit grosse Arbeitserleichterung für uns.
Herzliche Grüsse
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige