Office: (Office 2007) Daten in Abfrage aktualisieren trotz Blattschutz

Helfe beim Thema Daten in Abfrage aktualisieren trotz Blattschutz in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich brauche einmal eure Hilfe. Verwendet wird Excel 2003 Ich habe folgendes Problem: Ich habe im Hintergrund eine Tabelle mit Daten, die durch... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von captain, 22. September 2009.

  1. Daten in Abfrage aktualisieren trotz Blattschutz


    Hallo, ich brauche einmal eure Hilfe. Verwendet wird Excel 2003
    Ich habe folgendes Problem:
    Ich habe im Hintergrund eine Tabelle mit Daten, die durch Eingabe in einer zweiten Datei angezeigt werden. Es handelt sich um Straßennamen, die bestimmten Personen zugeordnet sind. Nach Eingabe des Straßennamens wird der dazugehörige Ort und die Person angezeigt.
    Diese "Eingabedatei" soll mehreren Personen zugänglich gemacht werden. Diese sollen nur den Straßennamen eingeben können. Sobald ich nun den Blattschutz eingebe, wird die auszuwerfende Liste nicht mehr aktualisiert.
    Da ich von VBA und Makros keine Ahnung habe, wäre ich für konkrete Hilfe dankbar.
    Falls es nur mit VBA geht, bitte auch gleich mit kurzer Erklärung wo ich das dann überhaupt eingeben muss.

    Alternativ hatte ich noch versucht, die auszuwerfende Liste mit einem Verweis in Form von "=Tabelle1!A10" auf Tabelle 2 abzubilden, um dann dieses Blatt zu schützen. Das geht soweit, aber hier tritt das Problem auf, dass es manchmal zu einem Straßennamen zwei Ergebnisse und manchmal 10 Ergebnisse gibt. Ich bekomme dann nach einem 10er Ergebnis für das nächste 2er Ergebnis die erste Zeile angezeigt, dann neun Zeilen mit Bezugfehler und in der 10. dann das zweite Straßenergebnis. Muss wohl an der Abfrage liegen. Anschließend erhalte ich bei Eingabe der Straße für das 10er Ergebnis auch nur noch den ersten und letzten und den Bezugfehler dazwischen.

    Habt Ihr eine Idee? Vielen Dank.

    :)
     
  2. Hallo,
    nachdem ich noch ein wenig im Forum quergelesen habe, habe ich versucht ein Makro zu erstellen.
    Darin bin ich so vorgegangen, wie es letztendlich funktionieren sollte. Das Makro wurde automatisch als Modul hinterlegt.
    Ich habe zunächst den Blattschutz aufgehoben, dann die Straße eingegeben, Enter gedrückt und anschließend den Blattschutz wieder aktiviert.
    Wie erreiche ich nun, dass das ganze automatisch abläuft und ich variable Namen eingeben kann. so steht ja nun immer der Verbindungsweg drin. Ist es dabei möglich dass ganze so hinzukriegen, dass beim Öffnen der Datei, automatisch die Eingabezelle angewählt ist und nach dem Enterklick auch dort verbleibt?

    Vielen Dank für Eure Hilfe.
    Hier nun diese(meine erste) Makroaufzeichnung:

    Sub Makro1()
    '
    ' Makro1 Makro
    ' Makro am 25.09.2009 von j000306 aufgezeichnet
    '

    '
    ActiveSheet.Unprotect
    Range("D10:E10").Select
    ActiveCell.FormulaR1C1 = "Verbindungsweg"
    Range("D11").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
    False, AllowFiltering:=True
    End Sub

    Gruß captain
     
  3. Moin, captain,

    beim automatischen Vorgehen gehört die folgende Prozedur in DieseArbeitsmappe:

    Code:
    Dein Blattschutz könnte auch in der eben aufgeführten Prozedur aufgerufen werden (Zusatz UserInterfaceOnly:=True, damit Makroausführungen erlaubt sind):

    Code:
     
  4. Daten in Abfrage aktualisieren trotz Blattschutz

    Hallo jinx,
    vielen Dank für Deine Antwort.

    Ich habe versucht das umzusetzen und in DieseArbeitsmappe hineingebracht.

    Private Sub Workbook_Open()
    On Error GoTo err_here

    Sheets("Startseite").Activate
    ActiveSheet.Unprotect
    Range("D10:E10").Value = InputBox("Geben Sie den gesuchten Straßennamen ein:", "Wonach soll gesucht werden?", "Verbindungsweg")
    Range("D11").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
    False, AllowFiltering:=True, UserInterfaceOnly:=True

    Exit Sub

    err_here:
    MsgBox "Fehler: der angegebene Tabellenname ist falsch oder die Zelle der Tabelle kann nicht angewählt werden.", _
    vbInformation, "Hinweis"
    End Sub

    Nun passiert folgendes.
    Sobald ich die Datei öffne, erscheint die Messagebox und fragt nach dem Straßennamen.
    Daraufhin gebe ich den neuen Namen ein. Aus der letzten Abfrage steht zu diesem Zeitpunkt noch der alte gesuchte Name in dem geschützten Blatt da.
    Drücke ich nach Eingabe des neuen Namens nun auf ok, erhalte ich eine Messagebox bezüglich der Aktivierung der automatischen Aktualisierung (wegen der Abfrage aus der externen Datenquelle - kann man das abschalten bzw. auf automatische Aktivierung stellen?).
    Drücke ich nun auf automatische Aktualisierung erhalte ich eine Mitteilung, dass die Zelle, die ich benutzen möchte, schreibgeschützt ist und das ich erst den Blattschutz aufheben muss.
    Nach einem Klick auf ok erhalte ich die Meldung:
    "Der folgende Datenbereich konnte nicht aktualisiert werden: Abfrage von Excel-Dateien. Soll die Aktualisierung fortgesetzt werden?"
    Nach einem weiteren ok bin ich wieder auf meiner Startseite. Es hat sich allerdings nichts verändert und ich kann auch weiterhin ohne den Blattschutz aufzuheben, nichts ändern.

    Was mache ich noch falsch?
    Ist Deine Prozedur nur einmal bei Start Öffnen der Datei verwendbar oder kann ich bei geöffneter Datei dann auch weitere Straßen abfragen?
    Viele Dank für Deine Hilfe.
    Gruß
    Captain
     
  5. Moin, captain,

    wenn die Abfragebox kommt, sollte nach Deinen Angaben auch der Begriff in die Zelle geschrieben werden. Von daher kann ich das Verhalten Deiner Mappe nicht verstehen. weil ich den Aufbau nicht kenne und nicht weiß, was dort wie aktualisiert werden soll. Vielleicht kannst Du ein abgespecktes Beispiel als Anhang einstellen, um die Zusammenhänge zu verdeutlichen?
     
  6. Hallo jinx,
    ich habe die verwendeten Dateien als Anhang beigefügt.
    Die Datei Formular für Forum ist die Datei im Vordergrund. Die Datei Datei für Forum ist die hinterlegte Tabelle, auf die mittels Abfrage zugegriffen wird.
    Als Beispiele kannst Du Verbindungsweg, Schulweg, Schulstraße eingeben.
    Nimmst Du den Blattschutz manuell heraus und gibst den Namen in D10 ein, dann siehst du, wie es aussehen soll.
    Danke für Deine Bemühungen. Ich verzweifle langsam.
     
  7. Hallo jinx,
    ich habe beim Probieren jetzt noch herausgefunden, dass wenn ich nach
    Range ("D11").Select
    die Zeile
    ActiveSheet.Protect....
    durch ein ' deaktiviere,
    zumindestens die Liste aktualisiert wird. Gibt es eine Möglichkeit eine Verzögerung einzubauen, nach der dann erst der Blattschutz wieder greift?
    Ansonsten bleiben die Fragen die gleichen wie bisher. *eek.gif*
    Gruß
    captain
     
    captain, 1. Oktober 2009
    #7
  8. Daten in Abfrage aktualisieren trotz Blattschutz

    Moin, captain,

    Verzögerung würde ich über API und Sleep umsetzen:

    Code:
    im Prozedurkopf und Aufruf per
    Code:
    für z.B. 5 Sekunden. Auf jeden Fall sollte aber vorher/nachher per DoEvents das Betriebssystem die Möglichkeit haben, andere Aktivitäten auszuführen...
     
  9. Hallo jinx,
    vielen dank für den neuen Hinweis,
    aber da ich wirklich noch Laie auf dem Gebiet bin, hab ich ehrlich gesagt keine Ahnung, wo ich den Code genau hinschreiben muss.
    Hast du dir mein Bsp mal angeschaut?
    Wie bekomme ich es hin, dass ich anschließend wieder einen neuen Namen eingeben kann, ohne die Datei neu starten zu müssen und wie bekomme ich diese Frage nach der Aktulisierung (aktivieren oder deaktivieren) weg?
    Danke
    Gruß
    Captain
     
    captain, 1. Oktober 2009
    #9
  10. Hallo jinx und natürlich auch alle anderen Leser, die mir vielleicht helfen können.
    Ich habe noch einmal versucht ein Makro über die Abfolge zu erstellen:

    Private Sub Workbook_Open()


    Sheets("Startseite").Activate
    ActiveSheet.Unprotect
    Range("D10:E10").Value = InputBox("Geben Sie den gesuchten Straßennamen ein:", "Wonach soll gesucht werden?", "")
    Range("D10").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True

    ActiveSheet.Unprotect
    Range("D10:E10").Value = InputBox("Geben Sie den gesuchten Straßennamen ein:", "Wonach soll gesucht werden?", "")
    Range("D10").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True


    ActiveSheet.Unprotect
    Range("D10:E10").Value = InputBox("Geben Sie den gesuchten Straßennamen ein:", "Wonach soll gesucht werden?", "")
    Range("D10").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True

    ActiveSheet.Unprotect
    Range("D10:E10").Value = InputBox("Geben Sie den gesuchten Straßennamen ein:", "Wonach soll gesucht werden?", "")
    Range("D10").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFiltering:=True
    End Sub


    Dies soll zeigen, dass ich praktisch einen Straßennamen gleich zu Beginn suchen will und dann anschließend noch beliebig (hier jetzt 3) Straßen suchen will.
    Leider klappt dieses Makro auch nicht, aber ich weiß nicht warum, da fehlt mir dann wohl doch das "logische Einfühlungsvermögen" *Smilie
    Ich scheitere dabei noch daran, dass sofort der Blattschutz wieder aktiviert ist und im Hintergrund dieses Fenster mit der Aktivierung der Makros abgefragt wird, was ich nicht weg bekomme.
    Ließe sich die beliebige Abfrageanzahl durch eine Schleife realisieren?
    Vielen Dank für weitere Hilfe schon einmal im Voraus!
    Gruß
    captain
     
    captain, 5. Oktober 2009
    #10
  11. Moinm, Captain,

    den Ansatz, VBA und OLE einzusetzen, habe ich nicht so richtig verstanden - hast Du schon einmal an die Verwendung des Spezialfilters und Kopieren des erhaltenen Bereiches sowie Freigabe Filter gedacht? Oder die Verwendung von ADO?
     
  12. Moin jinx,
    mit diesen Dingen habe ich überhaupt keine Erfahrung. Ehrlich gesagt weiß ich nicht was ADO ist.
    Wie würde das denn mit dem Spezialfilter aussehen?
    Und wäre dann die Möglichkeit der Abfrage und des Blattschutzes gegeben, so wie du es meinst?
    Gruß
    captain
     
    captain, 6. Oktober 2009
    #12
  13. Daten in Abfrage aktualisieren trotz Blattschutz

    Moin, captain,

    für ADO siehe ADO und Excel(1) - Kleines Vorwort und Einstieg ff., für das Beispiel mit dem Spezilafilter muss ich Deine Datei noch einmal suchen und den Code ein wenig anpassen. Basis dazu wäre sicherlich das folgende Vorgehen, welches auf der Ergebnistabelle mit Kriterien- und Zielbereich aufgerufen wird (A1:P2 bildet den Kriterienbereich, und der hier absolut angegebene Bereich kann dynamisch gemacht werden; abschließend kann dann der um die Zelle A10 liegende Bereich kopiert werden):

    Code:
     
  14. Hallo jinx,
    ich habe Dank Deiner vielen Hinweise, die mich letztendlich dazu gebracht haben, in Richtung Autofilter zu tendieren, das ganze nun fast fertig - Vielen Dank.
    Mit Hilfe weiterer Forumsbeiträge - ich wusste ja nun durch Dich wonach ich auch noch suchen kann habe ich es nun wie folgt gelöst:
    In DieseArbeitsmappe habe ich nun folgendes geschrieben:

    Private Sub Workbook_Open()

    Sheets("Startseite").Activate
    ActiveSheet.Unprotect Password:="Beispiel"

    ActiveSheet.Protect Password:="Beispiel", DrawingObjects:=True, Contents:=True, Scenarios:= _
    False, AllowFiltering:=False, UserInterfaceOnly:=True


    End Sub



    In Tabelle1:

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address "$D$11" Then Exit Sub
    Range("D11").Select
    If Target = "" Then
    Columns("A:A").AutoFilter
    Else
    Columns("A:A").AutoFilter Field:=1, Criteria1:=Target
    End If
    End Sub


    Was mir jetzt nur noch fehlt ist folgendes:
    Trotz des Blattschutzes kann ich auf dem Register für Tabelle1 ("Startseite") mit einem Rechtsklick den Code aufrufen.
    Lässt sich das unterbinden? Denn so nutzt mir der Blattschutz ja nicht viel.

    Und eine zweite Frage wäre noch, ob man die Verhinderung der Eingabe der Entf-Taste in den Code hineinbrigen kann, denn wenn ein Anwender zunächst die Entf-Taste drückt, bevor er einen neuen Namen eingibt, crashed das Formular. Drückt er die Back- oder die Leertaste passiert dies nicht.


    Danke!
    Gruß
    captain
     
  15. Moin, captain,

    eigentlich sollte das Ereignis nicht aufgerufen werden müssen, sondern bei Handlung starten. Den Zugriff auf das VBA-Projekt kann man gegen Sicht und Zugriff sperren (für nicht mit der Materie befasste User jedenfalls), indem man einen Rechtsklick auf das Projekt ausführt und dann die Ansicht sperren anhakt und ein Passwort vergibt. Ich bin langsam - ich brauche vielleicht eine halbe Minute, um an den Code der Mappe zu kommen...

    Vorsicht, auch Du kannst das dann erst einmal nicht mehr anwenden - es sei denn, Du arbeitest mit einer Abfrage des Benutzernamens beim Öffnen der Mappe oder Bedingter Kompilierung:

     
