How to fix error "424" object required.

I have the following piece of code and it keeps generating error message as in the title. Can anybody help please?

 
With ActiveSheet.UsedRange
        .Value = .Value
    End With
    With NewWB
        For Each Shp In WS2.Shapes
            Shp.Delete
            ActiveWorkbook.SaveAs Filename:=FName
            .Close savechanges:=True
        Next Shp
    End With

Open in new window

Jennifer LiuAsked:
Who is Participating?
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.

Shaun VermaakTechnical Specialist/DeveloperCommented:
With ActiveSheet.UsedRange
        .Value = .Value
    End With
    With NewWB
        For Each Shp In WS2.Shapes
            Shp.Delete
        Next Shp
        .SaveAs Filename:=FName
        .Close savechanges:=True
    End With

Open in new window

0
ShumsDistinguished Expert - 2017Commented:
It doesn't seems to be full code but for piece of code try below:
With ActiveSheet.UsedRange
    .Value = .Value
End With
With NewWB
    For Each Shp In Sheets(1).Shapes
        Shp.Delete
        ThisWorkbook.SaveAs Filename:=FName
        .Close savechanges:=True
    Next Shp
End With

Open in new window

1
Bill PrewCommented:
What is the purpose of:

.Value = .Value

And where are NewWB and WS2 set, I don't see that happening?

~bp
0
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.

ShumsDistinguished Expert - 2017Commented:
Replace above code with:
With ActiveSheet.UsedRange
        .Value = .Value
End With
With NewWB
        WS2.DrawingObjects.Delete
        ActiveWorkbook.SaveAs Filename:=FName
        .Close savechanges:=True
End With

Open in new window

1

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
Jennifer LiuAuthor Commented:
Thank you so much Shum for your valuable input into solving my problems with VBA code. Now I can run my reports seamlessly with the command button working in the worksheet.
0
ShumsDistinguished Expert - 2017Commented:
You're Welcome Jennifer! Glad I was able to help you :)
0
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
VB Script

From novice to tech pro — start learning today.