Inability to add quotation mark around a variable by concatenation in VBA

Discussion in 'Excel Programming' started by Mark Stephens, Apr 9, 2014.

  1. Hi,

    I am outputting some data for another programmer to parse.

    He has requested that I add quotation marks around each variable, but when I attempt to do it VBA will have none of it, and wants me to insert 2 quotation marks or none!

    Here's my code:

    Dim bCount As Byte
    For bBandNo = 1 To 9

    If arrbBandValue(bBandNo) > 0 Then

    bCount = bCount + 1
    'Last one needs special treatment (no comma after and quotes at the end
    If bCount = bBandCount Then

    sBandValues = sBandValues & arrbBandValue(bBandNo) & ";" & bBandNo
    Exit For

    End If

    sBandValues = sBandValues & arrbBandValue(bBandNo) & ";" & bBandNo & ","

    End If

    Next bBandNo

    psBandValues = sBandValues


    I tried two approaches the first being to add them at the end which would be easiest. I just amended the last line:

    psBandValues = """ & sBandValues & """

    However this destroys my variable returning instead of "MyVariableString" as I intend, instead it returns

    The second to do it 'at source' which yielded the same result.

    Maybe I am missing something (probably) but should it be so hard to simply add quotation marks around a variable???

    Any help much appreciated, M.
     
    Mark Stephens, Apr 9, 2014
    #1
    1. Advertisements

  2. Mark Stephens

    GS Guest

    Try...

    psBandValues = Chr(34) & sBandValues & Chr(34)

    --
    Garry

    Free usenet access at http://www.eternal-september.org
    Classic VB Users Regroup!
    comp.lang.basic.visual.misc
    microsoft.public.vb.general.discussion
     
    GS, Apr 9, 2014
    #2
    1. Advertisements

  3. Hey Garry, that worked like a dream thanks so much for the help, M.
     
    Mark Stephens, Apr 9, 2014
    #3
  4. Mark Stephens

    GS Guest

    Hey Garry, that worked like a dream thanks so much for the help, M.

    Glad to help...

    --
    Garry

    Free usenet access at http://www.eternal-september.org
    Classic VB Users Regroup!
    comp.lang.basic.visual.misc
    microsoft.public.vb.general.discussion
     
    GS, Apr 9, 2014
    #4
  5. Mark Stephens

    Martin Brown Guest

    It isn't but you have to escape them in. So to add one " you need two.

    """" = " as a string

    So

    a = """" & "test" & """"
    debug.print a

    will print "test"
     
    Martin Brown, Apr 9, 2014
    #5
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.