• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

My Online Training Hub

Learn Dashboards, Excel, Power BI, Power Query, Power Pivot

  • Courses
  • Pricing
    • Free Courses
    • Power BI Course
    • Excel Power Query Course
    • Power Pivot and DAX Course
    • Excel Dashboard Course
    • Excel PivotTable Course – Quick Start
    • Advanced Excel Formulas Course
    • Excel Expert Advanced Excel Training
    • Excel Tables Course
    • Excel, Word, Outlook
    • Financial Modelling Course
    • Excel PivotTable Course
    • Excel for Customer Service Professionals
    • Excel for Operations Management Course
    • Excel for Decision Making Under Uncertainty Course
    • Excel for Finance Course
    • Excel Analysis ToolPak Course
    • Multi-User Pricing
  • Resources
    • Free Downloads
    • Excel Functions Explained
    • Excel Formulas
    • Excel Add-ins
    • IF Function
      • Excel IF Statement Explained
      • Excel IF AND OR Functions
      • IF Formula Builder
    • Time & Dates in Excel
      • Excel Date & Time
      • Calculating Time in Excel
      • Excel Time Calculation Tricks
      • Excel Date and Time Formatting
    • Excel Keyboard Shortcuts
    • Excel Custom Number Format Guide
    • Pivot Tables Guide
    • VLOOKUP Guide
    • ALT Codes
    • Excel VBA & Macros
    • Excel User Forms
    • VBA String Functions
  • Members
    • Login
    • Password Reset
  • Blog
  • Excel Webinars
  • Excel Forum
    • Register as Forum Member

COMPILE ERROR : Block If without End if|VBA & Macros|Excel Forum|My Online Training Hub

You are here: Home / COMPILE ERROR : Block If without End if|VBA & Macros|Excel Forum|My Online Training Hub
Avatar
sp_LogInOut Log In sp_Registration Register
sp_Search Search
Advanced Search|Last Search Results
Search
Forum Scope




Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Search Search
sp_RankInfo
Lost password?
sp_CrumbsHome HomeExcel ForumVBA & MacrosCOMPILE ERROR : Block If without En…
sp_PrintTopic sp_TopicIcon
COMPILE ERROR : Block If without End if
Avatar
Steven Behr
Member
Members

Power Query
Level 0
Forum Posts: 85
Member Since:
January 30, 2020
sp_UserOfflineSmall Offline
1
December 3, 2020 - 7:14 am
sp_Permalink sp_Print

Morning All,

I have a code in my receiving stock database and in the end when I press 'Receive stock" VBA code

Compile error : Block If without End if

I added various codes with end if but comes up with various other erros. I realise that at times that I need attach the workbook but its too large!

Here is the code:

Private Sub cmdReceiving_Click()
PreReceipt
Dim x As Integer
Dim nextrow As Range
Dim DateCus As Range
'On Error GoTo cmdOrders_Click_Error
Me.Arec6.value = Format(Me.Arec6.value, "") ' Serial Number
Me.Brec6.value = Format(Me.Brec6.value, "") ' Serial Number
Me.Crec6.value = Format(Me.Crec6.value, "") ' Serial Number
Me.Drec6.value = Format(Me.Drec6.value, "") ' Serial Number
Me.Erec6.value = Format(Me.Erec6.value, "") ' Serial Number
Me.Frec6.value = Format(Me.Frec6.value, "") ' Serial Number
Me.Grec6.value = Format(Me.Grec6.value, "") ' Serial Number
Me.Hrec6.value = Format(Me.Hrec6.value, "") ' Serial Number
Me.Irec6.value = Format(Me.Irec6.value, "") ' Serial Number
If Me.cboReceiving.value = "" Or Me.txtONum.value = "" Or Me.txtDate.value = "" Or Me.Arec1.value = "" Then
MsgBox "No data in Stock"
Exit Sub
Else
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 1 : This location for this product needs to be registered first"
Exit Sub
Else
If Arec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Arec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 2 : This location for this product needs to be registered first"
Exit Sub
Else
If Brec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Brec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 3 : This location for this product needs to be registered first"
Exit Sub
Else
If Crec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Crec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 4 : This location for this product needs to be registered first"
Exit Sub
Else
If Drec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Drec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 5 : This location for this product needs to be registered first"
Exit Sub
Else
If Erec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Erec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 6 : This location for this product needs to be registered first"
Exit Sub
Else
If Frec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Frec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 7 : This location for this product needs to be registered first"
Exit Sub
Else
If Grec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Grec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 8 : This location for this product needs to be registered first"
Exit Sub
Else
If Hrec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Hrec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Set nextrow = Sheet3.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0)
If WorksheetFunction.CountIf(Sheet7.Range("B:B"), Me.Arec7.value) > 0 Then
MsgBox "WARNING!! LINE 9 : This location for this product needs to be registered first"
Exit Sub
Else
If Irec1.value > "" Then
For x = 1 To 6
nextrow = Me.Controls("Irec" & x).value
Set nextrow = nextrow.Offset(0, 1)
Next
End If
SetmeRec
Recieved
Unload Me
frmReceiving.Show
SortActuallLocCode
End If

