AW: Nur mit Werten gefüllte Zellen schreibschützen
14.12.2006 23:11:59
Mustafa
Hallo asz,
du hättest das aber auch gleich sagen können.
So müsste es gehen:
Sub Veranstaltung_neu2()
'Variablen deklarieren
Dim Wks1 As Worksheet
Dim Wks2 As Worksheet
Dim Cb As OLEObject
Dim X As Integer
'Werte an Variablen zuweisen
Set Wks1 = Sheets("Veranstaltung")
Set Wks2 = Sheets("Auswertung")
'Sheet "Auswertung" Passwortgeschützt
Wks2.protect Password:="test", userinterfaceonly:=true
'Kopieren der Daten aus dem Sheet "Veranstaltung" in das Sheet "Auswertung"
'Wks2.Range("B65536").End(xlUp).Offset(1, 0) Diese Anweisung wählt aus Spalte B
'die erste Leere Zelle von Unten aus
Wks2.Range("B65536").End(xlUp).Offset(1, 0) = Wks1.Range("B8")
Wks2.Range("C65536").End(xlUp).Offset(1, 0) = Wks1.Range("B11")
Wks2.Range("K65536").End(xlUp).Offset(1, 0) = Wks1.Range("B21")
Wks2.Range("B65536").End(xlUp).Offset(1, 0) = Wks1.Range("C45")
Wks2.Range("AC65536").End(xlUp).Offset(1, 0) = Wks1.Range("B49")
'Rücksetzen der Checkboxen
For Each Cb In Wks1.OLEObjects
If Not IsNumeric(Right(Cb.Name, 2)) Then
X = CInt(Right(Cb.Name, 1))
Else
X = CInt(Right(Cb.Name, 2))
End If
Select Case X
'Hier kannst du noch ändern welche Checkboxen noch oder nicht mehr zurückgesetzt werden,
'indem du die Nummer der CheckBox hinzufügst oder rauslöschst
Case 2, 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 23, 25, 27, 28, 29, 30
Cb.Object.Value = False
Case Else
End Select
Next
'Leeren der Zellen in Sheet "Veranstaltung"
Wks1.Range("B8,B11,B21,C45,B49").ClearContents
End Sub
Rückmeldung obs Hilft wäre nett.
Viele Grüße aus Köln.