Thema:

Daten in Abfrage aktualisieren trotz Blattschutz

Die Seite wird geladen...
  1. Daten in Abfrage aktualisieren trotz Blattschutz - Similar Threads - Daten Abfrage aktualisieren

  2. Import Daten aus Access Abfrage klappt nicht

    in Microsoft Excel Hilfe
    Import Daten aus Access Abfrage klappt nicht: Moin, ich habe ein Problem. Ich habe eine Datenbank in Access mit diversen Tabellen und Abfragen. Jetzt habe ich eine neue Abfrage erstellt und muß das Ergebnis täglich in eine Exceldatei...
  3. Excel lädt die Daten nicht sobald Abfragekriterium für ein Textfeld erstellt wird

    in Microsoft Access Hilfe
    Excel lädt die Daten nicht sobald Abfragekriterium für ein Textfeld erstellt wird: Hey Ihr Lieben, ich habe eine Abfrage erstellt und das Kriterium - Wie "*gelb*" - angegeben. Sprich: Mir werden alle Datensätze angezeigt die irgendwo das Wort "gelb" in sich haben. Nun...
  4. Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen

    in Microsoft Access Hilfe
    Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen: Hallo, ich habe per Google und Foren SuFu leider nichts passendes finden können, wage aber zu bezweifeln, dass Access da an seine Grenzen kommt, da es eigentlich recht banal ist. Ich habe eine...
  5. Datensatz abfragen und Daten ergänzen

    in Microsoft Access Hilfe
    Datensatz abfragen und Daten ergänzen: Hallo, ich habe leider keine Ahnung mehr von Access. Habe es zwar vor 10 Jahren gelernt, doch leider ist mein wissen weg. Ich habe folgendes Problem : Ich würde gerne eine Auftragsverwaltung...
  6. Hinzufügen von Daten und Aktualisieren der Abfrage

    in Microsoft Excel Tutorials
    Hinzufügen von Daten und Aktualisieren der Abfrage: Hinzufügen von Daten und Aktualisieren der Abfrage Excel für Microsoft 365 Microsoft 365 Business Mehr... Weniger...
  7. Daten zurückschreiben über Verknüpfte Abfrage

    in Microsoft Access Hilfe
    Daten zurückschreiben über Verknüpfte Abfrage: Hallo zusammen, habe folgende Problem: Hatte eine DB mit einer Tabelle. Dazu ein Formular und eine Abfrage. Über die Abfrage habe ich die Tabelle über Datensatzquelle mit meinem Formular...
  8. Aktualisieren oder erneutes Abfragen von Daten

    in Microsoft Access Tutorials
    Aktualisieren oder erneutes Abfragen von Daten: Aktualisieren oder erneutes Abfragen von Daten Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr......
  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