2016-03-26 17 views
0

Ich frage die Benutzereingabe nach einer Zeichenfolge und muss dies dann in eine Formel integrieren. Ich suchte nach anderen Fragen, bekam aber nicht die gewünschte Ausgabe.Wie verwende ich Variable, die Zeichenfolgen in Formel VBA enthält

Sname = InputBox("Enter name") 

Cells(2, 32).FormulaR1C1 = _ 
=CONCATENATE(J2,""-"",K2,""-"",L2,""-"" "" & Sname & "" -"",T2,U2,V2,W2,X2,Y2,""-"",AB2,""-"",AC2) 

nehme ich eingeben AAA
i die Formel auf Zelle wollen (2,32), dies zu sein

=CONCATENATE(J2,"-",K2,"-",L2,"-" & "AAA" & "-",T2,U2,V2,W2,X2,Y2,"-",AB2,"-",AC2) 
+0

Mögliches Duplikat von [Anführungszeichen VBA] (http://stackoverflow.com/questions/24454575/quotation-marks-vba) – vacip

+0

@vacip Ich habe das doppelte Anführungszeichen? oder bekomme ich nichts? einfache Anführungszeichen erscheinen in der Zelle, nachdem ich das Makro auch ausgeführt '= CONCATENATE ('J2'," - "," K2 "," - "," L2 "," - "," & Sname & ", "-", "T2", "U2", "V2", "W2", "X2", "Y2", "-", "AB2", "-", "AC2") " ist was die Zelle zeigt an, nachdem ich das Modul laufen lasse. Der Name der Variablen wird auch angezeigt "Sname" es wollte zeigen, was ich eingegeben habe –

+0

@vacip, die Teil der froblem war aber wie ich in meinem Kommentar zu sythr's Antwort sagte ich kann nicht die Variable Sname Variable in die Formel –

Antwort

2

Versuchen:

Cells(2,32).Formula = _ 
"=CONCATENATE(J2,""-"",K2,""-"",L2,""-"" & """ & Sname & """ & ""-"",T2,U2,V2,W2,X2,Y2,""-"",AB2,""-"",AC2)" 

Es gibt eine leichte mixup war mit Ihrem Anführungszeichen um die Variable.

Dieser arbeitet für mich.

+0

'= CONCATENATE (J2," - ", K2," - ", L2," - "&" Name "&" - ", T2, U2, V2, W2, X2, Y2," - ", AB2 , "-", AC2), das erscheint auf der Zelle als Formel. 'Name = InputBox (" Name eingeben ")' würde vom Benutzer angegeben werden und falls sie AAA eingeben, möchte ich das Forumla in der Zelle sein '= CONCATENATE (J2," - ", K2," - ", L2," - "&" AAA "&" - ", T2, U2, V2, W2, X2, Y2," - ", AB2," - ", AC2)' –

+0

Mein schlechtes. Bearbeitet. Anführungszeichen können Sie durcheinander bringen. :) – vacip

+0

danke so viel^_^ive gerade VB für ein paar Wochen gelernt, kein Wunder, wenn es jemand so gut wie Sie verwirrend ich hatte eine harte Zeit. –

Verwandte Themen