Problem to the message

Hi,
It is strange that, it is showing the message by 'Msgbox' below, while the 2nd and 3rd Debug.print is not showing anything below.
        With Worksheets("Main Sheet").Range(copyRange)
            Set c = .Find(Month0, LookIn:=xlValues)
            Debug.Print Month0
            If Not c Is Nothing Then
            Debug.Print "xc" & CStr(c.Row)
            Debug.Print Format(Worksheets("Main Sheet").Cells(c.Row, 8).Value, "yyyy/MM") & "mm" & Format(Worksheets("Month Status").Cells(i, 4).Value, "yyyy/MM")
            If Trim(Format(Worksheets("Main Sheet").Cells(c.Row, 8).Value, "yyyy/MM")) <> "" Then
            If Format(Worksheets("Main Sheet").Cells(c.Row, 8).Value, "yyyy/MM") = Format(Worksheets("Month Status").Cells(i, 4).Value, "yyyy/MM") Then
                MsgBox "You cannot copy record of a closed month.", vbExclamation, "Month is closed!"
                Exit Sub
                
            End If
            End If
            End If
    
        End With

Open in new window

LVL 12
HuaMin ChenProblem resolverAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

GrahamSkanRetiredCommented:
Put a Breakpoint (F9) on line 1. When the code breaks there, press F8 to step through the code until the message is displayed. That should show you which lines are being executed.

(I suspect that you have some similar code somewhere else in the procedure)
HuaMin ChenProblem resolverAuthor Commented:
I did search the whole workbook and there is no similar Msgbox line in other places.
I re-try and really the above Msgbox line is being displayed while 2nd and 3rd debug line is not showing anything.
Qlemo"Batchelor", Developer and EE Topic AdvisorCommented:
Skip the first print (e.g. comment it out), and then see if that changes the output.
are you certain that the first print displays something?
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

HuaMin ChenProblem resolverAuthor Commented:
Yes, 1st debug line is printing out one line, while 2nd and 3rd debug line is not.

I comment out 1st debug line then I've got the same problem again.

I'm using Excel 2010.
Subodh Tiwari (Neeraj)Excel & VBA ExpertCommented:
Open your workbook, open VBA editor --. Press Ctrl+G to open Immediate Window and in there just type Debug.Print "xc" and press Enter.

Is xc returned in the immediate window?
HuaMin ChenProblem resolverAuthor Commented:
Many thanks to all.
I get
5m.pngdue to last line below
   Dim copyRange As Range, pasteRange As Range
   Dim Message0 As String
   'On Error Resume Next
...
        With Worksheets("Main Sheet").Range(copyRange)

Open in new window


as I've just commented out 3rd line in above.
Qlemo"Batchelor", Developer and EE Topic AdvisorCommented:
??? the Debug output is not corresponding to code ...
HuaMin ChenProblem resolverAuthor Commented:
Since the resume line is bypassing the error encountered, before this.
Qlemo"Batchelor", Developer and EE Topic AdvisorCommented:
The debug output we see in the Immediate window is from prior runs (with On Error Resume Next active)?
If so, we'll ignore that.

The With references to a specific worksheet, to check for the range selected by the user on prompt. Why? The Range object should already have all required references.
HuaMin ChenProblem resolverAuthor Commented:
Yes, before this, that resume line is on. Please now leave my original query.

How to resolve the current problem as shown?
Qlemo"Batchelor", Developer and EE Topic AdvisorCommented:
Just use the Range object as-is. With Worksheets("Main Sheet").Range(copyRange) is With copyRange then.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
HuaMin ChenProblem resolverAuthor Commented:
Yes, the error is due to such Range line, while copyRange is having

$20:$20

inside.
Qlemo"Batchelor", Developer and EE Topic AdvisorCommented:
I've tested it with an empty workbook, and I'm correct. Do as suggested in https:#a41732940.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.