Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
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

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

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
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
Anzeige
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige