Office: Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle

Helfe beim Thema Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe eine Exceldatei mit mehreren Tabellenblätern, die alle gleich aufgebaut sind. Nun möchte ich wiederum in einem anderen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Jandb1980, 30. August 2014.

  1. Jandb1980 Erfahrener User

    Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle


    Hallo,

    ich habe eine Exceldatei mit mehreren Tabellenblätern, die alle gleich aufgebaut sind. Nun möchte ich wiederum in einem anderen Tabellenblatt, wenn ich dort einen Wert eingebe, damit bewirken, das in den anderen Tabellenblättern jeweils die selben Zellenbereiche gelöscht werden.

    Also:

    Das genannte Feld (I2) ist für die Eingabe des Jahres (Beispiel: 2014). Gebe ich das Jahr ein, werden in 12 Tabellenblättern (Jan-Dez) die Bereiche C7-37 & D7-37 gelöscht.

    Ist das mit Excelformeln umzusetzen, oder muss man da schon auf VBA zurückgreifen?
     
    Jandb1980, 30. August 2014
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    sind die Zellinhalte in C7: D37 Formelergebnisse? Falls ja, musst du diese Formeln mittels WENN so schreiben, dass unter deiner gewünschten Bedingung nichts ausgegeben wird - andernfalls geht es nut mit VBA.

    Bis später,
    Karin
     
    Beverly, 30. August 2014
    #2
  3. Jandb1980 Erfahrener User
    Hey,

    danke erst mal für deine Antwort :)

    Die Zellinhalte sind selbst eingetragene Arbeitszeiten (Anfang und Ende). Berechnet wird in diesen Zellen nichts.
     
    Jandb1980, 30. August 2014
    #3
  4. Beverly
    Beverly Erfahrener User

    Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle

    Hi,

    kopiere folgenden Code ins Codemodul des Tabellenblattes, in welchem du die Jahreszahl einträgst:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim arrTabs()
       Dim bytTab As Byte
       arrTabs = Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
       If Target.Address(False, False) = "I2" Then
          For bytTab = 0 To 11
             Worksheets(arrTabs(bytTab)).Range("C7:D37").ClearContents
          Next bytTab
       End If
    End Sub
    
    Bis später,
    Karin
     
    Beverly, 30. August 2014
    #4
  5. Jandb1980 Erfahrener User
    Danke dir :) sehr genial :) Ich habe das ganze noch auf eine weitere Spalte, die ich für Einträge, wie z.B. Urlaub/Krank, etc. nutze. So säubere ich die Datei mit einem Klick und so ist sie direkt bereit für die Arbeitserfassung in einem neuen Jahr.
     
    Jandb1980, 30. August 2014
    #5
  6. Jandb1980 Erfahrener User
    Hm... jetzt habe ich den Code etwas erweitert, aber es wird nur das gelöscht, was du am Anfang geschrieben hast, also nur C7 bis D37.

    Ich habe die Formel wie folgt angepasst:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim arrTabs()
       Dim bytTab As Byte
       arrTabs = Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
       If Target.Address(False, False) = "I2" Then
          For bytTab = 0 To 11
             Worksheets(arrTabs(bytTab)).Range("C7:D37").ClearContents
             Worksheets(arrTabs(bytTab)).Range("J7:J37").ClearContents
             Worksheets(arrTabs(bytTab)).Range("C57:J87").ClearContents
          Next bytTab
       End If
    End Sub
    
    So sollen auch weitere Zellen gelöscht werden, aber trotz des so eingegebenen Codes löscht Excel nur C7-D37. J7 bis J37 und C57 bis J87 bleiben unangetastet.

    Edit: Nun passiert trotz des Codes (auch dem ersten originalen) keine Änderung mehr Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle :( (das ist doch zum Mäuse melken Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle :( )

    Was mache ich falsch?
     
    Zuletzt bearbeitet: 31. August 2014
    Jandb1980, 30. August 2014
    #6
  7. Beverly
    Beverly Erfahrener User
    Keine Ahnung - bei mir funktioniert auch dein erweiterter Code völlig korrekt.

    Bis später,
    Karin
     
    Beverly, 31. August 2014
    #7
  8. Jandb1980 Erfahrener User

    Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle

    Hm... meinst du, du könntest mal einen Blick auf meine Datei werfen?

    Vielleicht siehst du mehr, als ich?
     
    Zuletzt bearbeitet: 31. August 2014
    Jandb1980, 31. August 2014
    #8
  9. Beverly
    Beverly Erfahrener User
    Ich habe in I2 ein anderes Jahr ausgewählt - Ergebnis: alle Tabellen von Jan bis Dez wurden in den von dir gewünschten Zellbereichen geleert.

    Bis später,
    Karin
     
    Beverly, 31. August 2014
    #9
  10. Jandb1980 Erfahrener User
    Interessant, in Excel 2007 funktionierte das sage und schreibe 1x gestern, und nun nicht mehr.

    In Excel 2011 am Mac wunderbar.

    Verstehen muss man das nicht, oder?

    Entwarnung... warum auch immer, hat sich in meiner virtuelle Maschine am Mac in Excel die Einstellung für Macros beim Öffnen verändert...

    Nun klappt wieder alles.
     
    Zuletzt bearbeitet: 31. August 2014
    Jandb1980, 31. August 2014
    #10
  11. Beverly
    Beverly Erfahrener User
    Die hochgeladene Datei ist dieselbe wie diejenige, die du in 2007 erfolglos getestet hast? Ich habe sie jetzt ebenfalls in 2007 ohne Probleme getestet.

    Bis später,
    Karin
     
    Beverly, 31. August 2014
    #11
  12. Jandb1980 Erfahrener User
    Hatte vorhin meinen vorherigen Post bearbeitet und nicht gesehen, das du schon geantwortet hattest.

    Irgendwie hat sich in meiner virtuellen Maschine unter Excel was bei der Einstellung zu Macros verstellt, habe das korrigiert, und nun geht wieder alles :)
     
    Jandb1980, 31. August 2014
    #12
  13. Jandb1980 Erfahrener User

    Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle

    Ich möchte meine Frage noch ein wenig erweitern.

    Wenn ich nun Blattschutz auf Arbeitsblättern habe, dann muss ich ja, um Zellbereiche zu leeren, den Blattschutz vorübergehend aufheben.

    Ich habe die Formel nun erweitert, aber dabei bekomme ich Fehler (Unzulässiger oder nicht ausreichend definierter Bereich)

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim arrTabs()
       Dim bytTab As Byte
       arrTabs = Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
       If Target.Address(False, False) = "C5" Then
          For bytTab = 0 To 11
            .Unprotect "test"
             Worksheets(arrTabs(bytTab)).Range("C8:D38").ClearContents
             Worksheets(arrTabs(bytTab)).Range("J8:J38").ClearContents
             Worksheets(arrTabs(bytTab)).Range("C58:J88").ClearContents
             Worksheets(arrTabs(bytTab)).Range("E46:E46").ClearContents
             Worksheets(arrTabs(bytTab)).Range("E93:E93").ClearContents
            .Protect "test"
          Next bytTab
       End If
    End Sub
    
    Wo ist der Fehler? Oder kann man das so nicht lösen?
     
    Jandb1980, 4. September 2014
    #13
  14. Beverly
    Beverly Erfahrener User
    Wenn du dich auf ein spezifisches Tabellenblatt mittels Punkt vor einem Befehl beziehen willst, dann musst du das in einer With-Anweisung tun:

    Code:
       With Worksheets(arrTabs(bytTab))
          .Unprotect "test"
          .Range("C8:D38").ClearContents
          .Range("J8:J38").ClearContents
          .Range("C58:J88").ClearContents
          .Range("E46:E46").ClearContents
          .Range("E93:E93").ClearContents
          .Protect "test"
       End With
    

    Bis später,
    Karin
     
  15. Jandb1980 Erfahrener User
    Hm... ich möchte mich auf die Tabellenblätter in dem VBA Code beziehen, also:
    "Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"
     
    Jandb1980, 4. September 2014
    #15
Thema:

Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle

Die Seite wird geladen...
  1. Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle - Similar Threads - Zellbereiche leeren Eingabe

  2. Zellbereich Namen per Makro vergeben

    in Microsoft Excel Hilfe
    Zellbereich Namen per Makro vergeben: Moin zusammen, in einer Dienstplandatei gibt es einen Zellbereich "Kuerzel". In den Monatsblättern lassen sich die Kuerzel per PullDownMenue auswählen. Aktuell bezieht sich der Bereich auf...
  3. Zellbereich als Text ausgeben

    in Microsoft Excel Hilfe
    Zellbereich als Text ausgeben: Grüße, ich steh' irgendwie auf dem Schlauch und komme nicht weiter.. Ich möchte einen Zellbereich als Text auslesen. Beispiel 1: Die Funktion einer Zelle beginnt mit einer Let-Funktion:...
  4. VBA Zellbereiche anhand einer Suchvariable in neues Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    VBA Zellbereiche anhand einer Suchvariable in neues Tabellenblatt kopieren: Hallo Ihr Lieben, leider bin ich in VBA nicht sehr gut bewandert und arbeite meistens nach Search, try and error, oder mit Formeln. Normalerweise werde ich so auch meistens fündig, dank der vielen...
  5. VBA Zellbereiche (Zeilen) verschieben

    in Microsoft Excel Hilfe
    VBA Zellbereiche (Zeilen) verschieben: Hallo Ihr Lieben, ich suche seit Tagen nach einem funktionierenden VBA-Code, aber keiner will so wie ich will. Immer kommen Fehlermeldungen. Deshalb hoffe ich, hier eine funktionierende Lösung zu...
  6. Durchführen von bedingten Berechnungen für Zellbereiche

    in Microsoft Excel Tutorials
    Durchführen von bedingten Berechnungen für Zellbereiche: Durchführen von bedingten Berechnungen für Zellbereiche Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016...
  7. Zellbereich in anderes Tabellenblatt kopieren

    in Microsoft Excel Hilfe
    Zellbereich in anderes Tabellenblatt kopieren: Hallo zusammen, leider bin ich mit der Suche nicht wirklich fündig geworden. Ich möchte aus einer Tabelle im Tabellenblatt „Tabelle1“ Einträge aus einem Spaltenbereich (G5 bis G25) mit einem...
  8. Zellbereich kopieren / schreiben

    in Microsoft Excel Hilfe
    Zellbereich kopieren / schreiben: Moin zusammen, leider muss ich noch einmal vorstellig werden und hoffe auf Eure Unterstützung! Ich habe in Excel mehrere Tabellen mit Makro und möchte aus einer/mehreren Zellen die Daten (Datum)...
  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