+ Reply to Thread
Results 1 to 3 of 3

pass cell value as string to function

  1. #1
    fybar
    Guest

    pass cell value as string to function

    I am looping through a range of cells and want to pass a the value to
    another function as a string. Actually, it doesn't have to be a string,
    I just am not sure how to pass it. I made test1 a string and then made
    the value of test1 = the value of the cell then tried to pass as a string
    but I get a ByReg argument type missmatch error. What concept am I
    missing here?

    Sub Looper()

    Dim ColA As Range
    Dim ColB As Range
    Dim counter As Long
    Dim rowNumber As Integer
    Dim cellNumber As Integer
    Dim test1, test2, test3 As String

    Set ColA = Sheets("Puzzle").Range("A1:P16")
    Set ColB = Sheets("Puzzle").Range("R1:AH16")
    For rowNumber = 1 To 16
    'For rowNumber = 1654 To 4086
    'Set ColA = Sheets("Puzzle").Range(Cells(rowNumber, 1), Cells
    (rowNumber, 16))

    For cellNumber = 1 To 16
    test1 = ColA.Cells(rowNumber, cellNumber)

    If test1 <> "" Then

    'If ((Cells(rowNumber, 15).Value = "DI" Or Cells
    (rowNumber, 15).Value = "DO") _
    ' And Cells(rowNumber, 23).Value <> "N/A") Then
    ' CreateDigitalDoc ColA, wordDocDigital
    'ElseIf (Cells(rowNumber, 23).Value <> "N/A") Then
    ' CreateAnalogDoc ColA, wordDocAnalog
    'End If
    'Next cellNumber
    ColB.Cells(rowNumber, cellNumber) = ColA.Cells
    (rowNumber, cellNumber)
    test2 = CStr(test1)
    UpdateAll rowNumber, cellNumber, test2
    End If
    Next cellNumber
    Next rowNumber

    End Sub

    Sub UpdateAll(rowNumber As Integer, cellNumber As Integer, test2 As
    String)
    'do some stuff here
    End Sub

  2. #2
    Rowan Drummond
    Guest

    Re: pass cell value as string to function

    When you declare variables like this:
    Dim test1, test2, test3 As String
    only test3 is declared as a String. test1 and test2 will be assigned the
    DataType Variant. UpdateAll is looking for a variable with a string
    datatype.

    Change your decleration to
    dim test1 as string, test2 as string, test3 as string

    or
    Dim test1 as string
    dim test2 as string
    dim test3 as string

    Hope this helps
    Rowan

    fybar wrote:
    > I am looping through a range of cells and want to pass a the value to
    > another function as a string. Actually, it doesn't have to be a string,
    > I just am not sure how to pass it. I made test1 a string and then made
    > the value of test1 = the value of the cell then tried to pass as a string
    > but I get a ByReg argument type missmatch error. What concept am I
    > missing here?
    >
    > Sub Looper()
    >
    > Dim ColA As Range
    > Dim ColB As Range
    > Dim counter As Long
    > Dim rowNumber As Integer
    > Dim cellNumber As Integer
    > Dim test1, test2, test3 As String
    >
    > Set ColA = Sheets("Puzzle").Range("A1:P16")
    > Set ColB = Sheets("Puzzle").Range("R1:AH16")
    > For rowNumber = 1 To 16
    > 'For rowNumber = 1654 To 4086
    > 'Set ColA = Sheets("Puzzle").Range(Cells(rowNumber, 1), Cells
    > (rowNumber, 16))
    >
    > For cellNumber = 1 To 16
    > test1 = ColA.Cells(rowNumber, cellNumber)
    >
    > If test1 <> "" Then
    >
    > 'If ((Cells(rowNumber, 15).Value = "DI" Or Cells
    > (rowNumber, 15).Value = "DO") _
    > ' And Cells(rowNumber, 23).Value <> "N/A") Then
    > ' CreateDigitalDoc ColA, wordDocDigital
    > 'ElseIf (Cells(rowNumber, 23).Value <> "N/A") Then
    > ' CreateAnalogDoc ColA, wordDocAnalog
    > 'End If
    > 'Next cellNumber
    > ColB.Cells(rowNumber, cellNumber) = ColA.Cells
    > (rowNumber, cellNumber)
    > test2 = CStr(test1)
    > UpdateAll rowNumber, cellNumber, test2
    > End If
    > Next cellNumber
    > Next rowNumber
    >
    > End Sub
    >
    > Sub UpdateAll(rowNumber As Integer, cellNumber As Integer, test2 As
    > String)
    > 'do some stuff here
    > End Sub


  3. #3
    fybar
    Guest

    Re: pass cell value as string to function

    Rowan Drummond <rowanzsaNotThis@hotmail.com> wrote in
    news:OOqTAcC4FHA.4076@TK2MSFTNGP15.phx.gbl:

    > When you declare variables like this:
    > Dim test1, test2, test3 As String
    > only test3 is declared as a String. test1 and test2 will be assigned
    > the DataType Variant. UpdateAll is looking for a variable with a
    > string datatype.
    >
    > Change your decleration to
    > dim test1 as string, test2 as string, test3 as string
    >
    > or
    > Dim test1 as string
    > dim test2 as string
    > dim test3 as string
    >
    > Hope this helps
    > Rowan


    Gah! Yes, that helps.

    fyb

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1