Trying to combine two VBA programs together

mike guest98

New member
Joined
Jun 6, 2018
Messages
28
Reaction score
0
Points
0
Excel Version(s)
2010
Hi

I have two programs for the same Excel spreadsheet and would like to combine them into one program but I just can't seem to get that to work. If anyone could assist it sure would be appreciated. What I have tried is to take the out the Sub do_it() at the second program and the End Sub out of the first program. I have included everything here so you can see both complete programs.


Code:
Sub do_it()
n = [E15]
    Set reg = CreateObject("VBScript.RegExp")
    reg.Pattern = "^[0-9]*\-[0-9]*$"
    reg.Global = True
    For Each cell In Range("A15:A30,C15:C30,E15:E30,G15:G30,I15:I30")
        strVAL = cell.Offset(0, 1).Value
        If cell.Value = n And reg.test(strVAL) Then
            Range(“E15”).Value = StrVal
               MsgBox "Found a postivive result in " & cell.Address
        End If
    Next
End Sub

Sub do_it()
    Dim n, sht As Worksheet, cell As Range, num, tmp, rngDest As Range

    Set sht = ActiveSheet
    n = sht.Range("E15")
    For Each cell In sht.Range("A15:A30,C15:C30,E15:E30,G15:G30,I15:I30").Cells
        tmp = cell.Offset(0, 1).Value
        If cell.Value = n And tmp Like "*#-#*" Then
            'get the first number
            num = CLng(Trim(Split(tmp, "-")(0)))
            Debug.Print "Found a positive result in " & cell.Address
            'find the next empty cell in the appropriate row
         Set rngDest = sht.Cells(num, sht.Columns.Count).End(xlToLeft).Offset(0, 1)
            'make sure not to add before col K
            If rngDest.Column < 12 Then Set rngDest = sht.Cells(num, 12)
            cell.Offset(0, 1).Copy rngDest
            Exit For
        End If
    Next
End Sub
 
Last edited by a moderator:
Back
Top