Wie konvertiere ich den integer
Wert "45" in den Wert string
Wert "45" in Excel VBA?Wie konvertiere ich eine Ganzzahl in eine Zeichenfolge in Excel VBA?
Antwort
cstr (45) Ich denke, ist alles, was Sie brauchen (konvertieren string)
Versuchen Sie, die CStr() Funktion
Dim myVal as String;
Dim myNum as Integer;
myVal = "My number is:"
myVal = myVal & CStr(myNum);
Die meiste Zeit, werden Sie nicht zu "konvertieren" müssen; VBA wird die implizite Typkonvertierung für Sie durchführen, ohne die Verwendung von Konvertern wie CStr
.
Der folgende Code funktioniert ohne Probleme, da die Variable vom Typ String ist und implizite Typumwandlung für Sie automatisch durchgeführt wird!
Dim myVal As String
Dim myNum As Integer
myVal = "My number is: "
myVal = myVal & myNum
Ergebnis:
"Meine Nummer ist: 0"
Sie haben nicht einmal, dass die Lust bekommen haben, das funktioniert auch:
Dim myString as String
myString = 77
"77"
Die einzige Zeit, die Sie zu konvertieren brauchen, ist, wenn die Variable Typ (zum Beispiel Typ Variant oder ein Cell Value
(welche ist Variant)) nicht eindeutig ist.
Auch dann müssen Sie nicht die CStr
Funktion verwenden, wenn Sie mit einer anderen String-Variablen oder -Konstante arbeiten. Wie folgt aus:
Sheet1.Range("A1").Value = "My favorite number is " & 7
„Meine Lieblingszahl ist 7“
Also, wirklich, das einzige selten Fall ist, wenn Sie wirklich einen Integer-Wert gespeichert werden soll, in eine Variante oder Zellwert, wenn nicht auch mit einem anderen String Compoundierung (das ist ein ziemlich seltener Neben Fall ist, wie ich hinzufügen):
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = i
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = CStr(i)
"7"
In meinem Fall wurde die Funktion CString nicht gefunden. Das Hinzufügen eines leeren Strings zum Wert funktioniert aber auch.
Dim Test As Integer, Test2 As Variant
Test = 10
Test2 = Test & ""
//Test2 is now "10" not 10
Niemand sprach über 'CString', eine VB.NET-Funktion. Das Verketten eines leeren String-Literals, um eine Zeichenfolge zu erstellen, ist eine ziemlich langsame Konvertierungsmethode. Verwenden Sie 'CStr' für explizite Typkonvertierungen - dies ist eine implizite Typumwandlung und löst bei jedem, der diesen Code liest, die Augenbrauen aus. Entschuldigung, dass ich diese Antwort so spät fand, nachdem sie gepostet wurde, ich wünschte, ich hätte sie viel früher herunterstimmen können. –
Der kürzeste Weg, ohne die Variable zu deklarieren ist mit Typ Hinweise:
s$ = 123 ' s = "123"
i% = "123" ' i = 123
Das mit Option Explicit
nicht kompiliert werden. Die Typen werden nicht Variant
aber String
und Integer
Wenn die Zeichenfolge, die Sie in sind Ziehen geschieht eine Hex-Zahl wie E01 zu sein, dann Excel es als 0 selbst übersetzen, wenn Sie die CStr Funktion zu verwenden, und auch wenn Sie hinterlegen es zuerst in einem String-Variablentyp. Eine Möglichkeit, das Problem zu umgehen, ist das Anhängen von 'an den Anfang des Wertes.
Zum Beispiel, wenn die Werte aus einer Word-Tabelle ziehen und sie zu Excel zu bringen:
strWr = "'" & WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
- 1. Wie konvertiere ich eine Zeichenfolge in eine Ganzzahl in JSonne?
- 2. Python: Konvertiere eine Zeichenkette in eine Ganzzahl
- 3. Wie konvertiere ich eine Zeichenfolge in eine Ganzzahl in Ziel C?
- 4. Einfügen in eine Excel-VBA-Zeichenfolge
- 5. Wie konvertiere ich eine Zeichenfolge in eine Liste in Io?
- 6. Wie konvertiere ich eine lange in eine Zeichenfolge in C++?
- 7. Wie konvertiere ich eine Zeichenfolge wie "Red" in eine System.Windows.Media.Color?
- 8. Teilen Sie eine Ganzzahl durch eine Zeit mit VBA (Excel)
- 9. Coffeescript: Wie konvertiere ich eine Zeichenfolge in eine Zahl?
- 10. Wie konvertiere ich eine UIColor in eine hexadezimale Zeichenfolge?
- 11. Wie konvertiere ich eine Base64-Zeichenfolge?
- 12. Wie konvertiere ich eine Zeichenfolge in C# in Byte?
- 13. Wie konvertiere ich eine Zeichenfolge in UTF-8 in Android?
- 14. Wie konvertiere ich eine Zeichenfolge in Titel Fall in Android?
- 15. Wie konvertiere ich ein einzelnes Zeichen in eine Zeichenfolge?
- 16. Wie konvertiere ich eine JTextField-Zeichenfolge in ein Double?
- 17. Wie konvertiere ich einen Funktionsnamen in eine Zeichenfolge
- 18. Wie konvertiere ich eine UCS2-Zeichenfolge in UTF8?
- 19. Wie konvertiere ich eine Zeichenfolge in ein Array von Arrays?
- 20. Wie konvertiere ich eine Zeichenfolge in einen Array-Namen (PHP)?
- 21. Wie konvertiere ich Text oder Zeichenfolge in Zeitformat mit Excel VBA?
- 22. Wie eine Zeichenfolge in Excel-Formel für eine Liste (DropDown)
- 23. Wie konvertiere ich hexadezimale Zeichenkette in vorzeichenbehaftete Ganzzahl?
- 24. Wie eine Datenaktualisierung Ereignis in Excel VBA
- 25. Convert eine große Ganzzahl in eine Hex-Zeichenfolge in Javascript
- 26. Wie konvertiert man eine Zeichenkette in eine Ganzzahl in C#
- 27. Konvertiere ein Objekt in eine XML-Zeichenfolge
- 28. Konvertiere eine Zeichenfolge in einen Schlüssel
- 29. Wie konvertiere ich eine Zeichenkette in eine Zeichenkette wchar_t?
- 30. Wie base64 eine Zeichenfolge effizient mit Excel VBA codieren?
Ich verstehe nicht, warum diese Antwort nicht mehr Stimmen hat, da es wahr ist. Es ist erwähnenswert, dass die Typumwandlung nicht * immer * durchgeführt wird, sondern vom verwendeten Bediener abhängt. Zum Beispiel erweitert die Operation + nicht immer eine ganze Zahl zu einer Zeichenkette. –
@MarkCh Ich weiß, dass das alt ist, aber ... vielleicht, weil VBAs anstößige implizite Conversions und Standard-Member-Calls so viel VBA-Code gebrechlich, überraschend und fehleranfällig machen? Es würde nicht halb so viele VBA-Fragen zu SO geben, wenn es nicht implizite Konvertierungen, implizite Erreichbarkeit, impliziten Standardmemberzugriff, implizite 1-basierte Arrays mit "Option Base 1", implizite Typisierung mit "Def [Type]" wären (Junge, das ist böse!), implizit ... Sie bekommen es - die einzige gute implizite Sache in VBA ist die implizite Aufruf-Syntax, die die explizite "Call" obsolet gemacht. –