Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

IF-then verschachteln mit With Anweisung

Forumthread: IF-then verschachteln mit With Anweisung

IF-then verschachteln mit With Anweisung
12.01.2024 12:32:31
torro100
Hallo Zusammen,
hier ist ein Ausschnitt von meinem Code, der einwandfrei funktioniert.
Es werden die Inhalte (Wert / Formate) der Tabellenblätter kopiert und in eine neue Datei eingefügt und gespeichert.
Das alles passiert im Hintergrund, während die Datei, mit der ich arbeite immer im Vordergrund bleibt.
Nun soll das Blatt "VoucherUsage VM#1" nur dann kopiert werden, wenn in der Zelle K7 (verbundene Zelle k7:M7) des Blattes "VoucherUsage VM#1", "reserved" steht.
Alles andere soll so weiter funktionieren wie bisher.

Set wbkAlt = ActiveWorkbook
wbkAlt.Worksheets(Array("summary", "consolidate", "Msl2_light", "VoucherUsage VM#1")).Copy 'Neue Datei erstellen und Tabellenblatt reinkopieren
Set wbkNeu = ActiveWorkbook 'Neue Datei der Variablen zuweisen

With wbkNeu.Worksheets("VoucherUsage VM#1").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With

With wbkNeu.Worksheets("Msl2_light").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With

greetings
torro
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IF-then verschachteln mit With Anweisung
12.01.2024 12:36:17
Heli
Hi,

meinst Du so?
If wbkNeu.Worksheets("VoucherUsage VM#1").Range("K7") = "reserved" then

With wbkNeu.Worksheets("VoucherUsage VM#1").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With
End If


Ungetestet!

Servus, Heli
Anzeige
AW: IF-then verschachteln mit With Anweisung
12.01.2024 13:25:48
torro100
Hallo Heli
leider wird das Tabellenblatt Voucher mit kopiert.
Es dürft ja egal sein ob in K7 "reserved" oder "NOT reserved" steht oder?
Es soll ja nur kopiert werden wenn "reserved" ist.

vg
torro
AW: IF-then verschachteln mit With Anweisung
12.01.2024 13:45:16
hary
Moin
Eine Moeglichkei tmit einer Boolean Variable.
Dim abfrage As Boolean

Set wbkalt = ActiveWorkbook
abfrage = wbkalt.Worksheets("VoucherUsage VM#1").Cells(7, 11) = "reserved" '--wahr oder falsch
If abfrage Then '--wenn wahr
wbkalt.Worksheets(Array("summary", "consolidate", "Msl2_light", "VoucherUsage VM#1")).Copy 'Neue Datei erstellen und Tabellenblatt reinkopieren
Else '--sonst
wbkalt.Worksheets(Array("summary", "consolidate", "Msl2_light")).Copy 'Neue Datei erstellen und Tabellenblatt reinkopieren
End If
Set wbkNeu = ActiveWorkbook 'Neue Datei der Variablen zuweisen
If abfrage Then '--wenn wahr
With wbkNeu.Worksheets("VoucherUsage VM#1").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With
End If
With wbkNeu.Worksheets("Msl2_light").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With

gruss hary
Anzeige
AW: IF-then verschachteln mit With Anweisung
12.01.2024 14:12:32
torro100
Hi Hary,

das hat geklappt.
danke

vg
torro
AW: IF-then verschachteln mit With Anweisung
12.01.2024 13:49:36
Heli
Hi,

achso, so genau habe ich mir Deinen Code nicht angeschaut und Nein es wird exakt nach "reserved" geprüft - so sollte das klappen:

Set wbkAlt = ActiveWorkbook


If wbkNeu.Worksheets("VoucherUsage VM#1").Range("K7") = "reserved" Then
wbkAlt.Worksheets(Array("summary", "consolidate", "Msl2_light", "VoucherUsage VM#1")).Copy 'mit VM#1
Else
wbkAlt.Worksheets(Array("summary", "consolidate", "Msl2_light")).Copy 'ohne VM#1
End if

Set wbkNeu = ActiveWorkbook 'Neue Datei der Variablen zuweisen

If wbkAlt.Worksheets("VoucherUsage VM#1").Range("K7") = "reserved" Then
With wbkNeu.Worksheets("VoucherUsage VM#1").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With
End if

With wbkNeu.Worksheets("Msl2_light").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With


Servus, Heli
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige