Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Auswahl einer Zelle im Makro bei variabler Zeile





Frage

Hallo zusammen, ich suche eine Lösung für folgendes Problem. Ich habe per Auswahlbutton die Möglichkeit Zeilen unterhalb eines bestimmten Begriffs (hier "Sachanlagen") einzufügen. Gleichzeitg wird in der neu eingefügten Zeile "neuer SV" automatisch in die Zelle geschrieben: [b]Dim Wiederholungen As Long Application.ScreenUpdating = False For Wiederholungen = Range("a65536").End(xlUp).Row To 1 Step -1 If Cells(Wiederholungen, 1) = "Sachanlagen" Then Rows(Wiederholungen + 1).Insert Shift:=x1Down Rows(Wiederholungen + 1).Select ActiveCell.FormulaR1C1 = "neuer SV End If Next End Sub[/b] [u]Meine Frage:[/u] Wie bekomme ich in der neu eingefügte Zeile in einer anderen, weiter rechts liegenden Zelle einen automatischen Eintrag. Das o.g. Makro funktioniert bei mir ohne diese besondere Anforderung, weil der Befehl [b]Rows(Wiederholungen + 1).Select[/b] automatisch die erste Zelle in der neuen Zeile auswählt. Wie aber komme ich weiter nach rechts im Sinne einer Auswahl z.B. [b]Range("b10").Select[/b], nur dass die Bezeichnung der Zelle nicht fix sein darf, sondern von der eingefügten Zeile abhängig sein muss. Danke im Voraus für eure Hilfe!!!!

Antwort 1 von rainberg

Hallo Andreas,

meinst Du es so?

Sub test()
Dim Wiederholungen As Long
Application.ScreenUpdating = False
For Wiederholungen = Range("a65536").End(xlUp).Row To 1 Step -1
If Cells(Wiederholungen, 1) = "Sachanlagen" Then
Rows(Wiederholungen + 1).Insert Shift:=xlDown
Cells(Wiederholungen + 1, 1).Value = "neuer SV"
Cells(Wiederholungen + 1, 2).Value = "autom. Eintrag"
End If
Next
End Sub


Gruß
Rainer

Antwort 2 von M.O.

Hallo Andreas,

versuch es doch mal so:

Cells(ActiveCell.Row, 10) = "hier"


Gruß

M.O.

Antwort 3 von coros

Hallo Andreas,

mit dem Befehl

ActiveCell.Offset(0, 2) = "Test"



wird Dir 2 Spalten weiter in der gleichen Zeile der Begriff "Test" eingetragen. Bei anderer Spalte die Zahl 2 verändern.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Artemius76

Hallo rainberg, M.O., coros,

alle drei Lösungen funktionieren hervorragend. Auf

Cells(Wiederholungen + 1, 1).Value = "neuer SV"

hätte ich eigentlich aus selber kommen müsen ;-)

Vielen Dank!!! Hat mir sehr geholfen!!!

Andreas

Antwort 5 von Artemius76

Jetzt brauche ich doch nochmal eure Hilfe, bitte. Wie kann ich denn nun bei der ausgewählten Zelle eine Wenn-Dann-Abfrage mit Verweis auf ein anderes Sheet machen. Also:

ActiveCell.Offset(0, 2) = "Wenn(Deckblatt!D11="ja";'2007'!d11;"")"

Diese Eingabe wird bei mir nicht kompiliert?!

Danke für eure Antworten!

Antwort 6 von Artemius76

... und es liegt nicht daran, dass ich bei dem obigen Eintrag das Gleichheitszeichen für die Formel vergessen haben. Sorry :-)

ActiveCell.Offset(0, 2) = "=Wenn(Deckblatt!D11="ja";'2007'!d11;"")"

Antwort 7 von fedjo

Hallo Andreas,
versuch es mal so:

If Sheets("Deckblatt").Range("D11").Value = "ja" Then
ActiveCell.Offset(0, 2) = "2007"
End If

Gruß
fedjo

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: