online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon little-key vom 28.09.2022, 01:31 Options

Lösung

VBA: Varible für Zeile in Inputbox

Habe mal versucht hier was zusammen zu basteln, leider ohne Erfolg.

Wie kann das funktionieren??

Sub Test()

Dim y As Integer
y = InputBox("Bitte die letzte Zeilennummer der Tabelle festlegen:", "Tabellenende festlegen")
Columns("D:D").Select
Selection.Insert Shift:=xlToRight
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(RC[-1],"" "",""("",RC[-3],"")"","" "",RC[2])"

Selection.AutoFill Destination:=Range("D2:Dy"), Type:=xlFillDefault
Range("D2:Dy").Select

End Sub

Selection.Auto Fill Destination macht Probleme, falls das überhaupt mit einer Variable geht.
Denke, dass Profis wissen, was hier passieren soll.

Danke schon mal.


Antwort schreiben

Antwort 1 von coros vom 28.09.2022, 04:44 OptionsLösung

Lösung
Hallo Namenloser,

nachfolgend Dein geänderter Code. Ich habe zusätzlich die ganzen Select-Anweisungen gelöscht, da diese nicht benötigt werden.

Sub Test()

Dim y As Integer
y = InputBox("Bitte die letzte Zeilennummer der Tabelle festlegen:", "Tabellenende festlegen")
Range("D2").FormulaR1C1 = _
"=CONCATENATE(RC[-1],"" "",""("",RC[-3],"")"","" "",RC[2])"

Range("D2").AutoFill Destination:=Range("D2:D" & y), Type:=xlFillDefault

End Sub

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 2 von little-key vom 28.09.2022, 11:22 Options

Hallo Oliver,

Verzeihung, meinen Namen vergessen.

Herzlichen Dank, funktioniert wie immer tadellos.

Auch gleich wieder was dazu gelernt.

Mario

Antwort 3 von little-key vom 28.09.2022, 13:30 Options

Hallo Oliver,

doch noch eine Frage dazu:

Wenn in der o. g. Formel die Variable gesetzt ist (also letzte Zeilennummer), würde ich gern noch alle Einträge nach dieser Zeile gelöscht haben.

Kannst Du den Code dazu noch ergänzen?

Danke Mario

Antwort 4 von coros vom 28.09.2022, 13:47 Options

Hallo Mario,

ich hoffe, ich habe Dich richtig verstanden:

Option Explicit

Sub Test()

Dim y As Integer
y = InputBox("Bitte die letzte Zeilennummer der Tabelle festlegen:", "Tabellenende festlegen")
Range("D2").FormulaR1C1 = _
"=CONCATENATE(RC[-1],"" "",""("",RC[-3],"")"","" "",RC[2])"

Range("D2").AutoFill Destination:=Range("D2:D" & y), Type:=xlFillDefault

Range("D" & y + 1 & ":D65536").ClearContents
End Sub
Mit dem Code wird abschließend von der nächsten Zeile, die Du angegeben hast, bis zur Zeile 65536 alles in Spalte D gelöscht.

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.

Ähnliche Themen

automatisch nächste zeile wählen (Ev. VBA)
ro0005  10.05.2009 - 210 Hits - 4 Antworten

Textlänge Application.InputBox, Inputbox
Tomschi  26.06.2009 - 226 Hits - 8 Antworten

VBA - vorletzte Zeile finden
Tomschi  02.07.2009 - 290 Hits - 8 Antworten

EXCEL VBA: Zeile nach Zellenkriterium kopieren
little-key  08.09.2009 - 464 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026