Microsoft Excel

Herbers Excel/VBA-Archiv

Nicht geschützte Zelle wird nach Makro gesperrt | Herbers Excel-Forum


Betrifft: Nicht geschützte Zelle wird nach Makro gesperrt von: Gesa S
Geschrieben am: 16.10.2008 13:40:48

Hallo liebes Forum,

ich habe das Makro "automatische Zeilenhöhe bei verbunden Zellen" in einer anderen Datei verwendet - hier läuft es einwandfrei.

Bei der beigefügten Datei ist es immer so, dass wenn in geschützten Zellen (die von der Grundeinstellung nicht geschützt sind) etwas eingegeben wird nach verlassen/durchführung des Makros die Zelle gesperrt ist.
Hat jemand einen Rat?
Schöne Grüße
Gesa S.

Datei: https://www.herber.de/bbs/user/56059.xls


  

Betrifft: AW: Nicht geschützte Zelle wird nach Makro gesperrt von: Johann
Geschrieben am: 16.10.2008 13:57:54

Hallo Gesa!

Du hast ja in jedem deiner Codes die Anweisung

ActiveSheet.Protect Password:="1234"

enthalten. Diese Anweisung bewirkt, dass der Blattschutz aktiviert wird.

Schöne Grüße
Johann


  

Betrifft: AW: Nicht geschützte Zelle wird nach Makro gesperrt von: Luschi
Geschrieben am: 16.10.2008 14:05:21

Hallo Gesa,

füge folgende Zeile nach

.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True

noch hinzu, und Du bist den Spuck los:
.Locked = False


Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Nicht geschützte Zelle wird nach Makro gesperrt von: Gesa S
Geschrieben am: 16.10.2008 15:32:44

Hallo "Luschi",
hallo Forum,

erstmal vielen Dank für die schnelle Antwort.
Sorry..bin wie gesagt in Makro-Planung nicht so gut....
Kannst Du/ihr mir das Makro vielleicht mit


<b>.Cells(1).ColumnWidth = ActiveCellWidth.MergeCells = True</b>
~f~


vervollständigen, damit ich das so wieder einfügen kann:

~f~
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect Password:="1234"
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range, RowHeightMin As Single
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
RowHeightMin = 10 ' Diesen Wert vergrößern, wenn eine Mindestzeilenhöhe nicht unterschritten werden soll
If Target.Row < 1 And Target.Row > 940 Then
If Target.MergeCells Then
With Target.Range("A1").MergeArea
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
.EntireRow.AutoFit
CurrentRowHeight = Target.Range("A1").RowHeight
ActiveCellWidth = Target.Range("A1").ColumnWidth
For Each CurrCell In Target.Range("A1").MergeArea
MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(Application.WorksheetFunction.Max(CurrentRowHeight, RowHeightMin) > PossNewRowHeight, _
WorksheetFunction.Max(CurrentRowHeight, RowHeightMin), PossNewRowHeight)

End If
End With
End If
End If
Application.ScreenUpdating = True
ActiveSheet.Protect Password:="1234"



Vielen Dank und schöne Grüße
Gesa S.


  

Betrifft: AW: Nicht geschützte Zelle wird nach Makro gesperrt von: Herbert
Geschrieben am: 16.10.2008 17:48:56

Hi,

vor allem den "Spuck".

mfg Herbert