Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Inhalt nicht geschützter Zellen löschen

Inhalt nicht geschützter Zellen löschen
04.04.2015 17:53:38
Orlandi
Guten Tag zusammen
Mein Ziel ist es, den Inhalt aller nicht geschützten Zellen einer markierten Zeile zu löschen.
Da ich VBA nicht mächtig bin, nutze ich die tollen Lösungen in den Foren. Dafür danke ich den vielen Profis bestens. Für mein aktuelles Problem habe ich jedoch bisher keine geeignete Lösung gefunden.
Mit dem folgenden Befehl markiere ich die Zeile mit der aktiven Zelle.
Range(ActiveCell, Cells(ActiveCell.Row, Columns.Count)).Select
Damit habe ich eine gewünschte Zeile markiert. Nun fehlt mir noch die Fortsetzung, so dass der Inhalt aller nicht geschützten Zellen (dazu gehören auch verbundene Zellen) dieser markierten Zeile gelöscht wird.
Vielen Dank für die Unterstützung

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt nicht geschützter Zellen löschen
04.04.2015 19:09:56
fcs
Hallo Orlandi,
hier zwei Makro mit entsprechender Funktion.
Gruß
Franz
'Variante 1
Sub Loeschen_nicht_geschuetzte()
Dim Zelle As Range, Zeile As Long
Zeile = ActiveCell.Row
With ActiveSheet
For Each Zelle In .Range(.Cells(Zeile, 1), .Cells(Zeile, .Columns.Count).End(xlToLeft))
If Zelle.Locked = False Then
Zelle.MergeArea.ClearContents
End If
Next
End With
End Sub
'Variante 2 - ist aber etwas langsamer
Sub Loeschen_nicht_geschuetzte2()
Dim Zelle As Range
For Each Zelle In ActiveCell.EntireRow.Cells
If Zelle.Locked = False Then
Zelle.MergeArea.ClearContents
End If
Next
End Sub

Anzeige
AW: Inhalt nicht geschützter Zellen löschen
04.04.2015 20:06:43
Orlandi
Hallo Franz
Ich danke herzlich für die schnelle und 2 Mal perfekte Antwort. Da staune ich nur noch.
Beste Ostergrüsse
Orlandi

AW: Inhalt nicht geschützter Zellen löschen
04.04.2015 20:11:59
Orlandi
Hallo Franz
Besten Dank für die schnelle und perfekte Lösung. Da staune ich nur noch.
Beste Ostergrüsse
Orlandi

AW: Inhalt nicht geschützter Zellen löschen
04.04.2015 20:53:44
Orlandi
Hallo Franz
Herzlichen Dank für Deine schnellen und perfekten Lösungen.
Angespornt wollte ich noch eine Sicherheitsabfrage (kopiertes Makro) einbauen. Siehe unten. Nun sollte Dein Befehl jedoch nur starten, wenn die Antwort im ersten Makro "Yes" ist. Bei "No" sollt der Befehl enden. Wie kann ich dies abfangen?
Vielen Dank schon im Voraus.
Orlandi
Range(ActiveCell, Cells(ActiveCell.Row, Columns.Count)).Select
Dim Mldg, Stil, Titel, Antwort
Mldg = "Ist das die richtige Zeile?" & vbNewLine & "Die Einträge gehen unwiderruflich verloren!"
Stil = vbYesNo + vbCritical
Titel = "Achtung!!!"
Antwort = MsgBox(Mldg, Stil, Titel)
If Antwort = vbYes Then
End If
Dim Zelle As Range, Zeile As Long
Zeile = ActiveCell.Row
With ActiveSheet
For Each Zelle In .Range(.Cells(Zeile, 1), .Cells(Zeile, .Columns.Count).End(xlToLeft))
If Zelle.Locked = False Then
Zelle.MergeArea.ClearContents
End If
Next
End With
End Sub

Anzeige
AW: Inhalt nicht geschützter Zellen löschen
05.04.2015 01:16:07
Dirk
Hallo Orlandi,
da Franz bestimmt offline ist, darf ich dir vllt. weiterhelfen.
Option Explicit
Sub Loeschen_nicht_geschuetzte_3()
Dim Zelle As Range, Zeile As Long
Dim Antwort As String
Zeile = ActiveCell.Row
Antwort = MsgBox("Ist das die richtige Zeile?" & vbCr & vbCr _
& "Zeile - Nr.:  " & Zeile, vbQuestion + vbYesNo)
If Antwort = vbYes Then
With ActiveSheet
For Each Zelle In .Range(.Cells(Zeile, 1), .Cells(Zeile, .Columns.Count).End( _
xlToLeft))
If Zelle.Locked = False Then
Zelle.MergeArea.ClearContents
End If
Next
End With
Else
Exit Sub
End If
End Sub
Ich bin aber nur VBA-Laie - also "meckern" ausdrücklich erwünscht.
Daher lasse ich die Frage mal offen.
MfG
Dirk

Anzeige
AW: Inhalt nicht geschützter Zellen löschen
05.04.2015 03:05:27
fcs
Hallo Orlandi,
Dirk hat dir ja schon weiter geholfen.
Hier mit deinen Variablen und Selektion der gesamten Zeile.
Diese ist für die Funktion des Makros nicht erforderlich. Soll sie die als Orientierung helfen?
Falls du vertikal über mehrere Zeilen verbundene Zellen hast geht die Markierung ggf. über mehrere Zeilen. Es werden aber nur die Werte in der Zeile mit der aktiven Zelle gelöscht + die Inhalte in den verbundenen Zellen.
Gruß
Franz
Sub Loeschen_nicht_geschuetzte()
Dim Mldg, Stil, Titel, Antwort
Dim Zelle As Range, Zeile As Long
Zeile = ActiveCell.Row
Mldg = "Ist Zeile  " & Zeile & "  die richtige Zeile?" & vbNewLine _
& "Die Einträge gehen unwiderruflich verloren!"
Stil = vbYesNo + vbCritical
Titel = "Achtung!!!"
ActiveCell.EntireRow.Select 'Zeile markieren - kürzer
'    Range(ActiveCell, Cells(ActiveCell.Row, Columns.Count)).Select
Antwort = MsgBox(Mldg, Stil, Titel)
If Antwort = vbYes Then
With ActiveSheet
For Each Zelle In .Range(.Cells(Zeile, 1), .Cells(Zeile, _
.Columns.Count).End(xlToLeft))
If Zelle.Locked = False Then
Zelle.MergeArea.ClearContents
End If
Next
End With
End If
End Sub

Anzeige
AW: Inhalt nicht geschützter Zellen löschen
05.04.2015 10:22:58
Orlandi
Hallo Franz und Dirk
Was soll ich sagen, perfekt. Dazu noch mit den erläuternden Erklärungen.Ihr habe mir einen grossen Dienst erwiesen.
Nochmals herzlichen Dank
Orlandi

AW: Inhalt nicht geschützter Zellen löschen
05.04.2015 16:39:42
Orlandi
Hallo Franz und Dirk
Besten Dank für Eure Rückmeldungen. Alles funktioniert bestens und dank Deiner Erklärungen habe ich einiges gelernt. Ihr habt mir einen grossen Dienst erwiesen.
Beste Grüsse
Orlandi

AW: Inhalt nicht geschützter Zellen löschen
05.04.2015 04:58:54
Dirk
Hallo Orlandi,
die letzte Variante von Franz gefällt mir persönlich am besten.
Zumal sie deine Variablen benutzt, was ich gar nicht umsetzen konnte.
Ich habe nur die Sicherheitsabfrage aus einem meiner Module in Franz's Variante reingebastelt, getestet und hier gepostet. So,dachte ich, kommst du erstmal weiter u. kannst das nächste Problem angehen.
Besonders gut u. hilfreich finde ich die Markierung der aktiven Zeile - werde ich auch bei mir einbauen - eine prima Idee.
Der Franz, der kann's - da gibt es nix zu meckern ! ;-)
Gruß
Dirk
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige