Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Excel vba makro: Anzeigen aller entsperrten Zellen

08.03.2019 (๐Ÿ‘8079)


Aufgabe: dieses vba Makro Code zeigt per Button Klick alle Zellen an, welche noch nicht gesperrt sind.

Man verwendet diese Funktion, wenn man in Microsoft Excel Formulare baut, und freie Eingabezellen erstellt. Dabei sperrt man in der Regel erst alle Zellen der Seite mit Zellen sperren und anschliessend gibt man die Zellen frei, welche zur Eingabe des Formulars dienen.

Allerdings benรถtigt man oft eine Funktion, mit welcher man die Zellen anzeigen kann, welche noch frei sind oder schon richtig definiert sind.

Die Datei als Vorlage und der Makro Code liegen hier bereit

'*Eingabezellen oder Eingabebereiche anzeigen in Excel

Option Explicit

'***********< Schutz und Eingabe >****************

Public Sub Alle_Eingabefelder_anzeigen_in_Arbeitsmappe()

    Eingabefelder_anzeigen_in_Arbeitsmappe ThisWorkbook

    MsgBox "Fertig"

End Sub

Public Sub Alle_Eingabefelder_anzeigen_im_Blatt()

    Eingabefelder_anzeigen_in_Blatt ThisWorkbook, ActiveSheet

    MsgBox "Fertig"

End Sub

Public Sub Eingabefelder_anzeigen_in_Arbeitsmappe(ByVal wb As Workbook)

    '-----------------< Eingabefelder_anpassen_in_Arbeitsmappe() >-----------------

    '----< Sheets ermitteln >----

   

    '--< @Loop: alle Sheets >--

    Dim ws As Worksheet

    For Each ws In wb.Sheets

        Eingabefelder_anzeigen_in_Blatt wb, ws

    Next

    '--< @Loop: alle Sheets >--

   

    Application.StatusBar = Now & " fertig: Eingabefelder anpassen"

    '-----------------</ Eingabefelder_anpassen_in_Arbeitsmappe() >-----------------

End Sub

 

Public Sub Eingabefelder_anzeigen_in_Blatt(ByVal wb As Workbook, ByVal ws As Worksheet)

    '-----------------< Eingabefelder_anzeigen_in_Blatt() >-----------------

    On Error Resume Next

    If ws.Visible = xlSheetVisible Then 'nur sichtbare seiten

        Application.StatusBar = Now & " Start: Markiere Eingabefelder in Blatt " & ws.Name

        

        'vSheet.Activate

        Dim range_Cells As Range

        Set range_Cells = Nothing

               

        Dim cell As Range

        For Each cell In ws.UsedRange.Cells

            If cell.Locked = False Then

                If range_Cells Is Nothing Then

                    Set range_Cells = cell

                Else

                    Set range_Cells = Union(range_Cells, cell)

                End If

            End If

        Next

        If Not range_Cells Is Nothing Then

            range_Cells.Select

        End If

    End If

   

    Set range_Cells = Nothing

   

    'ABSCHLUSS

    ws.Activate

    Application.StatusBar = Now & " fertig: " & ws.Name & " Eingabezellen anzeigen "

    Application.ScreenUpdating = True

    '-----------------</ Eingabefelder_anzeigen_in_Blatt() >-----------------

End Sub