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

Im variablen Bereich Inhalte löschen

Forumthread: Im variablen Bereich Inhalte löschen

Im variablen Bereich Inhalte löschen
21.03.2005 13:56:33
Sergej
Hallo lieber Helfer, Profis und andere!!!!!!!
Zum meiner Code:

Sub LeztezeileLoeschen()
A = ThisWorkbook.Sheets("Dummy").Range("B5").Value
If A > 14 Then
ThisWorkbook.Sheets("Protokoll").Cells(A, 2).EntireRow.ClearContents
A = A - 1
ThisWorkbook.Sheets("Dummy").Range("B5").Value = A
End If
End Sub

So lösche ich kompllet die ganze Zeile
Ich will aber nur bestimmter Bereich löschen
z.B Range("B15:H15") nur eins, die Zeile ist variabel!!!
wie schreibt man richtig so was:
Range("B & A :H & A").ClearContents ?
A ist der Nummer meiner lezten Zeile
Wer kann mir helfen
Danke im Voraus
gruß Sergej
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:11:19
ANdreas
Hallo Sergej,
wenn ich Dich richtig verstanden habe, dann so:

Sub LetzteZeileLoeschen()
Dim i&
i = CLng(ThisWorkbook.Worksheets("Dummy").Range("B5").Value)
If i > 14 Then
With ThisWorkbook.Worksheets("Protokoll")
.Range(.Cells(i, 2), .Cells(i, 8)).ClearContents
End With
ThisWorkbook.Worksheets("Dummy").Range("B5").Value = i - 1
End If
End Sub

Gruß
Andreas
Anzeige
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:34:59
Sergej
Hallo Andreas!!! Vielen Dank für deinen Beitrag
genau das brauche ich...aber irgendwie funzt deiner Code nicht
Villeicht liegt es an "" obwohl ich das so und so ausprobiert habe..troztdem nicht..
.Range(".Cells(i, 2), .Cells(i, 8)").ClearContents so etwa?
gruß Sergej
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:38:16
ANdreas
Hallo Sergej,
wie genau äußert sich das nicht funktionieren? Passiert nichts, kommt ein Fehler? Wenn ja welcher und in welcher Zeile?
Die "" darfst Du nicht setzen. Mit Cells(row, column) sprichst Du ja schon die Zelle an.
Gruß
Andreas
Anzeige
AW: Im variablen Bereich Inhalte löschen
Sergej
Inhalte in der lezten Zeile werden nicht gelöscht, also nicht funktioniert.
Keine Fehlermeldungen...hast du dass bei dir getestet?
Trozdem Vielen dank!!!!! Wenn dir was noch einfällt ...poste bitte im Forum!
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:13:28
Tobias
Servus!
Also am besten machst dus so:
ThisWorkbook.Sheets("Protokoll").Activate
Range("B15:H15").Select
Selection.ClearContents
ThisWorkbook.Sheets("Dummy").Activate
Hilfe ok?
Gruss

Tobias
Anzeige
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:15:33
Tobias
Hups... doofes Copy&Paste... nochmal
ThisWorkbook.Sheets("Protokoll").Activate
Range("B" & A & ":H" & A).Select
Selection.ClearContents
ThisWorkbook.Sheets("Dummy").Activate
Gruss

Tobias
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:39:26
Sergej
Danke Danke Tobias funzt aber bleibt die Selektirung zu sehen...
aber irgendwie Makro ähnliches Methode...
wie kriegt man Selektierung (Markierung) raus ?
Anzeige
AW: Im variablen Bereich Inhalte löschen
21.03.2005 14:47:33
Tobias
Servus!
Is recht einfach - markier einfach ne andere Zelle, wie hier im Beispiel die Zelle A1:
Range("A1").Select
Damit ist die alte Selektion wieder aufgehoben.
Gruss

Tobias
;
Anzeige
Anzeige

Infobox / Tutorial

Inhalte im variablen Bereich in Excel löschen


Schritt-für-Schritt-Anleitung

Um Inhalte in einem variablen Bereich in Excel zu löschen, kannst Du den folgenden VBA-Code verwenden. Er ermöglicht es Dir, nur bestimmte Zellen in einer Zeile zu leeren, die durch eine Variable bestimmt wird:

Sub LetzteZeileLoeschen()
    Dim i As Long
    i = CLng(ThisWorkbook.Worksheets("Dummy").Range("B5").Value)

    If i > 14 Then
        With ThisWorkbook.Worksheets("Protokoll")
            .Range(.Cells(i, 2), .Cells(i, 8)).ClearContents
        End With
        ThisWorkbook.Worksheets("Dummy").Range("B5").Value = i - 1
    End If
End Sub

In diesem Code wird die letzte Zeile, die Du löschen möchtest, in der Zelle B5 auf dem Arbeitsblatt "Dummy" gespeichert. Der Code löscht dann die Inhalte in den Zellen von B bis H der entsprechenden Zeile auf dem Arbeitsblatt "Protokoll". Achte darauf, die korrekten Arbeitsblattnamen zu verwenden.


Häufige Fehler und Lösungen

  • Problem: Der Code funktioniert nicht, und es werden keine Inhalte gelöscht.

    • Lösung: Überprüfe, ob der Wert in B5 tatsächlich größer als 14 ist. Achte darauf, dass Du die richtigen Zellbezüge verwendest und keine zusätzlichen Anführungszeichen in der Range-Anweisung hast.
  • Problem: Der Bereich wird nicht korrekt ausgewählt.

    • Lösung: Stelle sicher, dass Du den Code in einem Modul ausführst und dass die Referenzen zu "Protokoll" und "Dummy" korrekt sind.

Alternative Methoden

Wenn Du keine VBA-Methode verwenden möchtest, kannst Du auch die Standardfunktionen von Excel nutzen:

  1. Wähle den Bereich, den Du leeren möchtest.
  2. Klicke mit der rechten Maustaste und wähle „Inhalte löschen“ oder drücke die Entf-Taste auf Deiner Tastatur.

Eine andere Möglichkeit ist, den Bereich zu markieren und direkt über die Menüleiste „Start“ > „Löschen“ > „Inhalte löschen“ zu wählen.


Praktische Beispiele

Ein Beispiel für das Löschen eines variablen Bereichs auf einem Arbeitsblatt „Protokoll“:

Sub InhalteLoeschenBeispiel()
    Dim letzteZeile As Long
    letzteZeile = ThisWorkbook.Worksheets("Dummy").Range("B5").Value

    If letzteZeile > 14 Then
        ThisWorkbook.Worksheets("Protokoll").Range("B" & letzteZeile & ":H" & letzteZeile).ClearContents
    End If
End Sub

Dieses Beispiel löscht die Inhalte der Zeile, die in B5 angegeben ist. Es ist wichtig, dass Du die Zeilen- und Spaltenbezüge anpasst, um das gewünschte Ergebnis zu erzielen.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um das Flackern des Bildschirms während der Ausführung des Makros zu vermeiden.
  • Aktiviere die Fehlerbehandlung mit On Error Resume Next, um sicherzustellen, dass Dein Code nicht bei jedem Fehler stoppt. Dies kann nützlich sein, wenn Du mit unvorhergesehenen Werten arbeitest.
  • Teste Deinen Code immer zuerst in einer Kopie Deiner Arbeitsmappe, um versehentliche Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass ich keine Daten verliere?
Es ist ratsam, eine Sicherungskopie der Datei zu erstellen, bevor Du Makros ausführst, die Inhalte löschen.

2. Kann ich den Code anpassen, um andere Bereiche zu löschen?
Ja, Du kannst die Zellreferenzen in der Range-Anweisung anpassen, um andere Bereiche zu löschen, je nach Deinen Anforderungen.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der bereitgestellte Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und später.

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