Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
812to816
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
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA: Fehlermeldung, bevor Zelle überschrieben wird

VBA: Fehlermeldung, bevor Zelle überschrieben wird
25.10.2006 21:48:13
Matthias
Hi,
ich brauche mal etwas Hilfe: in der angehängten Datei werden Nummern aus Spalte A per Makro in Spalte B kopiert. Nun möchte ich eine Art Sicherheitsmechanismus einbauen, und zwar soll in Spalte C eine Fehlermeldung ausgegeben werden, wenn sich in Spalte B vor dem Auslösen des Makros bereits Werte befinden. In diesem Fall sollen die Nummern nicht(!) kopiert werden und halt in Spalte C z.B. eine Meldung "Zelle nicht leer!" geschrieben werden.
Das ganze müsste in VBA umgesetzt werden, da ich die Funktion in ein schon bestehendes Makro einfügen möchte.
https://www.herber.de/bbs/user/37661.xls
Vielen Dank schon mal!
Matthias

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Fehlermeldung, bevor Zelle überschrieben wird
25.10.2006 22:40:14
Mischa
hi,
naja du musst halt in vor dem schreiben jede zelle prüfen, ob sie leer ist!
ich habe mir deine xl-mappe angesehen, versuchs mal mit einer schleife:
alle zellen in der spalte a nach unten durchgehen, bis eine zelle leer ist
wenn die zelle in spalte A zeilennummer x einen wert enthält,
wenn die zelle in spalte B zeilennummer x einen text enthält
dann in spalte C zeilennummer x einen fehlercode eintragen
sonst in spalte B zeilennummer x den Wert aus spalte A zn X eintragen
endif
endif
naja, das musste jetzt nur noch in VBA uebersetzen!
mischa
www.xltreffen2006.de.vu
Anzeige
AW: VBA: Fehlermeldung, bevor Zelle überschrieben
25.10.2006 22:47:40
fcs
Hallo Mathias,
z.Beispiel so
Gruss
Franz

Sub Makro1()
Dim wks As Worksheet, Zeile As Long, ZeileA1 As Long, ZeileAL As Long
Set wks = Worksheets("Tabelle1")
ZeileA1 = 2 '1. Zeile in Spalte A, die kopiert werden soll
ZeileAL = wks.Cells(wks.Rows.Count, "A").End(xlUp).Row 'letzte Zeile in Spalte A
For Zeile = ZeileA1 To ZeileAL
If IsEmpty(wks.Cells(Zeile, "B")) Then
wks.Cells(Zeile, "B") = wks.Cells(Zeile, "A")
Else
wks.Cells(Zeile, "C") = "Zelle nicht leer"
End If
Next Zeile
End Sub

AW: VBA: Fehlermeldung, bevor Zelle überschrieben wird
25.10.2006 23:50:18
Daniel
Hallo
wie genau brauchst du denn die Fehlermeldung? willst du genau wissen, welche Zelle nicht leer ist, oder reicht dir der Hinweis, das irgendeine von den vielen Zellen eben nicht leer ist.
Wenn dir das reicht, könntest du auch ohne VBA in Spalte C einen Warnhinweis ausgeben, das in B noch Daten vorhanden sind (allerdings verhindert das nicht das versehtliche Starten des Makros, eben LOW-TECH - HIGH-BRAIN). Dazu die Formel: in C2
=wenn(anzahl2(B2:B12)=0;"Felder leer";"Achtung, Daten vorhanden")
Falls du das Makro noch absichern willst, geht mit der gleichen Funktion in VBA und einer IF-Abfrage mit diesem Code:

Sub Makro1()
Range("A2:A12").Select
If WorksheetFunction.CountA(Selection.Offset(1, 0)) > 0 Then
MsgBox ("Es befinden sich noch Daten in Spalte B" & Chr(10) & "Der Kopiervorgang wird abgebrochen")
Else
Selection.Copy
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
End If
End Sub

Anzeige
AW: VBA: Fehlermeldung, bevor Zelle überschrieben wird
26.10.2006 08:32:22
Matthias
Hi,
danke schon mal für die Antworten. Die Fehlermeldung soll zeilenweise erscheinen, d.h. die Fehlermeldung in Spalte C soll sich immer auf die Zelle in Spalte B in derselben Zeile beziehen.
Gruß
Matthias
AW: VBA: Fehlermeldung, bevor Zelle überschrieben wird
26.10.2006 13:00:24
Daniel
Hallo
sollen dann wenigstens die leeren Zellen in B überschrieben werden oder soll dann nichts kopiert werden.
Welche Zellen in B befüllt sind, siehst du doch aus so direkt, oder du setzt den Autofilter und filterst nach den leeren Zellen.
oder du schreibst in C die Formel:
=wenn(B2="","","Achtung, Zelle befüllt")
Das hat dann den gleichen effekt
Gruß, Daniel
Anzeige
AW: VBA: Fehlermeldung, bevor Zelle überschrieben wird
26.10.2006 18:21:01
Matthias
Hi,
ja, die leeren Zellen in Spalte B sollen überschrieben werden. Die nicht-leeren Zellen sollen nicht überschrieben werden, wobei in Spalte C in der betreffenden Zeile dann die Fehlermeldung "Zelle nicht leer" ausgegeben werden soll.
Wie schon gesagt, das Ganze soll in ein bestehendes Makro eingebunden werden und muss somit in VBA passieren. Formeln oder Filter möchte ich daher vermeiden.
Gruß und Dank
Matthias
dann hat FCS die Frage ja schon beantwortet owt
27.10.2006 00:29:05
Daniel
AW: dann hat FCS die Frage ja schon beantwortet owt
27.10.2006 20:00:15
Matthias
Hi,
ja habe ich auch bemerkt :-) Danke und schönes WE
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige