Spalten & Reiter per pwd sperren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Spalten & Reiter per pwd sperren
von: Berlin030
Geschrieben am: 28.05.2015 09:35:14

Hallo Forum, hallo Franz,
ich war nun gut eine Woche unterwegs und konnte mich bisher nicht weiter um die Tabelle kümmern. Habe erst diese Woche dazu Gelegenheit gehabt und ein bischen herum experimentiert…. Leider ohne nennenswerte Erfolge.
Habe versucht die Tabelle bzw. den Code etwas zu erweitern. Scheitere aber an meinem Unwissen und hoffe erneut auf die Hilfe hier im Forum. Folgende Punkte versuche ich zu realisieren:
1) Es soll eine weitere Spalte eingefügt werden welche die Werte/das Gewicht von vor 6 Monaten wieder gibt.
2) Es soll eine Spalte eingeführt werden welches den Gewichtsverlust bzw. Gewichtszunahme im Vergleich zum Vormonat in % ausgibt.
3) Alle im Tabellenblatt grün hinterlegten Zellen dürfen von den Anwendern nicht bearbeitet werden. Ist es möglich diese Zellen zu sperren? Evtl. über ein Password?
4) Ist es möglich die Reiter für Archiv und die Tabellenauswertung ebenfalls mit einem Passwort zu schützen?
Bei diesen vier Punkten bräuchte ich nochmal Hilfe, da mir selbst einfach das Fachwissen fehlt um so einen Code zu realisieren, bzw. ich noch viel Code lernen muss um so etwas selber hinzubekommen. Daher bin ich über Kommentare im Code immer sehr dankbar.
Hoffe Du kannst mir nochmal helfen,
Berlin030

Bild

Betrifft: AW: Spalten & Reiter per pwd sperren
von: Berlin030
Geschrieben am: 28.05.2015 09:37:38
Im folgenden der Link zur Tabelle die ich nochmal Hochgeladen haben.
Link: https://www.herber.de/bbs/user/97908.zip

Bild

Betrifft: unbeantwortet owT
von: Erwin
Geschrieben am: 28.05.2015 10:16:32


Bild

Betrifft: AW: unbeantwortet owT
von: Berlin030
Geschrieben am: 29.05.2015 09:05:28


Option Explicit
'allgemeines Modul
Sub Monatsdaten_Uebertragen()
  Dim wksErfassung As Worksheet, wksArchiv As Worksheet
  Dim ZeileErf As Long, strName As String, strVorname As String
  Dim datDatum As Date, strJahrMonat As String
  Dim varGewicht As Variant
  Dim StatusCalc As Long
  
  Dim Zeile_Archiv As Long
  
  datDatum = DateSerial(Year:=Year(Date), Month:=Month(Date) - 1, Day:=1)
  strJahrMonat = Format(datDatum, "YYYY-MM")
  
  If MsgBox("Daten für Monat """ & strJahrMonat & """ ins Archiv übertragen?", _
      vbQuestion + vbOKCancel, "Erfassungdsdaten archivieren") = vbCancel Then Exit Sub
  
  Set wksArchiv = Archiv
  Set wksErfassung = Erfassung
  
  
  With Application
    .ScreenUpdating = False
    StatusCalc = .Calculation
    .Calculation = xlCalculationManual
  End With
  With wksErfassung
    For ZeileErf = 5 To .Cells(.Rows.Count, 2).End(xlUp).Row
      'prüfen, ob Name eingetragen ist
      If .Cells(ZeileErf, 2) <> "" Then
          strName = .Cells(ZeileErf, 2).Text
          strVorname = .Cells(ZeileErf, 3).Text
          With .Cells(ZeileErf, 6)
            If IsNumeric(.Text) Then
              varGewicht = .Value
            Else
              varGewicht = vbEmpty '"#NV"
            End If
          End With
          With wksArchiv
            Zeile_Archiv = .Cells(.Rows.Count, 1).End(xlUp).Row
            If IsEmpty(.Cells(Zeile_Archiv, 1)) Then
            
            Else
              Zeile_Archiv = Zeile_Archiv + 1
            End If
            With .Cells(Zeile_Archiv, 1)
              .Value = strName
              .Offset(0, 1) = strVorname
              With .Offset(0, 2)
                If vbEmpty = varGewicht Then
                  .ClearContents
                Else
                  .Value = varGewicht
                End If
              End With
              .Offset(0, 3) = datDatum
              .Offset(0, 4) = "'" & strJahrMonat
              .Offset(0, 5) = strName & ", " & strVorname
              .Offset(0, 6) = strName & "|" & strVorname & "|" & strJahrMonat
            End With
          End With
      End If
    Next
    'nächsten Stichtag für Archivierung eintragen
    .Range("U3") = DateSerial(Year:=Year(datDatum), Month:=Month(datDatum) + 2, Day:=1)
  End With
    With Worksheets("Pivot-Auswertung")
      .PivotTables(1).RefreshTable
  End With
  With Application
    .ScreenUpdating = True
    .Calculation = StatusCalc
  End With
End Sub


Bild

Betrifft: AW: Spalten & Reiter per pwd sperren
von: fcs
Geschrieben am: 30.05.2015 12:29:16
Hallo Berlin,
ich hab in den beiden zusätzlichen Spalten die Formeln ergänzt.
Das bischen %-Rechnung hättest du aber wohl auch selber berechnen können.
Die Makros hab ich angepasst, so dass die Blätter geschützt werden - z.Z. noch ohne Password. Außerdem ist die Arbeistmappe geschützt (Struktur), so dass Blattnamen nicht geändert werden können.
Im Modul findest du Hinweise und 2 kleine Makros mit denen der Schutz der Blätter mit Kennwort eingerichtet werden kann bzw. das Kennwort gewechselt werden kann.
Da dass Kennwort im Code sichtbar ist muss du im VBA-Editor unter Extras-Eigenschaften VBA-Projekt im Register "Schutz" das Projekt für die Anzeige sperren und ein Kennwort festlegen.
Gruß
Franz
https://www.herber.de/bbs/user/97938.zip

Bild

Betrifft: AW: Spalten & Reiter per pwd sperren
von: Berlin030
Geschrieben am: 02.06.2015 11:33:29
Hallo Franz,
danke nochmal. Klappt alles ganz hervoragend. Das mit dem Passwort habe ich auch verstanden und hinbekommen. Kann Dir garnicht oft genug danken für deine Hilfe. Ich schulde dir definitiv etwas.
Besten Dank,
Berlin030

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalten & Reiter per pwd sperren"