Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verbundene und nicht verbundene Zellen löschen

Forumthread: Verbundene und nicht verbundene Zellen löschen

Verbundene und nicht verbundene Zellen löschen
Ben
Hi Forum
Wie schaffe ich es, dass bei dieser Liste
https://www.herber.de/bbs/user/64046.xls
beim Betätigen der "L-Taste" die Nummer in Spalte C, sowie die Inhalte der jeweils 4 Zeilen der Spalten F - J gelöscht werden?
Vielen Dank für Eure Hilfe.
Gruss
Ben
Anzeige
Inhalt von (verbundenen) Zellen löschen
25.08.2009 17:57:34
(verbundenen)
Hallo Ben,
die Schaltflächen sind mit Makros aus einer anderen Datei verknüpft :
'C:\Laufwerk H\E_Formulare\Tagesklinik\Vorlage Zentrale Planung Tagesklinik.xls'!Schaltfläche206_BeiKlick
Dort musst Du den Code anpassen !
Die Codezeilen könnten z.B. so aussehen :
Sub Schaltfläche206_BeiKlick()
Range("C5:C8,F5:J8").ClearContents
End Sub
Gruß, NoNet
Anzeige
AW: Inhalt von (verbundenen) Zellen löschen
26.08.2009 08:43:47
(verbundenen)
Hallo NoNet
Deinen Code müsste ich für jede Löschen-Schaltfläche anpassen. Ich habe mir einen Code vorgestellt, den ich für alle Schaltflächen nur 1 mal hinterlegen muss.
Gruss
Ben
AW: Verbundene und nicht verbundene Zellen löschen
25.08.2009 18:09:47
K.Rola
Hallo,
platzier den Code im Modul der tabelle und weise ihn allen Schaltflächen zu:
Sub löschen()
With Me.Shapes(Application.Caller)
.TopLeftCell.Offset(0, 1).Resize(4, 1).ClearContents
.TopLeftCell.Offset(0, 4).Resize(4, 5).ClearContents
End With
End Sub
Gruß K.Rola
Anzeige
AW: Verbundene und nicht verbundene Zellen löschen
26.08.2009 08:49:06
Ben
Hi K.Rola
Mit Deinem Code erhalte ich die Fehlermeldung
"Fehler beim Kompilieren". Unzulässige Verwendung des Schlüsselworts Me"
Ich habe es noch so versucht:
If (MsgBox("Wollen Sie die Zeile wirklich aus der Übersicht löschen?", vbYesNo + vbQuestion, "Neuer Abruf")) = vbYes Then
'Funktion ausführen
Dim z As Long
z = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row
.TopLeftCell.Offset(0, 1).Resize(4, 1).ClearContents
.TopLeftCell.Offset(0, 4).Resize(4, 5).ClearContents
End If
'
End Sub
Das führt zur Fehlermeldung
"Fehler beim Kompilieren. Unzulässiger oder nicht ausreichend definierter Verweis", wobei ".TopLeftCell" markiert ist.
Gruss
Ben
Anzeige
1. solltest du den Code im Dokument-...
26.08.2009 09:35:28
Luc:-?
...Klassenmodul des betreffenden TabBlattes platzieren, Ben, und...
2. hast du das With-Konstrukt vergessen.
Lies mal dazu in der VBE-Hilfe nach!
Gruß Luc :-?
AW: 1. solltest du den Code im Dokument-...
26.08.2009 09:38:45
Ben
Hi
Habe meine Lösung mit ein bisschen "try and error" selber raus gefunden:
Sub Schaltfläche206_BeiKlick()
If (MsgBox("Wollen Sie den Patienten wirklich aus der Übersicht löschen?", vbYesNo + vbQuestion, _
"Neuer Abruf")) = vbYes Then
'Funktion ausführen
Dim z As Long
z = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row
Range(Cells(z, 3), Cells(z + 3, 3)).ClearContents
Range(Cells(z, 6), Cells(z, 10)).ClearContents
Range(Cells(z + 1, 6), Cells(z + 3, 10)).ClearContents
End If
End Sub

Danke für die Hilfe.
Gruss
Ben
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Verbundene und nicht verbundene Zellen löschen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei: Stelle sicher, dass Du die Datei geöffnet hast, in der Du die verbundenen Zellen trennen oder löschen möchtest.

  2. Zellen auswählen: Markiere die Zellen, die Du löschen oder deren Inhalte Du entfernen möchtest.

  3. Makro erstellen: Gehe zu Entwicklertools > Visual Basic, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  4. Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (DeinDateiname)" und wähle Einfügen > Modul.

  5. Code einfügen: Füge den folgenden Code in das Modul ein, um die verbundenen Zellen zu löschen:

    Sub VerbundeneZellenLoeschen()
       Dim z As Long
       Dim rng As Range
       z = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row
       Set rng = Range(Cells(z, 3), Cells(z + 3, 6)) ' Anpassung je nach Spalten
       rng.ClearContents
    End Sub
  6. Makro zuweisen: Weisen Sie das Makro einer Schaltfläche zu, indem Du mit der rechten Maustaste auf die Schaltfläche klickst und Makro zuweisen wählst.

  7. Testen: Klicke auf die Schaltfläche, um zu überprüfen, ob die Inhalte der verbundenen Zellen erfolgreich gelöscht wurden.


Häufige Fehler und Lösungen

  • Fehler beim Kompilieren: Wenn Du die Fehlermeldung "Unzulässige Verwendung des Schlüsselworts Me" erhältst, stelle sicher, dass Du den Code im richtigen Kontext (z.B. im Klassenmodul des Tabellenblattes) platzierst.

  • Unzureichend definierter Verweis: Achte darauf, dass Du die TopLeftCell korrekt referenzierst. Eine Möglichkeit, dies zu lösen, ist, den Code wie folgt zu ändern:

    Dim cell As Range
    Set cell = ActiveSheet.Buttons(Application.Caller).TopLeftCell

Alternative Methoden

  • Manuelles Löschen: Du kannst auch einfach die verbundenen Zellen auswählen und die Entf-Taste drücken. Um die verbundenen Zellen aufzuheben, gehe zu Start > Ausrichtung > Zellen verbinden, um die Verbindung aufzuheben.

  • Verbundene Zellen trennen: Gehe zu Start > Ausrichtung und klicke auf Zellen verbinden, um die Verbindung zwischen den Zellen aufzuheben, bevor Du Inhalte löschst.


Praktische Beispiele

  1. Beispiel für das Löschen von verbundenen Zellen: Wenn Du eine Liste mit verbundenen Zellen hast, kannst Du den oben angegebenen VBA-Code verwenden, um die Inhalte dieser Zellen basierend auf einer Schaltfläche zu löschen.

  2. Verwendung in einer Patientenverwaltung: In einem Patientenverwaltungs-Excel-Dokument könntest Du das Makro nutzen, um die Daten eines Patienten auf einfache Weise zu löschen, sobald Du auf die entsprechende Schaltfläche klickst.


Tipps für Profis

  • Code optimieren: Überlege, wie Du den Code so anpassen kannst, dass er flexibel für unterschiedliche Tabellen funktioniert, indem Du Parameter einfügst.

  • Fehlermeldungen vermeiden: Stelle sicher, dass Du Bedingungen einfügst, die prüfen, ob Zellen verbunden sind, bevor Du versuchst, deren Inhalt zu löschen. So verhinderst Du Laufzeitfehler.


FAQ: Häufige Fragen

1. Wie kann ich verbundene Zellen aufheben?
Um verbundene Zellen aufzuheben, markiere diese, gehe zu Start > Ausrichtung und deaktiviere Zellen verbinden.

2. Kann ich mehrere Schaltflächen gleichzeitig anpassen?
Ja, Du kannst das gleiche Makro mehreren Schaltflächen zuweisen, um dieselbe Funktionalität zu gewährleisten, ohne den Code mehrfach zu schreiben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige