Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
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
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro verhindern wenn Zelle nicht leer

Makro verhindern wenn Zelle nicht leer
22.03.2005 13:30:06
Thomas
Hallo,
ich hatte zwar die frage schon mal...komme aber irgendwie nicht klar.
Ich habe in Zellen (zB A1 bis A7) Werte stehen, wobei A1 für Montag, A2 für Dienstag usw steht.
Unter dieser Tabelle hab ich eine große nach Monaten. Wenn ich nun ein Makro ablaufen lasse, trägt er für jeden Monat einzeln die Werte aus der obigen Tabelle in den entsprechenden Tag im unteren Teil ein. Ich hab das einfach aufgezeichnet, das wird dann per Tastenkombination im jeweiligen Tabellenblatt ausgeführt.
Nun kommt es aber öfters vor das in der unteren Tabelle an einigen Tagen Kürzel reingeschrieben werden sollen, die dann nach Möglichkeit nicht überschrieben werden sollen.
Mein Makro macht ja nur den Wert aus A1-7 in die Zellen schreiben. Kann ich das irgendwie problemlos so regeln das wenn entsprechende Zelle nicht leer, das er dann die Eintragung nicht vornehmen soll?
Danke wieder mal im Voraus.
MfG aus Berlin
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro verhindern wenn Zelle nicht leer
22.03.2005 13:48:08
Peter W
Servus,
z.B. so:
if sheets("Tabelle1").range("a1") = 0 then
'dein Makro
end if
'usw..
MfG
Peter
AW: Makro verhindern wenn Zelle nicht leer
22.03.2005 14:22:18
Thomas
Wenn ich das mit meinen Kenntnissen so richtig sehe, bezieht sich die Erweiterung darauf wenn eine Zelle im Bereich A1-A7 nicht leer ist. Diese Zellen sind nie leer da sie ja die Daten zum eintragen beinhalten. Lediglich die Zellen im unteren Bereich sin uU nicht leer...
Ferner scheint es sich auf das Tabellenblatt 1 zu beziehen. Ich habe allerdings so an die 300 verschiedene...gibt es dafür eine Formel in der alle angesprochen werden?
Zum besseren Verständnis hab ich mal ein Bsp. hochgeladen.

Die Datei https://www.herber.de/bbs/user/19997.xls wurde aus Datenschutzgründen gelöscht

Hier verwende ich für Januar folgendes Makro. PS. die Werte stimmen jetzt nicht, da ich nur einen Ausschnitt hochgeladen habe. Im Prinzip müsste dadurch die Funktion jedoch klar sein...

Sub Sollstunden_Januar()
' Sollstunden_Januar Makro
' Makro am 20.12.2004 von TRitter aufgezeichnet
' Tastenkombination: Strg+q
Range("D21") = Range("C16").Value
Range("E21") = Range("E16").Value
Range("F21") = Range("G16").Value
Range("G21") = Range("I16").Value
Range("H21") = Range("K16").Value
Range("I21") = Range("M16").Value
Range("K21") = Range("C16").Value
Range("L21") = Range("E16").Value
Range("M21") = Range("G16").Value
Range("N21") = Range("I16").Value
Range("O21") = Range("K16").Value
Range("P21") = Range("M16").Value
Range("R21") = Range("C16").Value
Range("S21") = Range("E16").Value
Range("T21") = Range("G16").Value
Range("U21") = Range("I16").Value
Range("V21") = Range("K16").Value
Range("W21") = Range("M16").Value
Range("Y21") = Range("C16").Value
Range("Z21") = Range("E16").Value
Range("AA21") = Range("G16").Value
Range("AB21") = Range("I16").Value
Range("AC21") = Range("K16").Value
Range("AD21") = Range("M16").Value
Range("AF21") = Range("C16").Value
End Sub

Letzendlich möchte ich nun das im Zielbereich der Zeile 21 wenn die jeweilige Zelle nicht leer ist, die Eintragung aus dem Makro nicht durchgeführt wird. Schön wäre dan ein kleines Popup mit dem Hinweis "Achtung Besonderheiten"...
Eventuell hat ja jemand noch eine komfortablere Lösung für mich?
MfG aus Berlin
Thomas
Anzeige
AW: Makro verhindern wenn Zelle nicht leer
22.03.2005 16:58:28
Martin Beck
Hallo Thomas,
für Dein Beispiel in dem Posting versuche es mal so:

Sub Sollstunden_Januar_alternativ()
Application.ScreenUpdating = False
j = 3
For i = 4 To 27
If IsEmpty(Cells(21, i)) Then
Cells(21, i) = Cells(16, j)
End If
If j < 13 Then
j = j + 2
Else
MsgBox "Achtung Besonderheiten"
j = 3
End If
Next i
Application.ScreenUpdating = True
End Sub

Gruß
Martin Beck
AW: Makro verhindern wenn Zelle nicht leer
22.03.2005 17:28:58
Thomas
Hallo Martin,
das funktioniert leider irgendwie nicht. Wenn der Sonntag leer ist in den Quelldaten, schreibt Excel den Montag in den Sonntag usw...
Das mit dem nicht überschreiben funktioniert, jedoch bringt er mir jedesmal 4 mal das Popup "Besonderheiten" obwohl die Ziel-Zellen alle leer sind.
Die Quell-Zellen sind also nicht immer voll! Kann man mein Anfänger-Makro nicht so abändern das er die Eintragungen nur vornimmt wenn die Ziel-Zellen leer sind?
MfG aus Berlin
Thomas
Anzeige
AW: Makro verhindern wenn Zelle nicht leer
24.03.2005 12:26:06
Martin Beck
Hallo Thomas,
Deine Problembeschreibung verwirrt mich. Was ist denn jetzt möglicherweise leer, die Quell- oder die Zielzelle?
Versuch für Dein Beispiel noch mal diesen Code:

Sub Sollstunden_Januar_alternativ()
Application.ScreenUpdating = False
j = 3
For i = 4 To 32
If IsEmpty(Cells(21, i)) Then
Cells(21, i) = Cells(16, j)
Else
MsgBox "Achtung: Besonderheiten in Zelle " & Cells(21, i).Address(0, 0)
End If
If j < 15 Then
j = j + 2
Else
j = 3
End If
Next i
Application.ScreenUpdating = True
End Sub

Ich habe den Code in Deine Beispieldatei implementiert und die Datei hochgeladen:
https://www.herber.de/bbs/user/20122.xls
Gruß
Martin Beck
Anzeige

342 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige