Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
996to1000
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

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

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

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

Anzeige
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>

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

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige