VBA User selecting file now the code errors Type Mismatch

Razor_Rob

Board Regular
Joined
Aug 18, 2022
Messages
65
Office Version
  1. 365
Platform
  1. Windows
Hi everyone,

The code below works fine, then I added a code to make the user select the file that they need to copy from and now the code comes back with an error Type Mismatch.
Sorry just learning as I go....
Also with the code that has Range ie A3:A200 , how can I just make the code go through the whole column while theres data. As the range can change.

Thanks in advance. I really appreciate it.

VBA Code:
Sub Import_Data()

Application.ScreenUpdating = False
Application.EnableEvents = False

Dim wsCopy As Worksheet
Dim wsDest As Worksheet
Dim lCopyLastRow As Long
Dim lDestLastRow As Long
Dim lngRow As Long
Dim BotRow As Long
Dim rng As Range
Dim WorkRng As Range
Dim Rng2 As Range
Dim WorkRng2 As Range
Dim Rng3 As Range
Dim WorkRng3 As Range

'Open a workbook
Dim fileNameAndPath As Variant
fileNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLSX), *.XLSX", Title:="Select File To Be Opened")
If fileNameAndPath = False Then Exit Sub
Workbooks.Open Filename:=fileNameAndPath
        

'Open a workbook

  'Open method requires full file path to be referenced.
 ' Workbooks.Open "\\xxxx\xxx\My Documents\Notifications\Test\Import.xlsx"
  Workbooks.Open "\\xxxx\xxx\\My Documents\Notifications\Test\Import.csv"
  
  'Open method has additional parameters
  'Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
  'Help page: https://docs.microsoft.com/en-us/office/vba/api/excel.workbooks.open


  'Set wsCopy = Workbooks("Import.xlsx").Worksheets(1)
  Set wsCopy = Application.Workbooks.Open(fileNameAndPath).Worksheets(1)
  Set wsDest = Workbooks("Import.csv").Worksheets(1)
  wsDest.Cells.EntireColumn.AutoFit
    
    '1. Find last used row in the copy range based on data in column A
    lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row
      
    '2. Find first blank row in the destination range based on data in column A
    'Offset property moves down 1 row
    lDestLastRow = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Offset(1).Row
    
    '3. Clear contents of existing data range
    wsDest.Range("A3:BJ" & lDestLastRow).ClearContents

    '4. Copy & Paste Data
    wsCopy.Range("E2:BN" & lCopyLastRow).Copy _
      wsDest.Range("A3")
      
    '5 Clear contents of non required fields
    wsDest.Range("AQ3:AY200, BB3:BG200" & lDestLastRow).ClearContents
    
    '6. Convert Name to Code
    Cells(Rows.Count, "BH").Select
    Selection.End(xlUp).Select
    BotRow = Selection.Row
    For lngRow = 1 To BotRow
    If InStr(1, Cells(lngRow, "BH").Value, "BAW") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "316070"
    End If
    If InStr(1, Cells(lngRow, "BH").Value, "ASA") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "315191"
    End If
    If InStr(1, Cells(lngRow, "BH").Value, "MEGT") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "335512"
    End If
    If InStr(1, Cells(lngRow, "BH").Value, "MRAEL") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "312280"
    End If
    If InStr(1, Cells(lngRow, "BH").Value, "SARINA") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "341977"
    End If
    If InStr(1, Cells(lngRow, "BH").Value, "SKILLS360") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "348259"
    End If
    If InStr(1, Cells(lngRow, "BH").Value, "MAS") > 0 Then
        Cells(lngRow, "BG") = Cells(lngRow, "BG") & "324274"
    End If
    Next
    
    '7. Add Liability Category
    'wsDest.Range("AF3:AF200").Formula = "=DATEDIF(D3:D200,Now(),""y"")"
     '7a Add Liability Category
     '*******
    Dim objSheet As Worksheet, lngAgeCol As Long, lngEndRow As Long, i2 As Long
    Dim lngStartRow As Long

    With Range("AF3")
        Set objSheet = .Worksheet
        lngAgeCol = .Column
        lngStartRow = .Row + 2
    End With

    lngEndRow = objSheet.Cells.SpecialCells(xlLastCell).Row

    For i2 = lngStartRow To lngEndRow
        objSheet.Cells(i2, lngAgeCol).FormulaR1C1 = "=IF(RC[-28]="""","""",ROUNDDOWN(YEARFRAC(RC[-28],NOW()),0))"
    Next
    '*******
    
    wsDest.Activate
        
    Dim Lastrow As Long
    Dim i As Long
        
    Lastrow = Range("AF" & Rows.Count).End(xlUp).Row
    For i = 3 To Lastrow
        If Range("AF" & i).Value <= 21 Then
            Range("AE" & i).Value = "G2"
        ElseIf Range("AF" & i).Value <= 25 Then
            Range("AE" & i).Value = "G6"
        ElseIf Range("AF" & i).Value > 25 Then
            Range("AE" & i).Value = "O1"
        Else: Range("AE" & i).Value = ""
        End If
    Next i
      
    '7b  Liability
    Cells(Rows.Count, "V").Select
    Selection.End(xlUp).Select
    BotRow = Selection.Row
    For lngRow = 1 To BotRow
    If InStr(1, Cells(lngRow, "V").Value, "School Based") > 0 Then
        Cells(lngRow, "AE") = Cells(lngRow, "AE") & "21"
    End If
    Next
    
    '7c  Liability
    Cells(Rows.Count, "S").Select
    Selection.End(xlUp).Select
    BotRow = Selection.Row
    For lngRow = 1 To BotRow
    If InStr(1, Cells(lngRow, "S").Value, "TRN_FT_A") > 0 Then
        Cells(lngRow, "AE") = Cells(lngRow, "AE") & "O2"
    End If
    If InStr(1, Cells(lngRow, "S").Value, "TRN_PT_A") > 0 Then
        Cells(lngRow, "AE") = Cells(lngRow, "AE") & "O2"
    End If
    Next
      
    '8. Move Employer Name to EmpoyerExternal Org and School Name to Manually Convert and/or Request to Code
    Set WorkRng = Range("AN3:AN200")
    For Each rng In WorkRng
        If rng.Value = 0 Then
            rng.Value = rng.Offset(0, 2).Value

        End If
    Next rng
    
    Set WorkRng2 = Range("AJ3:AJ200")
    For Each Rng2 In WorkRng2
        If Rng2.Value = 0 Then
            Rng2.Value = Rng2.Offset(0, 1).Value

        End If
    Next Rng2
     
    '9. Clear DELTA Qual ID, AASN Name, Employer Name, School Name
    wsDest.Range("AZ3:AZ200,BH3:BH200, AP3:AP200, AK3:AK200, AF3:AF200" & lDestLastRow).ClearContents
        
    Set WorkRng3 = Range("AF3:AF200")
    For Each Rng3 In WorkRng3
        If Rng3.Value = 0 Then
            Rng3.Value = Rng3.Offset(0, -1).Value

        End If
    Next Rng3
    
    ' Liability code clean up for the School Based and Traineeship
    With Columns("AF") '<- Check column
        .Replace what:="G221", replacement:="21", LookAt:=xlWhole, MatchCase:=False
    End With
    With Columns("AF") '<- Check column
        .Replace what:="G2O2", replacement:="O2", LookAt:=xlWhole, MatchCase:=False
    End With
    With Columns("AF") '<- Check column
        .Replace what:="G6O2", replacement:="O2", LookAt:=xlWhole, MatchCase:=False
    End With
    With Columns("AF") '<- Check column
        .Replace what:="O1O2", replacement:="O2", LookAt:=xlWhole, MatchCase:=False
    End With

    '10 Clear Column AE Study Period
    wsDest.Range("AE3:AE200" & lDestLastRow).ClearContents
       
    '11 Remove Qual code in the Qual Title
    With Range("X3", Range("X" & Rows.Count).End(xlUp))
    .Value = Evaluate("=IF({1},MID(" & .Address & ",1,LEN(" & .Address & ")-11))")
    End With
           
    '12 Replace Yes and No to Y and N
    With Columns("BA") '<- Check column
        .Replace what:="Yes", replacement:="Y", LookAt:=xlWhole, MatchCase:=False
        .Replace what:="No", replacement:="N", LookAt:=xlWhole, MatchCase:=False
    End With
    
    '13 Put hypen on School Based
    With Columns("V") '<- Check column
        .Replace what:="School Based", replacement:="School-Based", LookAt:=xlWhole, MatchCase:=False
    End With
    
    '14a Remove spaces from the mobile number
    'Remove multiple spaces from a range
    With wsDest
    .Range("Q3:Q200", .Cells(.Rows.Count, "Q").End(xlUp)).Replace " ", vbNullString, xlPart
    End With
    
    
    '14b Add zero on the student's mob number
    Dim Lastrow2 As Long, cell As Range
    
    
    Lastrow2 = Range("Q" & Rows.Count).End(xlUp).Row       'Last used row in column A
    Range("Q3:Q" & Lastrow2).NumberFormat = "@"            'format range as text
    
    For Each cell In Range("Q3:Q" & Lastrow)
         cell.Value = Format(cell * 1, "0000000000")      'Convert each cell
    Next cell
    Range("Q3:Q" & Lastrow2).Copy Destination:=Range("Q3") 'copy to column C
        
           
    'Proper case for Address 1 and Suburb (Column I and L)
    '[I:L] = [Index(Proper(I:L),)]
    With Range("I3", Cells(Rows.Count, "I").End(xlUp))
        .Value = Evaluate("INDEX(Proper(" & .Address(External:=True) & "),)")
    End With
     With Range("L3", Cells(Rows.Count, "L").End(xlUp))
        .Value = Evaluate("INDEX(Proper(" & .Address(External:=True) & "),)")
    End With
    
    'Clear contents of existing data range
    wsDest.Range("BL2:BL" & lDestLastRow).ClearContents

    Application.ScreenUpdating = True
    Application.EnableEvents = True
    
End Sub
 
That made life a lot easier.
Below is revised version of your code. I have only done a tidy up not a rewrite.

2 things you need to address in the code are:
a) Where you want Q copied to, column C obviously isn't right
Rich (BB code):
        .Range("Q3:Q" & lDestLastRow).Copy Destination:=.Range("C3")

b) This line is clearing BL but BJ seems more likely.
Rich (BB code):
   wsDest.Range("BL2:BL" & lDestLastRow).ClearContents

Here is the revised code:
VBA Code:
Sub Import_Data_v02()

    Application.ScreenUpdating = False
    Application.EnableEvents = False
   
    Dim wsCopy As Worksheet
    Dim wsDest As Worksheet
    Dim lCopyLastRow As Long
    Dim lDestLastRow As Long
    Dim lngRow As Long
    Dim rng As Range
    Dim WorkRng As Range
    Dim Rng2 As Range
    Dim WorkRng2 As Range
    Dim Rng3 As Range
    Dim WorkRng3 As Range
   
    'Open a workbook
    Dim fileNameAndPath As Variant
    fileNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLSX), *.XLSX", Title:="Select File To Be Opened")
    If fileNameAndPath = False Then Exit Sub
    Workbooks.Open Filename:=fileNameAndPath
              
    'Open a workbook
   
    'Open method requires full file path to be referenced.
    ' Workbooks.Open "\\xxxx\xxx\My Documents\Notifications\Test\Import.xlsx"
    'Workbooks.Open "\\xxxx\xxx\\My Documents\Notifications\Test\Import.csv"
   
    'Open method has additional parameters
    'Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
    'Help page: https://docs.microsoft.com/en-us/office/vba/api/excel.workbooks.open
   
    'Set wsCopy = Workbooks("Import.xlsx").Worksheets(1)
    Set wsCopy = Application.Workbooks.Open(fileNameAndPath).Worksheets(1)
    Set wsDest = Workbooks("Import.csv").Worksheets(1)
    wsDest.Cells.EntireColumn.AutoFit
    '
    'Set wsDest = Worksheets(1)
   
    '1. Find last used row in the copy range based on data in column A
    lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row
     
    '2. Find last row in the destination range based on data in column A
    lDestLastRow = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Row
   
    '3. Clear contents of existing data range
    wsDest.Range("A3:BJ" & lDestLastRow).ClearContents

    '4. Copy & Paste Data
    wsCopy.Range("E2:BN" & lCopyLastRow).Copy _
      wsDest.Range("A3")
    ' set new last row after Copy-Paste
    lDestLastRow = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Row
     
    '5 Clear contents of non required fields
    wsDest.Range("AQ3:AY" & lDestLastRow, "BB3:BG" & lDestLastRow).ClearContents
   
    '6. Convert Name to Code
    With wsDest
        For lngRow = 3 To lDestLastRow
            If InStr(1, .Cells(lngRow, "BH").Value, "BAW") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "316070"
            End If
            If InStr(1, .Cells(lngRow, "BH").Value, "ASA") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "315191"
            End If
            If InStr(1, .Cells(lngRow, "BH").Value, "MEGT") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "335512"
            End If
            If InStr(1, .Cells(lngRow, "BH").Value, "MRAEL") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "312280"
            End If
            If InStr(1, .Cells(lngRow, "BH").Value, "SARINA") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "341977"
            End If
            If InStr(1, .Cells(lngRow, "BH").Value, "SKILLS360") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "348259"
            End If
            If InStr(1, .Cells(lngRow, "BH").Value, "MAS") > 0 Then
                .Cells(lngRow, "BG") = .Cells(lngRow, "BG") & "324274"
            End If
        Next lngRow
    End With
   
    '7. Add Liability Category
    'wsDest.Range("AF3:AF200").Formula = "=DATEDIF(D3:D200,Now(),""y"")"
     '7a Add Liability Category
     '*******
    Dim lngAgeCol As Long, lngEndRow As Long
    Dim lngStartRow As Long

    With wsDest.Range("AF3")
        lngAgeCol = .Column
        lngStartRow = .Row
    End With
   
    With wsDest
        .Range(.Cells(lngStartRow, lngAgeCol), .Cells(lDestLastRow, lngAgeCol)).FormulaR1C1 = "=IF(RC[-28]="""","""",ROUNDDOWN(YEARFRAC(RC[-28],NOW()),0))"
    End With
   
    '*******
   
    'wsDest.Activate
   
    With wsDest
        For lngRow = 3 To lDestLastRow
            If .Range("AF" & lngRow).Value <= 21 Then
                .Range("AE" & lngRow).Value = "G2"
            ElseIf .Range("AF" & lngRow).Value <= 25 Then
                .Range("AE" & lngRow).Value = "G6"
            ElseIf .Range("AF" & lngRow).Value > 25 Then
                .Range("AE" & lngRow).Value = "O1"
            Else
                .Range("AE" & lngRow).Value = ""
            End If
        Next lngRow
    End With
         
    '7b  Liability
    With wsDest
        'BotRow = .Cells(.Rows.Count, "V").End(xlUp).Row
        For lngRow = 3 To lDestLastRow
            If InStr(1, .Cells(lngRow, "V").Value, "School Based") > 0 Then
                .Cells(lngRow, "AE") = .Cells(lngRow, "AE") & "21"
            End If
        Next lngRow
    End With
           
    '7c  Liability
    With wsDest
        'BotRow = .Cells(.Rows.Count, "S").End(xlUp).Row
        For lngRow = 3 To lDestLastRow
            If InStr(1, .Cells(lngRow, "S").Value, "TRN_FT_A") > 0 Then
                .Cells(lngRow, "AE") = .Cells(lngRow, "AE") & "O2"
            End If
            If InStr(1, .Cells(lngRow, "S").Value, "TRN_PT_A") > 0 Then
                .Cells(lngRow, "AE") = .Cells(lngRow, "AE") & "O2"
            End If
        Next lngRow
    End With
         
    '8. Move Employer Name to EmpoyerExternal Org and School Name to Manually Convert and/or Request to Code
    With wsDest
        Set WorkRng = .Range("AN3:AN" & lDestLastRow)
        For Each rng In WorkRng
            If rng.Value = 0 Then
                rng.Value = rng.Offset(0, 2).Value
   
            End If
        Next rng
       
        Set WorkRng2 = .Range("AJ3:AJ" & lDestLastRow)
        For Each Rng2 In WorkRng2
            If Rng2.Value = 0 Then
                Rng2.Value = Rng2.Offset(0, 1).Value
   
            End If
        Next Rng2
    End With
    
    '9. Clear DELTA Qual ID, AASN Name, Employer Name, School Name
    With wsDest
        Intersect(.Rows("3:" & lDestLastRow), .Range("AZ:AZ, BH:BH, AP:AP, AK:AK, AF:AF")).ClearContents
           
        Set WorkRng3 = .Range("AF3:AF" & lDestLastRow)
        For Each Rng3 In WorkRng3
            If Rng3.Value = 0 Then
                Rng3.Value = Rng3.Offset(0, -1).Value
   
            End If
        Next Rng3
       
        ' Liability code clean up for the School Based and Traineeship
        With .Columns("AF") '<- Check column
            .Replace what:="G221", replacement:="21", LookAt:=xlWhole, MatchCase:=False
        End With
        With .Columns("AF") '<- Check column
            .Replace what:="G2O2", replacement:="O2", LookAt:=xlWhole, MatchCase:=False
        End With
        With .Columns("AF") '<- Check column
            .Replace what:="G6O2", replacement:="O2", LookAt:=xlWhole, MatchCase:=False
        End With
        With .Columns("AF") '<- Check column
            .Replace what:="O1O2", replacement:="O2", LookAt:=xlWhole, MatchCase:=False
        End With
    End With

    '10 Clear Column AE Study Period
    wsDest.Range("AE3:AE" & lDestLastRow).ClearContents
      
    '11 Remove Qual code in the Qual Title
    With wsDest.Range("X3:X" & lDestLastRow)
        .Value = Evaluate("=IF({1},MID(" & .Address & ",1,LEN(" & .Address & ")-11))")
    End With
          
    '12 Replace Yes and No to Y and N
    With wsDest.Columns("BA") '<- Check column
        .Replace what:="Yes", replacement:="Y", LookAt:=xlWhole, MatchCase:=False
        .Replace what:="No", replacement:="N", LookAt:=xlWhole, MatchCase:=False
    End With
   
    '13 Put hypen on School Based
    With wsDest.Columns("V") '<- Check column
        .Replace what:="School Based", replacement:="School-Based", LookAt:=xlWhole, MatchCase:=False
    End With
   
    '14a Remove spaces from the mobile number
    'Remove multiple spaces from a range
    With wsDest
        .Range("Q3:Q" & lDestLastRow).Replace " ", vbNullString, xlPart
    End With
      
    '14b Add zero on the student's mob number
    Dim cell As Range
      
    With wsDest
        .Range("Q3:Q" & lDestLastRow).NumberFormat = "@"            'format range as text
       
        For Each cell In .Range("Q3:Q" & lDestLastRow)
             cell.Value = Format(cell * 1, "0000000000")      'Convert each cell
        Next cell
        .Range("Q3:Q" & lDestLastRow).Copy Destination:=.Range("C3") 'copy to column C
    End With
          
    'Proper case for Address 1 and Suburb (Column I and L)
    With wsDest.Range("I3:I" & lDestLastRow)
        .Value = Evaluate("INDEX(Proper(" & .Address(External:=True) & "),)")
    End With
   
    With wsDest.Range("L3:L" & lDestLastRow)
        .Value = Evaluate("INDEX(Proper(" & .Address(External:=True) & "),)")
    End With
   
    'Clear contents of existing data range
    wsDest.Range("BL2:BL" & lDestLastRow).ClearContents

    Application.ScreenUpdating = True
    Application.EnableEvents = True
   