End Sub

 

Thanks

 

Steve

Avatar
Velouria
London or thereabouts
Moderator
Members


Trusted Members

Moderators
Level 4
Forum Posts: 617
Member Since:
November 1, 2018
sp_UserOfflineSmall Offline
2
December 3, 2020 - 11:03 pm
sp_Permalink sp_Print

You're missing about 9 End If lines, since you have nested all your If clauses within each other. It's hard to be sure without the workbook (all you need to do is remove the data to get the size down I suspect), but I suspect they should not be nested, but separate checks. If that's the case, there should be an End If line before each subsequent If block.

sp_Feed
Go to top
Forum Timezone: Australia/Brisbane
Most Users Ever Online: 245
Currently Online: Ahmad Alkhuffash, Chandler Davis, Ramon Lagos, Paul Pritchard, michael serna
Guest(s) 10
Currently Browsing this Page:
1 Guest(s)
Top Posters:
SunnyKow: 1432
Anders Sehlstedt: 870
Purfleet: 412
Frans Visser: 346
David_Ng: 306
lea cohen: 219
A.Maurizio: 202
Jessica Stewart: 202
Aye Mu: 201
jaryszek: 183
Newest Members:
michael serna
mashal sana
Tiffany Kang
Leah Gillmore
Sopi Yuniarti
LAFONSO HERNANDEZ
Hayden Hao
Angela chen
Sean Moore
John Chisholm
Forum Stats:
Groups: 3
Forums: 24
Topics: 6215
Posts: 27245

 

Member Stats:
Guest Posters: 49
Members: 31897
Moderators: 3
Admins: 4
Administrators: Mynda Treacy, Philip Treacy, Catalin Bombea, FT
Moderators: MOTH Support, Velouria, Riny van Eekelen
© Simple:Press —sp_Information

Sidebar

Blog Categories

  • Excel
  • Excel Charts
  • Excel Dashboard
  • Excel Formulas
  • Excel PivotTables
  • Excel Shortcuts
  • Excel VBA
  • General Tips
  • Online Training
  • Outlook
  • Power Apps
  • Power Automate
  • Power BI
  • Power Pivot
  • Power Query
microsoft mvp logo
trustpilot excellent rating
Secured by Sucuri Badge
MyOnlineTrainingHub on YouTube Mynda Treacy on Linked In Mynda Treacy on Instagram Mynda Treacy on Twitter Mynda Treacy on Pinterest MyOnlineTrainingHub on Facebook
 

Company

  • About My Online Training Hub
  • Disclosure Statement
  • Frequently Asked Questions
  • Guarantee
  • Privacy Policy
  • Terms & Conditions
  • Testimonials
  • Become an Affiliate

Support

  • Contact
  • Forum
  • Helpdesk - For Technical Issues

Copyright © 2023 · My Online Training Hub · All Rights Reserved. Microsoft and the Microsoft Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Product names, logos, brands, and other trademarks featured or referred to within this website are the property of their respective trademark holders.