Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Einfaches Makro, das nicht funktioniert!
#1
Hi mal wieder.

Mit meinem Laienverständnis würde ich annehmen, dass der folgende Code (normales Modul) funktionieren müsste:

Code:
Sub Makro0600()
'
' Makro0600 Makro
'
' Tastenkombination: Strg+q
'
   If ActiveCell.Columns = 4 Or 6 Then
       Selection.FormulaR1C1 = "600"
   Else
       Selection.FormulaR1C1 = "600"
       Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
   End If

End Sub

Hab tagelang rumprobiert. Ich kriegs, auch auf verschiedene Weisen, nur hin, dass entweder der erste Fall funktioniert, oder der zweite! Es wird im unteren Teil des obigen Codes leider nur "600" eingetragen und nicht in die nächst untere Zelle selektiert. Eine Fehlermeldung gibt's nicht.

Gruß
Uwe
Antworten Top
#2
Hi,

probiere mal so: (GEÄNDERT!)

Code:
Sub Makro0600()
'
' Makro0600 Makro
'
' Tastenkombination: Strg+q
'
  If ActiveCell.Column = 4 Or ActiveCell.Column = 6 Then
      Selection.FormulaR1C1 = "600"
  Else
      Selection.FormulaR1C1 = "600"
      Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
  End If
End Sub

LG
Alexandra
Antworten Top
#3
I werd narrisch! Ich lasse im Mappen-Modul mit der Intersect-Methode nach Eingaben in Spalte D + F die nächste rechte Zelle selektieren. Dann würde ich vermuten, das wars dann. Aber leider springt Excel bei Ausführung deiner Version des Makros nach Eingaben in diese Spalten jetzt erst nach rechts und dann nach unten. Warum nur??
Antworten Top
#4
Hi,

das springt nur nach unten und zwar nur dann wenn ActiveCell in andere Spalten ist als 4 und 6.
Was soll den genau passieren?
Wenn du willst, dass nach rechts gegangen wird dann so:

Cells(ActiveCell.Row, ActiveCell.Column+1).Select
oder
Activecell.offset(0,1).select


LG
Alexandra
Antworten Top
#5
Wieso nicht einfach nur

Code:
Sub Makro0600()
'
' Makro0600 Makro
'
' Tastenkombination: Strg+q
'
With ActiveCell
    .Value = 600
    If .Column <> 4 And .Column <> 6 Then
        .Offset(1, 0).Select           'bzw. .Offset(0, 1) wenn nicht nach unten sondern nach rechts gesprungen werden soll
    End If
End With
End Sub

?
Schöne Grüße
Berni
Antworten Top
#6
Hey, cool, danke!!

Gruß
Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste