Question posted 2012 ยท +1 upvotes
I have some code for move text from cell to cell
Dim startIndex As Integer
Dim toIndex As Integer
Dim f As String
Dim g As String
For startIndex = 50 To 60 Step 2
toIndex = Str(startIndex + 1)
f = "F" & Str(toIndex)
g = "G" & Str(startIndex)
Range(f).Value = Range(g).Value
Range(g).Value = ""
Next startIndex
But variable f has “F 51” value instead of “F51”.
How solve this problem ? p.s. It’s my first code on vba.
Accepted answer +11 upvotes
You should be using
CStr
not
Str
Then no workaround is needed for removing an unncessary space
ie
f = "F" & CStr(toIndex)
g = "G" & CStr(startIndex)
From Excel help for Str
When numbers are converted to strings, a leading space is always reserved for the sign of number.
Top vba Q&A (6)
- Difference between Visual Basic 6.0 and VBA +122 (2009)
- VBA – how to conditionally skip a for loop iteration +116 (2011)
- VBA: Test if string begins with a string? +53 (2013)
- html parsing of cricinfo scorecards +47 (2012)
- Code to loop through all records in MS Access +46 (2011)
- Access VBA | How to replace parts of a string with another string +44 (2011)
vba solutions on this site
.