Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable in VBA-Code einfügen

Variable in VBA-Code einfügen
15.03.2007 09:43:46
Andrew
Hallo zusammen,
nachdem mir gestern super weitergeholfen wurde, muss ich ein weiteres Mal eine Frage zu folgendem VBA-Code stellen:
Ich möchte gerne eine weitere Variable einpflegen. Diese soll in Zeile 4 nach einem "z" suchen und dann die betreffenden Zellen entsperren.

Sub ausblenden5()
Dim S, x, i As Integer
Dim arrStart, arrEnde
arrStart = Array(5, 11, 22, 28, 31)
arrEnde = Array(9, 15, 25, 28, 32)
If UBound(arrStart)  UBound(arrEnde) Then
MsgBox "Fehler in der Bereichsdefinition!"
Exit Sub
End If
For S = 8 To 22
If Cells(2, S)  "x" And Cells(2, S)  "X" Then Columns(S).Hidden = True
Next S
ActiveSheet.Calculate
For i = 0 To UBound(arrStart)
For x = arrStart(i) To arrEnde(i)
For S = 8 To 22
If LCase(Cells(3, S))  "y" Then
Cells(x, S).Interior.ColorIndex = xlNone: Cells(x, S).Locked = True
Else
Cells(x, S).Interior.ColorIndex = 4: Cells(x, S).Locked = False
End If
Next S
Next x
Next i
Range("F3").Select
End Sub

Die betreffende Datei habe hier mit hochgeladen:
https://www.herber.de/bbs/user/41095.xls
Für eure Hilfe wäre ich sehr dankbar
Viele Grüße
Andrew

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

Betreff
Datum
Anwender
Anzeige
AW: Variable in VBA-Code einfügen
15.03.2007 09:58:33
Rudi
Hallo,
so?
If LCase(Cells(3, S)) "y" Or LCase(Cells(4,S)) "z" Then
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Variable in VBA-Code einfügen
15.03.2007 10:07:24
Andrew
Hallo Rudi,
danke für deine Antwort. Es funktioniert noch nicht ganz so.
Die Sache ist folgende:
Ich möchte zuerst alle Spalten auswählen, die ein "x" haben. Die mit "x" ausgewählten Spalten, die ein "y" haben, sollen grün gefärbt und ohne Zellschutz sein. Diejenigen Spalten, die ein "z" haben, sollen nur entsperrt werden ohne dass etwas an der Farbe gemacht wird.
Kann man das auch irgendwie machen? Die Zeile, die du mir geschickt hast, sorgt zur zeit dazu, dass keine Zelle gefärbt wird.
Kannst du mir hier noch einen weiteren Hinweis geben?
Viele Grüße
Andrew
Anzeige
AW: Variable in VBA-Code einfügen
15.03.2007 10:11:00
Rudi
Hallo,
können die auch ein Y in 3 und ein Z in 4 haben?
Wenn nicht: Warum dann in unterschiedlichen Zeilen.
Wenn doch: Was dann?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Variable in VBA-Code einfügen
15.03.2007 10:14:16
Andrew
Hallo Rudi,
ich hatte mir gedacht "y" für entsperrt und grün und "z" für entsperrt.
Also beides zusammen geht nicht.
Viele Grüße
Andrew
AW: Variable in VBA-Code einfügen
15.03.2007 10:24:46
Rudi
Hallo,
schreib das z auch in 3, dann kann's nur einen geben.

Sub ausblenden5()
Dim S, x, i As Integer
Dim arrStart, arrEnde
arrStart = Array(5, 11, 22, 28, 31)
arrEnde = Array(9, 15, 25, 28, 32)
If UBound(arrStart)  UBound(arrEnde) Then
MsgBox "Fehler in der Bereichsdefinition!"
Exit Sub
End If
For S = 8 To 22
If Cells(2, S)  "x" And Cells(2, S)  "X" Then Columns(S).Hidden = True
Next S
ActiveSheet.Calculate
For i = 0 To UBound(arrStart)
For x = arrStart(i) To arrEnde(i)
For S = 8 To 22
Select Case LCase(Cells(3, S))
Case "y": Cells(x, S).Interior.ColorIndex = 4: Cells(x, S).Locked = False
Case "z": Cells(x, S).Interior.ColorIndex = -4142: Cells(x, S).Locked = False
Case Else: Cells(x, S).Interior.ColorIndex = -4142: Cells(x, S).Locked = True
End Select
Next S
Next x
Next i
Range("F3").Select
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
Fantastisch, Vielen Dank, Rudi!!!
15.03.2007 10:37:00
Andrew
Hallo Rudi,
fantastisch, du hast natürlich vollkommen recht. Man kann die in die gleiche Zeile schreiben.
Es klappt super.
Ich bin dir sehr dankbar.
Viele Grüße
Andrew
AW: Variable in VBA-Code einfügen
15.03.2007 10:12:00
Andrew
Hallo Rudi,
wenn deine Zeile mit einem "And" schreibt, also etwa so:
If LCase(Cells(3, S)) "y" And LCase(Cells(4, S)) "z" Then
Dann wird alles gefärbt und ohne Zellschutz formatiert. Ich hätte aber gerne nur die mit "y" markierten Spalten in grün. Muss man dort eine weitere If-Abfrage einbauen?
Viele Grüße
Andrew

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige