Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Per VBA: Wenn Zwei Bedingungen erfüllt, dann...

Per VBA: Wenn Zwei Bedingungen erfüllt, dann...
19.04.2004 23:00:15
Rainer
Hi,
ich möchte, wenn eine Zahl im Bereich C53:AC53 eingeben wird und in B53 noch keine Zahl steht, eine MsgBox erscheint.
For Each c In Worksheets("Montag").Range("C53:AC53")
If c <> "" And Cells("B53") = "" Then
MsgBox "Es wurde noch kein Preis für " & Cells("A53") & " eingegeben."
End If
Dieser Code bringt aber die Fehlermeldung
Laufzeitfehler 13: Typen unverträglich.
Was mach ich falsch?
Gruß Rainer

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per VBA: Wenn Zwei Bedingungen erfüllt, dann...
19.04.2004 23:19:37
K.Rola
Hallo,
Option Explicit

Sub leer()
Dim c As Range
If Worksheets("Montag").[B53] <> "" Then
For Each c In Worksheets("Montag").Range("C53:AC53")
If c = "" Then
MsgBox "Es wurde noch kein Preis in " & c.Address(0, 0) & " eingegeben."
Exit For
End If
Next
End If
End Sub

Gruß K.Rola
Beantwortet die Frage nicht
19.04.2004 23:25:54
Jörg Gradert
Hallo K.Rola,
die Frage war "Was mach ich falsch".
Gruss Jörg
Hallo Rainer,
Cells(Rowindex, Columnindex)
also statt Cells("A53") Cells(53,1) statt Cells("B53") Cells(53,2)
Gruss Jörg
AW: Beantwortet die Frage nicht
19.04.2004 23:31:56
K.Rola
Hallo,
das meinst du jetzt aber nicht ganz ernst, oder?
Wenn doch, dann überleg, was da noch so falsch ist, da ist es
einfacher, eine Alternative anzubieten.
Gruß K.Rola
Anzeige
AW: Beantwortet die Frage nicht
19.04.2004 23:36:58
Beni
Hallo Rainer,
füge diesen Code in das Tabellenmodul ein.
Gruss Beni

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("C53:AC53"), Target) Is Nothing Then
If Cells(53, 2) = "" Then
MsgBox "Es wurde noch kein Preis für " & Cells(53, 1) & " eingegeben."
End If
End If
End Sub

AW: Ich würde es aber so machen...
19.04.2004 23:43:11
FP
Hallo Beni,
... denn Rainer wird doch sicher nicht nur in Zeile 53 Artikeldaten eingeben wollen, oder ???
Ich glaube sein Aufbau sieht so aus:
A - Artikelbezeichnung
B - Preis
C bis AC diverse Artikeldaten

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Target
If .Column > 2 And .Column < 30 Then
If Cells(.Row, 2) = "" Then
MsgBox "Es wurde noch kein Preis für " & Cells(.Row, 1) & " eingegeben!"
Cells(.Row, 2).Select
End If
End If
End With
End Sub

Servus aus dem Salzkammergut
Franz
Anzeige
War als Hinweis für den Lernenden gedacht
19.04.2004 23:51:51
Jörg Gradert
Hallo K.Rola,
ich habe lediglich versucht mich in die Lage des Lernenden zu versetzen, der auch gern wissen will, warum sein Code einen Fehler auswirft.
Deine Alternative ist sicherlich gut, mir schien es nur zu schwer für Level VBA nein, zu erkennen, was die Ursache für die genannte Fehlermeldung war, das wollte ich herausstellen. War nicht böse gemeint, ich schätze deine Lösungen und lerne selbst daraus.
Gruss Jörg

AW: War als Hinweis für den Lernenden gedacht
20.04.2004 00:22:27
K.Rola
Hallo,
ja ok, so gesehen hast du natürlich Recht, nur, wie weit soll man da
gehen? Soll man übersehen, dass keine Variablen deklariert sind, oder
sind sie ja vielleicht deklariert, nur nicht mitgepostet? Oder wie
im konkreten Fall, soll man übersehen, dass er alle Zellen abfragt,
obwohl er schon bei der ersten leeren Zelle aussteigen müsste?
Gruß K.Rola
Anzeige
Danke für neue Lösung m. T.
20.04.2004 09:49:13
Rainer
Hallo K.Rola,
habe Deinen Code probiert. Haut hin, danke. Habe nur [B53] <> "" ändern müssen in [B53] = ""
Danke
Gruß Rainer
Danke an alle, m. T.
20.04.2004 09:55:31
Rainer
Hallo,
danke für die rasche Hilfe. Habe alle Lösungen probiert und an meine Bedürfnisse angepasst. Mit jeder Lösung komme ich zum Ziel. Habe viel dazu gelernt. Dafür möchte ich mich bedanken.
Gruß Rainer

24 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige