Anzeige
Archiv - Navigation
1624to1628
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

clearcontents Problem

clearcontents Problem
23.05.2018 17:06:51
Torsten
Hallo Gemeinde,
Ich mal wieder mit einem Problemchen, was ich nicht auf die Reihe bekomme.
Habe ein Workbook, das von anderen Workbooks mit Daten gefuettert wird. Soweit so gut. Dann wird ueber Code das Sheet an einen Emai Empfaenger gesendet und als Kopie in einem anderen Workbook gespeichert. Immernoch gut. Um das Sheet aber fuer den naechsten Tag wieder sauber zu haben, habe ich am Ende den Code, um die befuellten Zellen zu bereinigen. Siehe Code
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Workbooks.Open Filename:="\\murplfp01\Workgroups\MUS GBC Operations\Team\NA CAN\Canada -  _
Quotations\CA_QU Productivity sheet\CA_QU Productivity sheet Month\Closing Summary_CA_Quotation_May2018.xlsm", ReadOnly:=False, WriteResPassword:="?", IgnoreReadOnlyRecommended:=True
Call transfer_to_month_sheet
Workbooks("Closing Summary_CA_Quotation_May2018.xlsm").Close savechanges:=True
ThisWorkbook.Activate
Sheets("Summary").Activate
Call Send_sheet_via_Outlook
Call create_daily_sheet
Application.ScreenUpdating = True
ThisWorkbook.Sheets("Summary").Range("B5:B8").ClearContents
ThisWorkbook.Sheets("Summary").Range("B12:B20").ClearContents
ThisWorkbook.Sheets("Summary").Range("C12:C20").ClearContents
ThisWorkbook.Sheets("Summary").Range("E12:E20").ClearContents
ThisWorkbook.Sheets("Summary").Range("F12:F20").ClearContents
ThisWorkbook.Close savechanges = True 'Save and close this workbook
End Sub
Ich komme leider nicht dahinter, warum die Zellen nicht bereinigt werden. Wenn ich die Datei wieder oeffne, nachdem der Code gelaufen ist, sind die Daten immer noch in den Zellen.
Bitte helft mir. Wenn noetig, kann ich auch die Datei hochladen.
Vielen Dank im Voraus

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: clearcontents Problem
23.05.2018 17:15:41
onur
In welcher Datei steht denn der Code?
AW: clearcontents Problem
23.05.2018 17:23:07
Torsten
In der Datei, in der die Daten stehen.
Kannst du sehen im Code: ThisWorkbook....
AW: clearcontents Problem
23.05.2018 17:39:59
Dieter(Drummer)
Hallo Torsten,
den Codeteil kannst du auch noch kürzen.
Alte Codeteil:

ThisWorkbook.Sheets("Summary").Range("B5:B8").ClearContents
ThisWorkbook.Sheets("Summary").Range("B12:B20").ClearContents
ThisWorkbook.Sheets("Summary").Range("C12:C20").ClearContents
ThisWorkbook.Sheets("Summary").Range("E12:E20").ClearContents
ThisWorkbook.Sheets("Summary").Range("F12:F20").ClearContents

Neuer Codeteil:
ThisWorkbook.Sheets("Summary").Range("B5:B8,B12:B20,C12:C20,E12:E20,F12:F20").ClearContents

Gruß, Dieter(Drummer)
Anzeige
AW: noch weiter gekürzt:
24.05.2018 01:12:02
Daniel
ThisWorkbook.Sheets("Summary").Range("B5:B8,B12:C20,E12:F20").ClearContents
Gruß Daniel
AW: noch weiter gekürzt:
24.05.2018 08:37:06
Dieter(Drummer)
Danke Daniel,
ist ja logisch ... man lernt nie aus ...
Gruß, Dieter(Drummer)
PS Wenn du auf irgendwelche Fragen Rückantworten gibst, dann sind deine Antworten, meist mit einer jeweils ausführlichen Erklärung, einfach prima.
AW: clearcontents Problem
23.05.2018 17:32:27
Daniel
Hi
du hast einen kleinen und einen großen Fehler gemacht:
der kleine Fehler ist: du hast den Doppelpunkt vergessen.
bei der Verwendung von Benannten Parametern trennt man Parameterbenennung und Wert immer mit :=
ThisWorkbook.Close savechanges:= True
Da du keinen Doppelpunkt verwendest, denkt VBA dass du die Paramteter ohne Benennung in der richtigen Reihenfolge angibst.
Daher hält es savechanges für eine normale Variable und geht davon aus, dass du den Wertevergleich (savechanges = true) als ersten Parameter übergeben willst.
Das Ergebnis dieses Vergleichs ist aber false, da saveschanges leer ist und somit wird FALSE als erste Parameter übergeben.
dein großer Fehler ist, dass du nicht mit Option Explicit arbeitest.
Würdest du dass tun, hätte VBA erkannt, dass die savechanges nicht als Variable definiert wurde und somit unbekannt ist. Das Makro würde gar nicht starten, sondern dich direkt auf diesen Fehler hinweisen, so dass du ihn wahrscheinlich selbst erkannt und sofort korrigiert hättest.
Gruß Daniel
Anzeige
AW: clearcontents Problem
24.05.2018 10:14:20
Torsten
Hallo Daniel,
vielen Dank dafuer. Ich verwende den Doppelpunkt normalerweise. Wie du auch weiter oben im code sehen kannst. Keine Ahnung, warum ichs hier vergessen habe.
Das "Option Explicit" habe ich bisher nie verwendet.
Muss das immer vor den gesamten Code?
AW: Option Explicit
24.05.2018 11:44:15
Dieter(Drummer)
Hallo Torsten,
Option Excplicit
gehört jeweils an oberster Stelle in/unter:
DieseArbeitsmappe
Tabelle1 etc
und jedes Modul.
So bekommst du immer einen Hinweis, wenn om Code etwas falsch ist.
Gruß, Dieter(Drummer)
AW: Option Explicit
24.05.2018 13:06:34
Torsten
Vielen Dank Dieter
AW: Gerne und Danke für Rückmeldung. Gruß o.w.T.
24.05.2018 13:11:23
Dieter(Drummer)
AW: Option Explicit
24.05.2018 13:52:15
Daniel
Hi
Option Explicit sorgt dafür, dass du im Code nur Variablen verwenden kannst, die zuvor mit DIM als solche Deklariert wurden.
Ohne Option Explicit sparst du dir zwar die Deklaration, aber es hat zur Folge, dass du dir neue Variablen anlegen kannst, ohne dass du dir dessen bewusst bist (z.B. bei Tippfehlern), was in der Regel zur Folge hat, dass die Markos zwar fehlerfrei durchlaufen, aber trotzdem falsche Ergebnisse produzieren, ohne dass du einen Hinweis erhälst wo der Fehler liegen könnte.
mit Option Explicit startet so ein Makro erst gar nicht.
am besten lässt du dir es automatisch einfügen, dann ist es bei jeder neuen Datei automatisch bei jedem Modul eingefügt (wenn du es mal nicht haben willst, kannst du es einfach rauslöschen).
Extras - Optionen - Editor - Haken bei: Variablendeklaration erforderlich
Gruß Daniel
Anzeige
AW: Option Explicit
24.05.2018 13:57:05
Torsten
Danke Daniel fuer die ausfuehrliche Erklaerung.
Werde ich in Zukunft so machen.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige