Office: Sheets zusammenfassen

Helfe beim Thema Sheets zusammenfassen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Ähm ja - erstmal sorry für den langen Code. Meine Frage: Kann man folgenden Code zu einem zusammenfassen und vor allem irgendwas machen, dass man... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Heba, 7. September 2010.

  1. Heba Erfahrener User

    Sheets zusammenfassen


    Ähm ja - erstmal sorry für den langen Code.

    Meine Frage: Kann man folgenden Code zu einem zusammenfassen und vor allem irgendwas machen, dass man das PW zum unlocken nur einmal eingeben muss?

     
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    falls das alle Tabele der Datei sind?
    Code:
    Option Explicit
    Dim WsTabelle As Worksheet
    
    Private Sub Aufheben()
        For Each WsTabelle In Sheets
            WsTabelle.Unprotect ("Passwort")
        Next WsTabelle
    End Sub
    
    Private Sub Schutz()
        For Each WsTabelle In Sheets
            WsTabelle.Protect ("Passwort")
        Next WsTabelle
    End Sub
    
     
  3. Heba Erfahrener User
    Ne sind leider nicht alle Tabellen, es gibt noch eine Tabelle die heißt "Rechner" und noch eine die heißt "Copyright"
     
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Sheets zusammenfassen

    für die beiden mußt Du dann ja nur die Prüfung des Namens einbauen.
    also If wstabelle.name="Rechner"
     
  5. schatzi Super-Moderator
    Hallo!

    Oder auch so:
    Code:
    Sub test()
        Dim ws As Worksheet
        For Each ws In Sheets(Array("xyz", "abc"))
            ws.Unprotect
        Next ws
    End Sub
    (Die Blattnamen musst du natürlich ersetzen.)
     
  6. Beverly
    Beverly Erfahrener User
    das kannst du folgendermaßen machen (Basis ist Hajo's Code):

    Code:
    Private Sub Aufheben()
        For Each WsTabelle In Sheets
            Select Case WsTabelle.Name
                Case "Rechner", "Copyright"
                    ' Blattschutz wird nicht aufgehoben für diese beiden
                Case Else
                    ' für alle anderen wird Blattschutz aufgehoben
                    WsTabelle.Unprotect ("Passwort")
            End Select
        Next WsTabelle
    End Sub
    Bis später,
    Karin
     
  7. Heba Erfahrener User
    Hehe DANKE DANKE DANKE :)

    werds gleich mal testen :) .. naja jetzt hab ich nur noch ein Problem ^^

    Ist es möglich, dass man eine Passwortabfrage macht sobald das Sheet Adminstration angeklickt wird? Will nicht dass dort jeder Zugriff drauf hat^^

    Edit:

    Beim Code von schatzi muss man trotzdem das PW jedes mal neu eingeben und der Code von Beverly funktioniert ja nur wenn ich das Passwort mit reinschreib oder nicht? Weil ich hätte gerne, dass man das PW 1 mal eingeben MUSS und es dann automatisch geht. In Java würde ichs mit einem Scanner machen der sich den Wert speichert ... geht sowas in VB auch?

    Ok - auch Beverlys Code geht jetzt, allerdings muss ich auch hier immer wieder das PW neu eingeben Sheets zusammenfassen :(
     
  8. Beverly
    Beverly Erfahrener User

    Sheets zusammenfassen

    Bei meinem geposteten Code muss kein PW eingegeben werden - weder am Anfang noch zwischendurch, denn es steht im Code.

    Wenn eine einmalige Passwortabfrage machen willst, dann verwende ein UserForm mit einer TextBox - da kann man einstellen, dass die Eingabe nur mit Platzhaltern angezeigt wird. Dennoch musst du das PW irgendwo (im Tabellenblatt, im Code oder im UserForm) hinterlegen, damit die Eingabe verglichen werden kann.

    Bis später,
    Karin
     
  9. Heba Erfahrener User
    Aso - ist ja doof.. naja hab den VBA Bereich jetzt mit einem zusätzlichen PW gesperrt. Jetzt müsste ich es nur noch schaffen, dass ein VBA Button wie eine Zelle gesperrt werden kann. Hab im Contextmenu schon auf Locked=True gestellt, funktioniert aber nicht :/
     
  10. Heba Erfahrener User
    sooooooooo damit ihr auch wisst was ich gemeint habe und auch jeder davon etwas hat:

    Code:
    Private Sub CommandButton2_Click()
    pw = InputBox("Passwort?")
    If pw = "Passwort" Then
    MsgBox "Code wird ausgeführt"
    For Each WsTabelle In Sheets
            Select Case WsTabelle.Name
                Case "Rechner", "(c) Ich:P", "Administration"
                    ' Blattschutz wird nicht aufgehoben für diese beiden
                Case Else
                    ' für alle anderen wird Blattschutz aufgehoben
                    WsTabelle.Unprotect ("Passwort")
            End Select
        Next WsTabelle
    Else
    MsgBox "falsch!"
    End If
    End Sub
    Das ist der Code den ich gesucht hatte :)
     
  11. Heba Erfahrener User
    Mh,
    kann ich mit der Msgbox "falsch" auch noch automatisch ein mailto: Max.Mustermann@Mustermann.de starten? Indem auch am Besten noch ein vordefinierter Betreff so wie Absendetext steht? :)

    Das würde alles noch abrunden :)

    Gruß :)
     
  12. Heba Erfahrener User
    ok wieder eine Lösung gefunden.

    Hab in de elseteil ein Call MailtoSelectedNames geschrieben, das ruft dann folgendes auf:

    Code:
    
    Sub MailtoSelectedNames()
       Dim MailTo As String
       Dim cell As Range
       Dim outapp As Object, outmail As Object
       
       MailTo = "MaxMustermann@mustermann.de"
       For Each cell In Selection
          If cell.Value Like "*@*" Then
             MailTo = MailTo & ";" & cell.Value
          End If
       Next
       MailTo = Mid(MailTo, 2) ' den 1. Strichpunkt wieder löschen
       ' Debug.Print MailTo
       If MailTo = "" Then
          MsgBox "Keine gültigen eMail-Adressen gefunden!", vbCritical
          Exit Sub
       End If
       Set outapp = CreateObject("Outlook.Application")
       Set outmail = outapp.CreateItem(0)
       With outmail
          .To = MailTo
          ' .CC = ""
          .BCC = "max.mustermann@mustermann.de"
          .Subject = "Passwort vergessen"
          .Body = "Hallo Herr Mustermann, bitte setzen Sie das Passwort für die Zeiterfassungsliste zurück." _
          & " " _
          & " " _
          & " Danke" _
          ' .Attachments.Add "d:\daten\anyfile.xyz"
          .Display
          ' or use .Display
       End With
       Set outmail = Nothing
       Set outapp = Nothing
    End Sub
     
Thema:

Sheets zusammenfassen

Die Seite wird geladen...
  1. Sheets zusammenfassen - Similar Threads - Sheets zusammenfassen

  2. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

    in Microsoft Excel Hilfe
    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben: Hallo, ich suche gerade eine Möglichkeit mittels VBA mehrere Tabellenblätter auf einmal zu generieren (ca. 40), die auf einem Vorlage-Tabellenblatt (TB2) basieren. Das kopieren/ Vervielfachen an...
  3. Excel Macro durch Sheets springen und informationen sammeln?

    in Microsoft Excel Hilfe
    Excel Macro durch Sheets springen und informationen sammeln?: Frohes Neues Liebe Leute, Vielleicht kann mir wer helfen, ich komm hier einfach nicht mehr weiter.. L Ich versuche aktuell ein Macro zu schreiben das durch die offenen Sheets in einem Workbook...
  4. Werte entsprechend autoausfüllen

    in Microsoft Excel Hilfe
    Werte entsprechend autoausfüllen: Hallo, ich habe mehrere Sheets in einer Datei. In dem Master-Sheet stehen in einer Spalte verschiedene Wörter (1 Wort pro Zeile). In der danebenliegenden Spalte habe ich manuell y oder n...
  5. Blattnamen in neue Arbeitsmappe übernehmen

    in Microsoft Excel Hilfe
    Blattnamen in neue Arbeitsmappe übernehmen: Hallo, ich bin totale VBA-Anfängerin und stehe vor folgendem Problem: ich würde gerne ausgehend von einer vorhandenen Arbeitsmappe (XY) eine neue erstellen und in der neuen Arbeitsmappe (XYZ)...
  6. Verknüpfung zweier Excel sheets mit mehreren Spalten

    in Microsoft Excel Hilfe
    Verknüpfung zweier Excel sheets mit mehreren Spalten: Hallo, Frage: Ich habe zwei Excel sheets. Im zweiten ist in Spalte A eine Liste mit Ersatzteilen. In Spalte B ist eine Liste mit zugeordneten Teilen, also jedem Ersatzteil ist genau ein...
  7. Umstieg von Sheets

    in Microsoft Excel Tutorials
    Umstieg von Sheets: Umstieg auf Excel im Web von Sheets Kann ich mit anderen Benutzern an demselben Arbeitsblatt arbeiten? Ja! Klicken Sie einfach oben rechts auf Freigeben. [ATTACH] Was ist mit der Symbolleiste...
  8. Sheet ansprechen und Daten kopieren

    in Microsoft Excel Hilfe
    Sheet ansprechen und Daten kopieren: Hallo zusammen, Ich möchte gerne in einer ListBox Daten aus einem Tabellenblatt (Spalte A, Zeile 2.....x) darstellen. Bisher habe ich RowSource verwendet: ListBox_Name.RowSource = "Namen!a2:all...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden