Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excelformel in VBA umsetzen

Forumthread: Excelformel in VBA umsetzen

Excelformel in VBA umsetzen
26.07.2008 15:05:40
lasmik
hallo
ich habe folg. vba macro:

Sub Daten_loeschen()
ActiveSheet.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:="c:\meine_Dateien\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close
ActiveSheet.Unprotect
Range("B10:n40").Select
Selection.ClearContents
Range("n3").Select
Selection.ClearContents
Range("B10").Select
ActiveSheet.Protect
End Sub


jetzt soll aber das macro nur ausgeführt werden wenn folg bedingung erfüllt ist:
bedingung: im bereich p10 bis p40 darf es keine leeren zellen geben
wenn es leere zellen in diesem bereich gibt soll eine messagebox darauf hinweisen ( box-text: tabelle nicht kpl. ausgefüllt)
wie kann man das realisieren?
vielen dank schon mal

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excelformel in VBA umsetzen
26.07.2008 15:15:00
ransi
HAllo
Völlig ungetestet:
Versuchs mal...

Sub Daten_loeschen()
dim zelle as range
for each zelle in range("p10:p40")
if zelle="" then
msgbox "tabelle nicht kpl. ausgefüllt"
exit sub
end if
next
ActiveSheet.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:="c:\meine_Dateien\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close
ActiveSheet.Unprotect
Range("B10:n40").Select
Selection.ClearContents
Range("n3").Select
Selection.ClearContents
Range("B10").Select
ActiveSheet.Protect
End Sub


ransi

Anzeige
AW: Excelformel in VBA umsetzen
26.07.2008 15:16:00
mpb
Hallo,

Sub Daten_loeschen()
If Application.WorksheetFunction.CountBlank(Range("P10:P40")) = 0 Then
ActiveSheet.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="c:\meine_Dateien\" & ActiveSheet.Name & ".xls"
ActiveWorkbook.Close
ActiveSheet.Unprotect
Range("B10:N40").ClearContents
Range("N3").ClearContents
Range("B10").Select
ActiveSheet.Protect
Else
MsgBox "nicht komplett gefült"
End If
End Sub


Gruß
Martin

Anzeige
AW: Excelformel in VBA umsetzen
26.07.2008 15:18:16
Tino
Hallo,
so müsste es Funktionieren

If [=COUNTBLANK(P10:P40)] > 0 Then
MsgBox "Leere Zellen im Bereich!"
Exit Sub
End If
'Dein Code


Gruß Tino

AW: Excelformel in VBA umsetzen
26.07.2008 15:29:14
mumpel
Hallo!
Verzichte möglichst auf Select und Activate. Ein bisschen feiner sieht es so aus:
Sub Daten_loeschen()
Dim zelle As Range
For Each zelle In Range("p10:p40")
If zelle = "" Then
MsgBox "tabelle nicht kpl. ausgefüllt"
Exit Sub
End If
Next
ActiveSheet.Copy
Application.DisplayAlerts = False
With ActiveWorkbook
.SaveAs Filename:="c:\meine_Dateien\" & ActiveSheet.Name & ".xls"
.Close
End With
With ActiveSheet
.Unprotect
.Range("B10:N40,N3").ClearContents
.Range("B10").Select
.Protect
End With
Application.DisplayAlerts = True
End Sub

Code eingefügt mit VBA in HTML 1.2 ( Hilfe zum Programm)size>
Gruß, René

Anzeige
AW: Excelformel in VBA umsetzen
26.07.2008 18:00:26
lasmik
hallo
folg. fehler wird hier angezeigt:
laufzeitfehler 1004
kann teil einer verbundenen zelle nicht ändern
woher kommt das? evt. von n3? das ist eine verb. zelle.
danke lasmik

AW: Excelformel in VBA umsetzen
26.07.2008 18:27:34
mumpel
In diesem Fall musst Du auch den korrekten Zellbezug angeben, z.B: N3:N4 (Wenn N3 und N4 verbunden sind). Die korrekte Zeile lautet in diesem Fall: .Range("B10:N40,N3:N4").ClearContentscolor>

Anzeige
Vielen Dank an alle
28.07.2008 20:05:00
lasmik
hallo
vielen dank an euch alle. habt mir sehr geholfen.
bis wahrscheinlich bald. :-)
mfg lasmik
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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