Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Makro ausführen ab Cursorposition, nicht fixer Zelle?

1,129 views
Skip to first unread message

Katharina Weber

unread,
Jan 29, 2007, 8:04:06 AM1/29/07
to
Hallo

Ich habe folgendes Problem:

Per aufgezeichnetem Makro lasse ich mir wiederkehrende Einträge
in Zellen *derselben* Zeile eintragen.

Das Problem ist, daß ja beim erstmaligen Aufzeichnen des Makros
immer die erste angeklickte Zelle "verewigt" ist, in meinem Fall D25.

Das Makro beginnt ja mit: Range("D25").Select

Ich hätte nun gerne, daß das Makro stattdessen ab einer von mir
*selektierten* Cursorposition "tätig" wird, indem ich zum Beispiel D40
selektiere und das Makro dann die automatischen Ausfüllaktionen ab
dort (D40) "horizontal" ausführt.

Wie bekomme ich das hin ??

Also anstatt "D25" bitte "ab Cursorposition".

Ferner brauchte ich noch einen MakroCode, der von einer Curserposition
ausgehend die darüberliegende Zelle per Autoausfüllen runterzieht,
also Cursor in beliebige Zelle (z.Bsp.A3) --> Makro starten --> Zelle
A2 wird automatisch in A3 runtergezogen.

Liesse sich auch das bewerkstelligen ??

Vielen Dank für Eure Mithilfe !!!

Kathi

Murat Topuz

unread,
Jan 29, 2007, 9:21:03 AM1/29/07
to

zu Problem Nummero 1:

Lösche einfach mal "Range("D25").Select" aus dem Makro Code. Sollte
eigentlich funktionieren, wenn Du das Makro immer nur dann ausführst,
wenn irgend eine Zelle gewählt (selektiert ist). Anstatt zu löschen
kannst Du es auch auskommentieren indem Du ein ' vor die zeile setzt
also --> 'Range("D25").Select

zu Problem Nummero 2:

Sub runterziehsub()
If Not (Selection.Row = 1) Then
Selection.Value = Selection.Offset(-1).Value
Selection.Offset(-1).Value = ""
End If
End Sub


mfg
murat

Lydia Weber

unread,
Jan 29, 2007, 11:32:20 AM1/29/07
to
Hallo Murat!

>Lösche einfach mal "Range("D25").Select" aus dem Makro Code. Sollte
>eigentlich funktionieren, wenn Du das Makro immer nur dann ausführst,
>wenn irgend eine Zelle gewählt (selektiert ist).

Ich poste hier mal mein derzeitiges Makro

Sub Makro2()
Rows("25:25").Select
Selection.Insert Shift:=xlDown
Range("C25").Select
ActiveCell.FormulaR1C1 = "TEXT"
Range("E25").Select
ActiveCell.FormulaR1C1 = "TEXT2"
Range("K24").Select
Selection.AutoFill Destination:=Range("K24:K25"),
Type:=xlFillDefault
Range("K24:K25").Select
End Sub

Es wird hier in Zeile 25 zunächst eine Zeile eingefügt und dann in den
Spalten "C" sowie "E" ein Text eingefügt, und dann wird noch aus der
Spalte "K" die Zelle eine Zeile *über* der neu eingefügten Zeile
heruntergezogen, damit die darin enthaltene Formel auch für die neue
Zeile gilt.

Das funktioniert aber in meinem Fall halt nur für Zeile 25....

Es soll aber für JEDE Zeile funktionieren, die halt gerade markiert
ist.....

Robert Feldmann

unread,
Jan 29, 2007, 3:36:12 PM1/29/07
to
Hallo Lydia,

das von Dir erstellte Macro habe ich am ein wenig angepasst.

Es wird in der Zeile in der Du stehst eine Zeile eingefügt und dann in
der gewünschte Text eingetragen und die Formel kopiert.

Bin mal auf die nächsten Fragen gespannt. ;-)

Lydia Weber schrieb:


> Hallo Murat!
>
>> Lösche einfach mal "Range("D25").Select" aus dem Makro Code. Sollte
>> eigentlich funktionieren, wenn Du das Makro immer nur dann ausführst,
>> wenn irgend eine Zelle gewählt (selektiert ist).
>
> Ich poste hier mal mein derzeitiges Makro
>

Mit dem Zuweisen der derzeitigen Selection hast Du einen definierten
Ausgangspunkt. Von dort wird alles weitere angestoßen.

Sub Makro2()
Dim Position As Range
Set Position = Selection
' Rows("25:25").Select
Position.EntireRow.Insert Shift:=xlDown
' Range("C25").Select
Cells(Position.Row - 1, 3).FormulaR1C1 = "TEXT"
' Range("E25").Select
Cells(Position.Row - 1, 5).FormulaR1C1 = "TEXT2"
' Range("K24").Select
Cells(Position.Row - 2, 11).AutoFill _
Destination:=Range(Cells(Position.Row - 2, 11), Cells(Position.Row - 1,
11)), _


Type:=xlFillDefault
' Range("K24:K25").Select
End Sub

>
> Es wird hier in Zeile 25 zunächst eine Zeile eingefügt und dann in den
> Spalten "C" sowie "E" ein Text eingefügt, und dann wird noch aus der
> Spalte "K" die Zelle eine Zeile *über* der neu eingefügten Zeile
> heruntergezogen, damit die darin enthaltene Formel auch für die neue
> Zeile gilt.
>
> Das funktioniert aber in meinem Fall halt nur für Zeile 25....
>
> Es soll aber für JEDE Zeile funktionieren, die halt gerade markiert
> ist.....
>
>
>

bis dann,
Robert

--
Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.

Murat Topuz

unread,
Jan 29, 2007, 3:37:32 PM1/29/07
to

On 29 Jan., 17:32, Lydia Weber <nos...@spamgourmet.com> wrote:
> Hallo Murat!
>
> >Lösche einfach mal "Range("D25").Select" aus dem Makro Code. Sollte
> >eigentlich funktionieren, wenn Du das Makro immer nur dann ausführst,

> >wenn irgend eine Zelle gewählt (selektiert ist).Ich poste hier mal mein derzeitiges Makro


>
> Sub Makro2()
> Rows("25:25").Select
> Selection.Insert Shift:=xlDown
> Range("C25").Select
> ActiveCell.FormulaR1C1 = "TEXT"
> Range("E25").Select
> ActiveCell.FormulaR1C1 = "TEXT2"
> Range("K24").Select
> Selection.AutoFill Destination:=Range("K24:K25"),
> Type:=xlFillDefault
> Range("K24:K25").Select
> End Sub
>
> Es wird hier in Zeile 25 zunächst eine Zeile eingefügt und dann in den
> Spalten "C" sowie "E" ein Text eingefügt, und dann wird noch aus der
> Spalte "K" die Zelle eine Zeile *über* der neu eingefügten Zeile
> heruntergezogen, damit die darin enthaltene Formel auch für die neue
> Zeile gilt.
>
> Das funktioniert aber in meinem Fall halt nur für Zeile 25....
>
> Es soll aber für JEDE Zeile funktionieren, die halt gerade markiert
> ist.....

hmmmm

und welche Zelle soll den selektiert sein??? Zum Beispiel zu
Selektierst die Zell "Z1"

wie sollen dann die Einträge aussehen?

Wenn Du dass beanworten kannst, könnte ich Dir helfen, andererseits
habe ich keinen Anhaltspunkt!

Lydia Weber

unread,
Jan 29, 2007, 4:30:20 PM1/29/07
to
Am Mon, 29 Jan 2007 21:36:12 +0100 schrieb Robert Feldmann:

>Hallo Lydia,
>
>das von Dir erstellte Macro habe ich am ein wenig angepasst.
>Es wird in der Zeile in der Du stehst eine Zeile eingefügt und dann in
>der gewünschte Text eingetragen und die Formel kopiert.
>Bin mal auf die nächsten Fragen gespannt. ;-)

Whow !! Super, das funktioniert prächtig ! Genau wie gewünscht!

Vielen Dank auch im Namen meiner Schwester!

Habe das Makro gleich noch um weitere Spalten erweitert und bekomme
nun einen Großteil der einzugebenden Daten "auto-ausgefüllt", eine
riesige Erleichterung, da die Tabelle etwa 30 Spalten hat und nicht
alle automatisch auszufüllenden Zellen nebeneinander liegen!

Nochmals Danke für die Lösung Robert,
und auch Dir, Murat, für Deine Bemühungen!

Robert Feldmann

unread,
Jan 30, 2007, 1:39:09 PM1/30/07
to
Hallo Lydia,

genau, hier werden Sie geholfen. :-)

Lydia Weber schrieb:


> Am Mon, 29 Jan 2007 21:36:12 +0100 schrieb Robert Feldmann:
>
> Vielen Dank auch im Namen meiner Schwester!
>
> Habe das Makro gleich noch um weitere Spalten erweitert und bekomme

Und das liest man auch gerne, Hilfe zur Selbsthilfe, statt *nur*
andere die Lösungen suchen zu lassen, so muss das sein.

0 new messages