Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Werte löschen mit Command Button
04.03.2009 17:53:38
Thomas
Hi Profis,
trotz Google Recherche komm ich nicht so richtig weiter. Mist.
Mein Problem besteht darin, das ich hier einen Code aus diesem Forum nach Anpassung an meine Bedürfnisse benutze, welcher Leere Zellen mit einer Ziffer ausfüllt. Klappt soweit sehr gut.
Nun aber macht dieser Code erst dann Sinn wenn in einigen Zellen Buchstaben in der Art wie "TU" oder "K" usw. stehen. Diese werden dann so wie gewollt nicht mit der Ausfüllfunktion überschrieben.
Wie könnte ich nun diese Sytax so umbasteln das dieser Ausfüllvorgang mit einem extra Knopf wieder rückgängig gemacht werden kann ohne das dabei die alten Einträge (Buchstaben) mit gelöscht werden.
Ausfüllsyntax :

Private Sub ok_Click()
Application.ScreenUpdating = False
Dim a As Byte
Dim b As Boolean
Dim Lcol As Integer
Dim Lrow As Integer
Dim lrowb As Integer
Dim i As Integer
a = Range("G12") 'steht die Zahl drin welche nach unten in die leeren Zellen geschrieben werden  _
soll.
b = Januar.Value 'ist ein Checkbox in einer UserForm welche auch fürs löschen genutzt werden  _
soll
ActiveSheet.Unprotect ("XYZ")
If b = False Then Cells(7, 1).Select: End
If b = True Then
Range("G12:G43").Select
Lcol = Selection.Column
Lrow = Selection.Row
lrowb = Lrow + Selection.Rows.Count - 2 'Wofür steht die Zahl "2" hinter "Rows.Count"
For i = Lrow To lrowb
If Cells(i + 1, Lcol) = "" Then
Cells(i + 1, Lcol) = Cells(12, 7)
End If
Next i
Cells(7, 1).Select
End If
ActiveSheet.Protect ("XYZ")
Application.ScreenUpdating = True
Unload Me
End Sub


Wie einige bestimmt erkennen dreht es sich um einen Kalender. Es kommen dann also noch elf weitere dazu. Aber ich muss erst mal einen hinbekommen.
Bin für jeden Tip evl. mit Erklärung warum so sehr sehr Dankbar.
Gruss Thomas

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Application.Undo o.w.T.
04.03.2009 19:37:19
Ramses
...
AW: Application.Undo o.w.T.
04.03.2009 19:46:02
Thomas
Hi Ramses,
wofür steht o.w.T. (ohne worte Thomas?) ;-)
Wenn die gemachten Ausfüllaktionen erst nach zwei oder mehr Tagen rückgängig gemacht werden sollen, wird das mit dem "Application.Undo" bestimmt nicht mehr funktioniern. oder?
Gruss Thomas
AW: Application.Undo o.w.T.
04.03.2009 21:58:19
Ramses
Hallo
o.w.T steht für "ohne weiteren Text"
"...erst nach zwei oder mehr Tagen rückgängig gemacht werden sollen, ..."
Bin ich Hellseher,... aus deinem Beitrag kann das niemand ersehen.
Das geht nur, wenn du dir eine Protokollierung aller Makroaktionen erstellst.
Das ist aber eine Auftragsprogrammierung gegen Honorar, weil extrem aufwändig,... und sicher nichts für eine Lösung hier im Forum
Gruss Rainer
Anzeige
AW: Application.Undo o.w.T.
05.03.2009 08:39:30
Thomas
Hi Ramses,
ich habe einfach
If Cells(i + 1, Lcol) = "" Then
Cells(i + 1, Lcol) = Cells(12, 7)
durch:
If Cells(i + 1, Lcol) = a Then
Cells(i + 1, Lcol) = Cells(6, 4)
ersetzt bzw. angepasst. Nun wird wenn Das Range Object = G12 ist, diese mit den Inhalt einer Leerzelle ausgefüllt. Funktioniert super. (bis jetzt jedenfalls)
trotzdem Danke. Ich musste einfach nur umdenken und das Suchkreterium ändern. Wegen meiner *schmunzel* (o.w.T) Version.
Gruss Thomas
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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