End Sub
 
Upvote 0

Excel Facts

How to fill five years of quarters?
Type 1Q-2023 in a cell. Grab the fill handle and drag down or right. After 4Q-2023, Excel will jump to 1Q-2024. Dash can be any character.
Thank you so much, works really well.

lastly, if its not too much to ask... How do I close the wsCopy workbook? the source workbook as I dont need it open.
The code below error to out of range
VBA Code:
Workbooks(wsCopy).Close
Dont really want to use below which closes the 1st open workbook as it also closes existing open workbook if you have any opened before running the code.
VBA Code:
Workbooks(1).Close

Thanks again
 
Upvote 0
I just noticed just now if I step through the code it works fine...
If I just run the code
Colum X has #VALUE!
 
Upvote 0
For the close just put.
VBA Code:
wsCopy.Close

For the formula, are you able to manually put the formula in a cell in column X and send me what it looks like when it is working ?
 
Last edited:
Upvote 0
The column X is copying data from the source (wsCopy) column AT Employer Trading name

Its weird it works when you step through the code (F8) but when you run it's got that #Value!
 
Upvote 0
VBA Code:
wsCopy.Close
there's no close expression, wsCopy is a worksheet
 
Upvote 0
Oops sorry,
You could get away with this:
Rich (BB code):
wsCopy.Parent.Close SaveChanges:=False

Better practice would be to replace these 2 lines:
VBA Code:
    Workbooks.Open Filename:=fileNameAndPath
    Set wsCopy = Application.Workbooks.Open(fileNameAndPath).Worksheets(1)

With these line:
(includes opening as read only)
VBA Code:
    Dim wbCopy As Workbook
    Set wbCopy = Workbooks.Open(Filename:=fileNameAndPath, ReadOnly:=True)
    Set wsCopy = wbCopy.Worksheets(1)

Then close with
VBA Code:
wbCopy.Close SaveChanges:=False

In terms of your value error, replace the current Evaluate line with the one below:-
Rich (BB code):
    '11 Remove Qual code in the Qual Title
    With wsDest.Range("X3:X" & lDestLastRow)
        .Value = Evaluate("=IF({1},MID(" & .Address(0, 0, 1, 1) & ",1,LEN(" & .Address(0, 0, 1, 1) & ")-11))")
    End With
 
Upvote 0
Solution
Thank you that worked well!

I know, I'm sorry ... there's a but....

Column C (Other Name) copied the Phone number from Column Q

I really appreciate your help
 
Upvote 0
Sorry I just realise there's a line that shouldnt be there...
VBA Code:
.Range("Q3:Q" & lDestLastRow).Copy Destination:=.Range("C3") 'copy to column C

All good now, thanks again
 
Upvote 0
Setting the proper case seems to be deleting the space between the street number and street name so the value from the copied data ie 123 Street Name into the new date 123StreetName
VBA Code:
    With wsDest.Range("I3:I" & lDestLastRow)
        .Value = Evaluate("INDEX(Proper(" & .Address(External:=True) & "),)")
    End With
   
    With wsDest.Range("L3:L" & lDestLastRow)
        .Value = Evaluate("INDEX(Proper(" & .Address(External:=True) & "),)")
    End With
 
Upvote 0

Forum statistics

Threads
1,224,819
Messages
6,181,153
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top