Hi Jelena, dann wohl eher so:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Sh.Range("Q:S")) Is Nothing Then
Sh.Unprotect "PW"
If Target.Cells(1) <> "" Then Target.EntireColumn.AutoFit Else Target.EntireColumn.ColumnWidth = Sh.Columns(Sh.Columns.Count).ColumnWidth
Sh.Protect "PW"
End If
End Sub
Der Code gehört in das Modul "DieseArbeitsmappe" und funktioniert mir allen Tabellen gleichermaßen.
PS: Bitte stelle deine Fragen künftig so, dass schon am Anfang klar ist, was du willst, sonst machen sich die Helfer unnötige Arbeit mit Codes die du gar nicht brauchst.
Gruß Mr. K.