Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

VB, Excel : Variablen und Feldinhalte aneinader reihen

jdeen / 14 Antworten / Flachansicht Nickles

Hallo zusammen !
Ich möchte den Text aus einer InputBox mit dem Inhalt einer Zelle in
einer neuen Zelle verknüpfen:
Dim Text As string
Text = InputBox ("Text", "Eingabe", "Artikelname")
Range("F2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]& x " & Text ????

HIER HAB ICH MEINE SCWIERIGKEITEN !!!

In "E2" (RC[-1]) steht die Menge, Text ist die Artikelbezeichnung
und dies möchte ich gerne als Zeichenkette in Zelle "F2" einfügen:
Ergebnis-Beispiel : " 5 x Dichtung"
Nachher das Ganze runterkopieren und in Werte wandeln ist kein Problem.

Wer kann mir da helfen?

. . . when the kid next door walking on the moon . . .Wirklich gute Jdeen passen auf einen Bierdeckel
bei Antwort benachrichtigen
jdeen peterson „Versuche mal, die Zelle direkt anzusprechen. Du benutzt den Umweg: Range F2...“
Optionen

Hallo Peterson,

danke für Deine Tipp's.

Das Ansprechen der Zellen ist nicht das Problem.
Das Problem liegt im Füllen.
Wenn ich mit der Variable "Text" den Umweg über eine Zelle gehe, in die ich die Variabe schreibe, und dann die Zellen aneinanderbaue, funktioniert das einwandfrei:

...

' Dimensionierung der Variablen

Dim Text As String

' Abfrage Text

Text = InputBox("Artikel", "Benutzereingabe : ", "A")

...
weiterer Code ...
...

' text in Kopfzeile Spalte M schreiben

Range("m1").Select
ActiveCell.FormulaR1C1 = "Artikeltext"

' x Text in Kopfzeile Spalte N schreiben

Range("n1").Select
ActiveCell.FormulaR1C1 = " x " & Text

' Spalte N mit x Text füllen

Range("n1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste

' Menge x Text in M2 schreiben

Range("m2").Select
ActiveCell.FormulaR1C1 = "=RC[-4]&RC[1]"

' Spalte M mit Menge x Text füllen

Range("m2").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste

Application.CutCopyMode = False

' Spalte M in Werte wandeln

Columns("M:M").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

' Spalte N löschen

Columns("N:N").Select
Selection.Delete Shift:=xlToLeft

...

Ich wollte aber wissen, wie das auf einen Wisch geht.

Gruß jdeen

. . . when the kid next door walking on the moon . . .Wirklich gute Jdeen passen auf einen Bierdeckel
bei Antwort benachrichtigen