autom. Makroeintrag bei nicht leeren Zellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: autom. Makroeintrag bei nicht leeren Zellen von: Thomas
Geschrieben am: 04.03.2005 13:38:58

Hallo,

ich hab mit Hilfe des Makrorecorders ein Makro aufgenommen das automatisch Werte in bestimmte Zellen einträgt.

Sub Sollstunden_Januar()
'
' Sollstunden_Januar Makro
' Makro am 20.12.2004 von TRitter aufgezeichnet
'
' Tastenkombination: Strg+q
'
    Range("D47") = Range("C16").Value
    Range("E47") = Range("E16").Value
    Range("F47") = Range("G16").Value
    Range("G47") = Range("I16").Value
    Range("H47") = Range("K16").Value
    Range("I47") = Range("M16").Value
    Range("K47") = Range("C16").Value
    Range("L47") = Range("E16").Value
    Range("M47") = Range("G16").Value
    Range("N47") = Range("I16").Value
    Range("O47") = Range("K16").Value
    Range("P47") = Range("M16").Value
    Range("R47") = Range("C16").Value
    Range("S47") = Range("E16").Value
    Range("T47") = Range("G16").Value
    Range("U47") = Range("I16").Value
    Range("V47") = Range("K16").Value
    Range("W47") = Range("M16").Value
    Range("Y47") = Range("C16").Value
    Range("Z47") = Range("E16").Value
    Range("AA47") = Range("G16").Value
    Range("AB47") = Range("I16").Value
    Range("AC47") = Range("K16").Value
    Range("AD47") = Range("M16").Value
    Range("AF47") = Range("C16").Value
End Sub


Kann ich nun das so einrichten das wenn in der Zelle ein Wert oder aber auch ein Wort, also irgendwas steht, er nichts einträgt und mir stattdessen ein Popup-Fenster bringt, in dem er den Hinweis bringt das eine Zelle nicht leer war? Die genaue Zelle brauch ich nicht, das ist überschaubar...

Eine andere Frage wäre noch das ich mir eine Tastenkombination einrichten könnte mit der ich automatisch in der Zelle A1 lande?

Danke wieder mal im Voraus...

MfG aus Berlin

Thomas
Bild


Betrifft: AW: zu 2.) von: WernerB.
Geschrieben am: 04.03.2005 15:05:48

Hallo Thomas,

die Tastenkombination gibt es schon:
Strg+Pos1


Viel Erfolg wünscht
WernerB.

P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !


Bild


Betrifft: AW: autom. Makroeintrag bei nicht leeren Zellen von: Serge
Geschrieben am: 04.03.2005 15:10:05

Hallo Thomas versuch es mal so:

Application.Goto Reference:="R1C1"
If ActiveCell.Value = 0 Then
MsgBox "Zelle " & ActiveCell.Address(0, 0) & " ist leer"
Else
Application.Goto Reference:="R2C1"

Wenn A1 leer dann Meldung sonst A2
Serge


Bild


Betrifft: AW: autom. Makroeintrag bei nicht leeren Zellen von: Thomas
Geschrieben am: 04.03.2005 15:20:00

Danke für die Tastenkombination...

Zu der Sache mit den nichtleeren Zellen:

Excel sollte mir ja im Bereich D47 - AF47 die Werte aus den Zellen C16 - M16 eintragen (am geposteten Beispiel).
Nun hätte ich gern das wenn eine Zelle im Bereich D47 - AF47 nicht leer ist, Excel ein MsgBox aufklappt das eine Zelle im Zielbereich nicht leer ist. Diese nichtleere Zelle soll Excel dann nicht laut Makro beschreiben, sondern mit dem bereits vorhandenen Inhalt einfach so lassen. Die anderen leeren Zellen sollte jedoch laut Makro ausgefüllt werden.

Geht das?

MfG aus Berlin

Thomas


Bild


Betrifft: AW: autom. Makroeintrag bei nicht leeren Zellen von: WernerB.
Geschrieben am: 05.03.2005 15:51:59

Hallo Thomas,

wie gefällt Dir das?
Sub Sollstunden_Januar()
'
' Sollstunden_Januar Makro
' Makro am 20.12.2004 von TRitter aufgezeichnet
'
' Tastenkombination: Strg+q
'
Dim i As Byte, j As Byte, _
    b As Boolean
    Application.ScreenUpdating = False
    j = 1
    For i = 4 To 9
      j = j + 2
      If Cells(47, i).Value = "" Then
        Cells(47, i).Value = Cells(16, j).Value
      Else
        b = True
      End If
    Next i
    j = 1
    For i = 11 To 16
      j = j + 2
      If Cells(47, i).Value = "" Then
        Cells(47, i).Value = Cells(16, j).Value
      Else
        b = True
      End If
    Next i
    j = 1
    For i = 18 To 23
      j = j + 2
      If Cells(47, i).Value = "" Then
        Cells(47, i).Value = Cells(16, j).Value
      Else
        b = True
      End If
    Next i
    j = 1
    For i = 25 To 30
      j = j + 2
      If Cells(47, i).Value = "" Then
        Cells(47, i).Value = Cells(16, j).Value
      Else
        b = True
      End If
    Next i
    If Range("AF47").Value = "" Then
      Range("AF47").Value = Range("C16").Value
    Else
      b = True
    End If
    Application.ScreenUpdating = True
    If b = True Then
      MsgBox "Mindestens eine Zelle war nicht leer !", vbInformation, _
        "Dezenter Hinweis für " & Application.UserName & ":"
    End If
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !


 Bild

Beiträge aus den Excel-Beispielen zum Thema "autom. Makroeintrag bei nicht leeren Zellen"