VBA: Vergleichen mit mehreren Bedingungen
#51
Hi,

MsgBox "Danke∞", vbBlume+vbSchokolade :)


VG
Memo
Top
#52
Morgen Alexandra,

es geht wieder um die Tabelle 2.

Ich möchte dass er, nachdem ausführen des Makros und das Kopieren in die Tabelle 2, mir alle Filter von A3:DB3 setzen tut, sowie die Formate und Farben der Zeilen 1+2 so direkt mit Inhaltsfarben und Schriftfarben übernimmt.

Um dies zu erreichen habe ich die blaue und rote Zeile hinzugefügt..  Huh  aber der Versuch hat natürlich wieder mal fehlgeschlagen.

 With Worksheets("Tabelle2").Range("A3:DB3").Autofilter _
        loLetzteZ = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
        If .Cells(1, 1) = "" Then loLetzteZ = 1
        .Cells(loLetzteZ, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        .Cells(1, loLetzteZ).PasteSpecial Paste:=xlPasteFormats
        .Cells(2, loLetzteZ).PasteSpecial Paste:=xlPasteFormats

Muss die Tabelle1 eigentlich nicht vorher korrekt aufgestellt sein um mein Ziel zu erreichen?

Vielleicht wäre die Lösung eine CodeZeile wo er in Tabelle1 zuerst

- alle ausgeblendeten Spalten einblendet
- alle Gruppierungen aufhebt
- alle Filter von A3 bis DB3 setzt

und dann in Tabelle2

- Filter setzten von A3:DB3
- Inhalts/Schriftfarben unverändert übernehmen für Zeile 1+2.


Das war bisschen viel Text, hoffe ich habe mich verständlich ausgedrückt.

Gruß
Memo
Top
#53
Hi Memo,

die ersten drei Zeilen die willst du ja nicht jedes mal mitkopieren oder doch? Macht ja kein Sinn, also würde ich einfach manuell die ersten drei Zeilen aus Tabelle1 1:1 in die Tabelle 2 kopieren, dann hast du die formatierten Überschriften und den Filter, und alles was dann per Makro, danach kopiert wird geht einfach in die erste leere Zeile dazukopiert, sonst hättest du jedes mal wenn du das Makro ausführst, auch die Überschriften und denn Filter mitkopiert! :)

LG
Alexandra
[-] Folgende(r) 1 Nutzer sagt Danke an cysu11 für diesen Beitrag:
  • Memo
Top
#54
Hi,


Die MegaDatei kommt halt jedesmal mit zuvor unterschiedlich ausgeblendeten Spalten und dazu noch jede menge Gruppierungen. All diese muss ich ja vorher manuell Einblenden und Gruppierungen aufheben.

Das kann ich auch jede Woche einmal tun, aber wenn ich mal unkonzentriert bin und ausgeblendete Spalten übersehe, dann fehlt in der Tabelle2 genau diese vergessene/ausgeblendete Spalten.

Mit

.Resize(.Rows.Count - 1).Offset(-2, 0).Copy

tu ich ja schon die ersten 2 Zeilen übernehmen. Kann ich hier dann nicht dazu sagen, dass die Formatierung (Schriftfarbe/FarbeZelleninhalt usw.) mit übernommen werden sollen?

Also vor Start des Makros alle ausgeblendete Spalten einblenden, Gruppierungen aufheben und Filter setzten bis DB3 (falls vorher nicht geschehen) wäre hilfreich.

Ist nicht zwingend Notwendig, das Makro funkt sowieso tadellos und ist praktisch genug, nur das wäre halt noch ein Feinschliff.

SG
Memo
Top
#55
Hi,

also bis hier habe ich Tabelle2 bearbeiten können

With Worksheets("Tabelle2")
        loLetzteZ = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
        If .Cells(1, 1) = "" Then loLetzteZ = 1
        .Cells(loLetzteZ, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        .Cells(loLetzteZ, 2).PasteSpecial Paste:=xlPasteFormats
        .Cells(loLetzteZ, 3).PasteSpecial Paste:=xlPasteFormats
        .Range("A3:DB3").AutoFilter Field:=1, Criteria1:="<>"

Nur sieht bissle verkrüppelt aus..Ergebnis siehe jpeg Anhang.

Welche Zeile mache ich denn ein Fehler?

VG
Memo


Angehängte Dateien Thumbnail(s)
   
Top
#56
Hi Memo,

so?

LG
Alexandra


Angehängte Dateien
.xlsm   Select_Case_Memo_V3.xlsm (Größe: 32,6 KB / Downloads: 8)
[-] Folgende(r) 1 Nutzer sagt Danke an cysu11 für diesen Beitrag:
  • Memo
Top
#57
Hi,

Genau so, Merci Alexandra.

Gruß
Memo
Top
#58
Guten Morgen Alexandra,

bzgl. dem Makro hätte ich eine Verständnisfrage.

daDatum = DateSerial(Year(Date), Month(Date) + 1, Day(Date))

 If .Cells(raZelle.Row, raZielzelle.Column) < daDatum And _

                    .Cells(raZelle.Row, raZielzelle.Column) >= Date Then
                        raZelle.EntireRow.Interior.ColorIndex = 6
                    Else
                    If .Cells(raZelle.Row, raZielzelle.Column + 2) < daDatum Then 


Gibt es ein Unterschied zwischen "daDatum" und "Date" ?

Verstehe ich es richtig, dass:

Date = heutiges Datum (bei Start des Makros)

daDatum = heutiges Datum + 1 Monat


Grüße
Memo
Top
#59
Korrekt!

LG
Alexandra
[-] Folgende(r) 1 Nutzer sagt Danke an cysu11 für diesen Beitrag:
  • Memo
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste