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

VBA Code erweitern

Forumthread: VBA Code erweitern

VBA Code erweitern
27.10.2008 17:13:29
Uwe
Hallo Forum,
kann mir jemand ein Tip geben, wie ich den folgenden VBA Code auf weitere Spalten erweitern kann.
Es sollen folgende Spalten dazu: 18 - 28, 32 - 42, 46 - 56, 60 - 70

Private Sub aktualisieren_montag_Click()
Dim wks As Worksheet, lngSpalte As Long
Set wks = ActiveSheet
With wks
'Spalten D bis N abarbeiten
For lngSpalte = 4 To 14
'Eintrag in Zeile 6 der Spalten prüfen
Select Case .Cells(6, lngSpalte).Value
Case "frei", "krank", "url"
.Range(.Cells(7, lngSpalte), .Cells(43, lngSpalte)).ClearContents
Case "früh"
.Range(.Cells(21, lngSpalte), .Cells(23, lngSpalte)).Value = "Mittag"
Case "spät"
.Range(.Cells(25, lngSpalte), .Cells(27, lngSpalte)).Value = "Mittag"
Case "kurz früh"
.Range(.Cells(31, lngSpalte), .Cells(43, lngSpalte)).ClearContents
Case "kurz spät"
.Range(.Cells(7, lngSpalte), .Cells(18, lngSpalte)).ClearContents
Case Else
.Range(.Cells(7, lngSpalte), .Cells(43, lngSpalte)).Value = "Inbound"
End Select
Next
End With
End Sub


Vielen Dank für die Hilfe
Gruß André

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code erweitern
27.10.2008 17:50:00
Peter
Hallo André,
so z. B.
Option Explicit

Private Sub aktualisieren_montag_Click()
Dim wks As Worksheet, lngSpalte As Long
Dim aSpalten  As Variant
Dim iIndex    As Integer
aSpalten = Array(4, 14, 18, 28, 32, 42, 46, 56, 60, 70)
Set wks = ActiveSheet
With wks
'Spalten D bis N abarbeiten
For iIndex = 0 To (UBound(aSpalten) - 1) Step 2
For lngSpalte = aSpalten(iIndex) To aSpalten(iIndex + 1)
'Eintrag in Zeile 6 der Spalten prüfen
Select Case .Cells(6, lngSpalte).Value
Case "frei", "krank", "url"
.Range(.Cells(7, lngSpalte), .Cells(43, lngSpalte)).ClearContents
Case "früh"
.Range(.Cells(21, lngSpalte), .Cells(23, lngSpalte)).Value = "Mittag"
Case "spät"
.Range(.Cells(25, lngSpalte), .Cells(27, lngSpalte)).Value = "Mittag"
Case "kurz früh"
.Range(.Cells(31, lngSpalte), .Cells(43, lngSpalte)).ClearContents
Case "kurz spät"
.Range(.Cells(7, lngSpalte), .Cells(18, lngSpalte)).ClearContents
Case Else
.Range(.Cells(7, lngSpalte), .Cells(43, lngSpalte)).Value = "Inbound"
End Select
Next lngSpalte
Next iIndex
End With
End Sub


Gruß Peter

Anzeige
Funktioniert!!
29.10.2008 17:42:37
André
Hallo Peter!
Funktioniert SUPER!!
Vielen Dank!!!
;

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