Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
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

Clear Content befehl

Clear Content befehl
Justin
Hallo Forum :-)
ThisWorkbook.Worksheets("Sheet1").Range("A5:DW3000").ClearContents
das ist mein Clear Button :-)
der schmeisst aber leider auch alle Lookups raus.. gibt es anstelle von .ClearContents ein anderen Befehl der die Werte löscht aber nicht die Formel tötet :-)

AW: Clear Content befehl
13.09.2012 15:12:11
selli
hallo justin,
verstehe ich das jetzt flasch, oder beisst sich da die katze in den schwanz?
du willt die ergebnisse der formel entfernen, nicht aber die formel. die wird doch aber wieder berechnet und schreibt das ergebnis wieder in die zellen, oder ?
entweder zelle leer oder formel mit ergebnis. eins geht doch nur.
gruß
selli

AW: Clear Content befehl
13.09.2012 15:24:22
Justin
Jap... die Katze macht unsinn..
Also mein eigentliches Problem was ich lösen will ist ich habe ca. 15 Spalten mit ca. 3000 Zeilen, die mit Verweise gefüllt sind.. Parallel dazu habe ich einen ImportData Macro geschrieben was dateien Reinkopiert, dann eine Schleife drüber geht und Trimmt und leere zeilen raushaut usw. Da die Verweise immer wieder Refreshen hau ich mir die ganze Zeit Excel Kaputt = White Screen überlastet....
Ich brauch irgendwie Zeitverzögerte Verweise, quasi datei wird importiert und bearbeitet und wenns fertig ist dann greifen die Verweise...
Konnt ich mich irgendwie richtig ausdrücken? Achja Clearcontent hatte ich an den Anfang gebaut damit alle Felder erst gelert werden und dann Importiert wird anders gab es Probleme... Nun habe ich ca 15*3000 Zellen die 5 mal Refreshen :-(

Anzeige
AW: Clear Content befehl
13.09.2012 15:29:51
hary
Hallo
Versuch mal mit Berechnung aus/einschalten.

Application.Calculation = xlManual
'hier dein Code
Application.Calculation = xlAutomatic

gruss hary

AW: Clear Content befehl
13.09.2012 15:45:35
Justin
Danke erstmal für die schnelle Antwort... ich brauch nur ein kleines Verständniss um das korrekt einzubauen..
Ich würde jetzt einfach so vorangehen:
Application.Calculation = xlManual , das baue ich ziemlich weit oben ein mit der Formel drunter
und dann wenn alles durch ist würd ich , Application.Calculation = xlAutomatic
oder hab ich jetz alles falsch aufgenommen :-)

Anzeige
AW: Clear Content befehl
13.09.2012 15:47:11
hary
Hallo Justin
Genau so. Schau dir mal Franz seinen Code an.
gruss hary

AW: Clear Content befehl
13.09.2012 15:37:27
fcs
Hallo Justin,
deaktiviere während des eintragens und bearbeitens der Daten die automatische Neuberechnung.
Alternativ könntest du die Formeln mit löschen und am Ende vom Makro neu erstellen lassen.
Gruß
Franz
Sub WerteLoeschen()
Dim Zellen As Range, StatusCalc As Long
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.EnableEventse = False
.ScreenUpdating = False
End With
On Error GoTo Fehler 'Wenn Blattname falsch oder keine Zellen mit Werten vorhanden
With ThisWorkbook.Worksheets("Sheet1")
Set Zellen = .Range("A5:DW3000").SpecialCells(xlCellTypeConstants)
If Not Zellen Is Nothing Then Zellen.ClearContents
End With
'usw.
Fehler:
With Application
.Calculation = StatusCalc
.EnableEventse = True
.ScreenUpdating = True
End With
End Sub

Anzeige
AW: Clear Content befehl
13.09.2012 15:37:55
fcs
Hallo Justin,
deaktiviere während des Eintragens und Bearbeitens der Daten die automatische Neuberechnung.
Alternativ könntest du die Formeln mit löschen und am Ende vom Makro neu erstellen lassen.
Gruß
Franz
Sub WerteLoeschen()
Dim Zellen As Range, StatusCalc As Long
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.EnableEventse = False
.ScreenUpdating = False
End With
On Error GoTo Fehler 'Wenn Blattname falsch oder keine Zellen mit Werten vorhanden
With ThisWorkbook.Worksheets("Sheet1")
Set Zellen = .Range("A5:DW3000").SpecialCells(xlCellTypeConstants)
If Not Zellen Is Nothing Then Zellen.ClearContents
End With
'usw.
Fehler:
With Application
.Calculation = StatusCalc
.EnableEventse = True
.ScreenUpdating = True
End With
End Sub

Anzeige
AW: Clear Content befehl
13.09.2012 15:49:02
Justin
Zitat: deaktiviere während des Eintragens und Bearbeitens der Daten die automatische Neuberechnung
Genau das ist das was ich suche ..
reicht es wenn ich
.ScreenUpdating = False und irgendwo am ende dann ScreenUpdating = True schreiben?

AW: Clear Content befehl
13.09.2012 16:49:09
fcs
Hallo Justin,
entscheidend ist hier
Application.Calculation zu Beginn auf manuell zu setzen und am Ende dann auf automatisch oder den vorherigen Stand (macht bei mir StatusCalc).
Die Bildschirmaktualisierung ist "nur" ein zweiter Aspekt der die Makroausführung beschleunigt, weil nicht nach jeder Änderung die das Makro verursacht eine Aktualisierung ausgeführt wird.
Wenn du unbedingt die Berechnung am ende nochmals aktualisieren willst, dann geht das mit
Application.Calculate
Die 3 von mir gesetztzten Eigenschaften sind die typischen Makro-Bremsen.
Das Setzen von EnableEvents verhindert das unerwünschte -manchmal in eine Endlosschleife führende- starten von Ereignismakros, während der Ausführung eines Makros.
Gruß
Franz

Anzeige
AW: Clear Content befehl
13.09.2012 15:29:22
fcs
Hallo Justin,
mit dem folgenden Makro werden nur die Inhalte Zellen mit Werten gelöscht.
Aber dann zeigend deien Lookup-Formeln ggf. einen Fehlerwert an.
Gruß
Franz
Sub WerteLoeschen()
'Inhalte in Zellen ohne Formel löschen
Dim Zellen As Range
On Error GoTo Fehler 'Wenn Blattname falsch oder keine Zellen mit Werten vorhanden
With ThisWorkbook.Worksheets("Sheet1")
Set Zellen = .Range("A5:DW3000").SpecialCells(xlCellTypeConstants)
If Not Zellen Is Nothing Then Zellen.ClearContents
End With
Fehler:
End Sub

AW: Clear Content befehl
13.09.2012 16:24:47
Justin
Bin noch am probieren also... ich hab noch die Verweise drinne die ich per Hand eingeklickt habe also kein Makro code...
Dann habe ich das eingefügt..
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Mein Code
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
Ich glaub ich bin noch extrem auf dem Holzweg :-)
Also so wie ich mir das gedacht habe sollte jetz die Neuberechnung gestoppt werden, mein Code läuft durch und dann wird halt neuberechnet quasi screen update true .. aber klappt nicht :-(

Anzeige
AW: Clear Content befehl
13.09.2012 17:24:33
Justin
Hallo nochmal,
jetz geht so einiges nichtmehr.. :-(
Also , so wie ich verstanden habe :
1. auf xlCalculationManual setzen
2. Code ausführen
3. wieder auf xlCalculationAutomatic
4. ScreenUpdating = true
Jetz ist mein Problem wie schreib ich das auf also wohin, habs folgendermaßen Probiert jedoch fliegen mir irgendwie die Verweise raus
With Application
.Calculation = xlCalculationManual
"dann mein Code"
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
funktioniert leider nicht .. ist ne fummel arbeit geworden ich weis das es bestimmt ne mini sache ist.. :-(

Anzeige
AW: Clear Content befehl
13.09.2012 23:57:27
fcs
Hallo Justin,
warum machst du es denn nicht so wie von mir in meinem Beispiel dargestellt/vorgeschlagen? Das hat sich 1000-fach bewährt!!!
https://www.herber.de/forum/messages/1278504.html
.... habs folgendermaßen Probiert jedoch fliegen mir irgendwie die Verweise raus
Was sind bei dir Verweise? Formeln?
Dann prüfe die Zellbereiche, deren Inhalte du löscht.
mit
ThisWorkbook.Worksheets("Sheet1").Range("A5:DW3000").ClearContents

verschwinden -wie du ja schon festgestellt hast - alle Inhalte in desem Zellbereich im Excel-Nirwana. An dieser Stelle muss du ansetzen und die Lösung hierfür (wenn Formeln nicht gelöscht werden sollen) hab ich dir in meiner Antwort auch schon gepostet.
Gruß
Franz

Anzeige
AW: Clear Content befehl
17.09.2012 09:50:47
Justin
Sry das ich mich falsch ausgedrückt habe bzw. dir das Gefühl gegeben hab, das ich deine Idee nicht umsetze ...
Also ich habe vergessen zu erwähnen das ich mein Code in eine größere Excell Tabelle integriert habe...Sprich: Ab Q5 beginnt mein Import usw. von A bis O stehen die Verweise die sich von Q bis U bedienen sollen

Private Sub CommandButton1_Click()
'relevante Spalten aus Quelldatei: DacsUser,MaxCount,Type,Global_Name,Description
'1. TABELLE WIRD GELEERT
ThisWorkbook.Worksheets("Sheet1").Range("Q5:DW3000").ClearContents      

Ich finde den Fehler nicht warum manuell gesetzte Verweise z.B in der Zelle A5 rausfliegen nachdem ich Importiert habe... das mit dem xlcalculate habe ich jetz ma rausgenommen das setz ich später genau wie du gesagt hast rein ;-(

Anzeige
AW: Clear Content befehl
17.09.2012 12:13:29
Justin
Für Alle die das irgendwann lesen,
hab die Verweise mittels Code reinsetzen lassen am ende meines Sub´s ..
und alles ist wieder gut.. :-) Danke nochmals für eure Geduld und Hilfe

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige