Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: wenn aktuelles Blatt. dann, ... sonst

VBA: wenn aktuelles Blatt. dann, ... sonst
12.11.2018 13:58:41
Erwin
Hallo Zusammen,
ich scheitere gerade an einem Problem, das für euch sicher eine Kleinigkeit in VBA ist.
Wenn das aktuelle Blatt "Montag" ist, dann lösche D4, D8 und D16, wenn der Code von einem anderen Wochentag aufgerufen wird, soll im aktuellen Blatt D6, D10 und D20 geöscht werden.
Vielen Dank schon mal.
Erwin
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: wenn aktuelles Blatt. dann, ... sonst
12.11.2018 14:12:48
Rudi
Hallo,
If ActiveSheet.Name = "Montag" Then
Range("d4,d8,d16").ClearContents
Else
Range("d6,d10,d20").ClearContents
End If

Gruß
Rudi
AW: VBA: wenn aktuelles Blatt. dann, ... sonst
12.11.2018 14:13:19
Bernd
Servus Erwin,
so in der Art?

Sub test()
If ActiveSheet.Name = "Montag" Then
With ActiveSheet
.Cells(4, 4).ClearContents
.Cells(8, 4).ClearContents
.Cells(16, 4).ClearContents
End With
Else
With ActiveSheet
.Cells(6, 4).ClearContents
.Cells(10, 4).ClearContents
.Cells(20, 4).ClearContents
End With
End If
End Sub
Grüße, Bernd
Anzeige
AW: VBA: wenn aktuelles Blatt. dann, ... sonst
12.11.2018 14:13:32
Werner
Hallo Erwin,
Select Case ActiveSheet.Name
Case "Montag"
Range ("D4, D8, D16"). ClearContents
Case "Dienstag", "Mittwoch", "Donnerstag", "Freitag"
Range("D6, D10, D20").ClearContents
End Select
Gruß Werner
AW: VBA: wenn aktuelles Blatt. dann, ... sonst
12.11.2018 14:23:09
Erwin
Hallo Zusammen
so viele gute Ansätze und alle funktionieren ;)
Klar komme ich damit zu Recht und hab's schon fix eingebaut.
Herzlichen Dank an euch.
Grüße - Erwin
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
12.11.2018 19:30:00
Werner
AW: VBA: wenn aktuelles Blatt. dann, ... sonst
12.11.2018 14:16:28
Henner
Hallo Erwin
Den Namen des aktiven Blattes kannst Du abfragen mit

ActiveSheet.Name
Wenn Du damit nicht zurecht kommst rate ich Dir Deine Level-Angabe auf VBA = Nein zu setzen.

Option Explicit
Sub Clear()
If ActiveSheet.Name = "Montag" Then
With ActiveSheet
.Range("D4").Value = ""
.Range("D8").Value = ""
.Range("D16").Value = ""
End With
Else
With ActiveSheet
.Range("D6").Value = ""
.Range("D10").Value = ""
.Range("D20").Value = ""
End With
End If
End Sub
Gruss Henner
Anzeige
wenn man das öfters braucht
12.11.2018 15:24:40
Daniel
und somit den Zeilenaufwendigen IF-Block als Einzeiler (mit Vorbereitung) haben will:
Dim Bereich(-1 To 0) As String
Bereich(-1) = "D4,D8,D16"
Bereich(0) = "D6,D10,D20"
Range(Bereich(ActiveSheet.Name = "Montag")).ClearContents
Gruß Daniel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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