Consulting

Results 1 to 17 of 17

Thread: Need help figuring out what went wrong

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Need help figuring out what went wrong

    I must've redone this code a dozen times trying to get it to work but im pretty new to this and it seems im either burnt out or just not skilled enough. Could someone please help?

    Hopefully I can explain this well enough.

    What I want to do here is go through the A column and run some checks before adding the user input to the sheet.

    1. I need to check if the customers name is already on the list

    2. If its NOT I need to add it along with the other user input, then ask if the user would like to add another.

    3.If the customer IS already on the list I need to check to see if the REFERRED customer is on the list attached to that customer.

    4.Now if the REFERRED customer IS already attached to that customer then I need to display a message and back out.

    5.If the REFERRED customer NOT already attached to that customer then I add it to the list, along with the added amount and ask to process another.

    6. If the total amount is $600 then another message and then ask process another.


    It worked the first two times but now its just stuck on the 4th row overwriting the existing CUSTOMER NAME and adding the REFERRED CUSTOMER to the already established REFERRED CUSTOMER list.


    Here's the code. I am new to VBA so I keep alot of comments to stay on track. Hopefully that isn't too annoying and actually helps you help me.


    Sub AddAnother()'This function updates the screen and saves the workbook
    'Then it ask the user if it wants to process another
        
    'Job is done update screen
        Application.ScreenUpdating = True
    'and save
        ActiveWorkbook.Save
        
    'First we need to store thier answer
        answer = MsgBox("Workbook has been saved." & vbCrLf & "Process Another?", vbYesNo + vbQuestion, "Process Another")
    'If the ansewr is yes then
        If answer = vbYes Then
    'Run again
            Call AddBirdDog
    'If the answer is no then exit
        Else
            Exit Sub
            End If
            
        End Sub
        
        Sub AddBirdDog()
            
        
    'Deselct everything to avoid errors
    Application.CutCopyMode = True
            
    'Turn screen updating off to make it faster
            Application.ScreenUpdating = False
            
            
    ' declar viariable
            Dim ReferersName As String
            Dim ReferersDeal As Long
            Dim ReferredCustomer As String
            Dim ReferredCustomerDeal As Long
            Dim BirdDogAmount As Integer
            
    'get user input
            ReferersName = InputBox("Enter Referers Name" & vbCrLf & "EXAMPLE:" & vbCrLf & "John Smith")
            ReferersDeal = InputBox("Enter Referers Deal Number" & vbCrLf & "EXAMPLE:" & vbCrLf & "123456")
            ReferredCustomer = InputBox("Enter Referred Customer's Name" & vbCrLf & "EXAMPLE:" & vbCrLf & "John Smith")
            ReferredCustomerDeal = InputBox("Enter Referred Customers Deal Number" & vbCrLf & "EXAMPLE:" & vbCrLf & "D123456")
            BirdDogAmount = InputBox("Enter Bird-Dog Amount" & vbCrLf & "EXAMPLE:" & vbCrLf & "100.00")
            
            
            
            
    'Select First cell in column A
            Range("A3").Select
            
    'check cells in column A for Duplicate Referers name
            Do
                
    ' If cell = Referes name then referer has had a birddog before
                If ActiveCell.Value = ReferersName Then
    'So Move to Referred customer column
                    ActiveCell.Offset(0, 2).Select
    'If the value of Referred Customer is contained in the active cell
                    If InStr(1, ActiveCell.Value, ReferredCustomer) <> 0 Then
    'Then customer has already been given a birddog for this customer
    'The customer cannot get a birddog for the same reffered customer
    'Display message and exit
                        MsgBox "Customer " & ReferersName & " Already recieved a Bird-Dog For " & ReferredCustomer & vbCrLf & " See Highlighted", vbCritical, "Already Recieved"
    'Highlight duplicate
                        ActiveCell.EntireRow.Interior.ColorIndex = 6
                        Exit Sub
                    Else
    'Its a new refereal and so we add it to the list
    'Take the value of the cell add a line break and
    'add the new referal and thier deal #
                        ActiveCell.Value = ActiveCell.Value & vbCrLf & ReferredCustomer & "-" & ReferredCustomerDeal
    'Now we need to add the birddog amount to the total for the customer
    'So move to the next cell (YTD BIRDDOG TOTAL)
                        ActiveCell.Offset(0, 1).Select
    'Add the birddog $$$ to the total for the year
                        ActiveCell.Value = ActiveCell.Value + BirdDogAmount
    'Now if the YTD BirdDog Total is greater than or equal to $600
                        If ActiveCell.Value >= 600# Then
    'Customer needs w9 Display message
                            MsgBox "Customer " & ReferersName & " Has $600 or more worth of birddogs" & vbCrLf & "Make sure they get a fills out a W9 in exchange for the check", vbCritical, "GET W9!!!"
                            
    'let user know its saved and ask if they have another birddog to process
    'To do this we call the AddAnother fuction
                            Call AddAnother
                        Else
    'Else if its under 600 just ask if they have another to process
                            
                            Call AddAnother
    'End the check for $600 if
                        End If
    'End the Check for duplicate referred customer if
                    End If
     'else if cell is blank take care of first time run empty cell - Should only be once ... I need to find a better way
                    ElseIf ActiveCell.Value = "" Then
                    
    'Customer is new and we add all the information
    'Add data
                    ActiveCell.Value = ReferersName
                    ActiveCell.Offset(0, 1).Value = ReferersDeal
                    ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value & vbCrLf & ReferredCustomer & "-" & ReferredCustomerDeal
                    ActiveCell.Offset(0, 3).Value = BirdDogAmount
    'Ask if they have another
                    Call AddAnother
                    
                    Else
    'First move to next blank cell
                    ActiveCell.Offset(1, 0).Select
     'Customer is new and we add all the information
    'Add data
                    ActiveCell.Value = ReferersName
                    ActiveCell.Offset(0, 1).Value = ReferersDeal
                    ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value & vbCrLf & ReferredCustomer & "-" & ReferredCustomerDeal
                    ActiveCell.Offset(0, 3).Value = BirdDogAmount
    'Ask if they have another
                    Call AddAnother
                    
                    
    'End the Rereres check if
                End If
    'Move to the next blank cell so the loop can stop
                ActiveCell.Offset(1, 0).Select
            Loop Until ActiveCell.Value = ""
            
        End Sub
    Attached Files Attached Files

Posting Permissions

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