Reference cells in VBA code that have formulas.

djonik1234

New Member
Joined
Mar 30, 2022
Messages
29
Office Version
  1. 365
Platform
  1. Windows
This code works perfectly if I set my values manually in G Column which trigger column I to change and send emails if I changes to 1 Tool worth. . But if G column has a formula "=MAX(0,D13-E13)" it does not work.
Is there a way for me to reference all those G columns to be able to recognize the formula. The formula for each row changes based on the row number. See screenshot for reference. Thank you for your help.



VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Not Application.Intersect(Range("G13:G15, G17:G18, G22:G28, G31:G32, G34:G35, G41, G43:G44, G46, G50:G51, G55:G58"), Target) Is Nothing Then
   If Target.Offset(0, 2) = "1 Tool Worth" And Cells(Target.Row, 14) = "" Then
     Cells(Target.Row, 14) = "Y"
     
    ElseIf Target.Offset(0, 2) = "2 Tools Worth" Or Target.Offset(0, 2) = "3 Tools Worth" Or Target.Offset(0, 2) = "4 Tools Worth" Or Target.Offset(0, 2) = "5 or more" Then
    Cells(Target.Row, 14) = ""
    End
     
   Else
     End
   End If
 
      Dim OutApp As Object
      Dim OutMail As Object
      Dim strbody As String
    
      Set OutApp = CreateObject("Outlook.Application")
      Set OutMail = OutApp.CreateItem(0)
    
      strbody = "This is automated email to inform you that inventory status for " & Cells(Target.Row, 2) & " has change to '2 Tools Worth' or less." & vbNewLine & vbNewLine & _
                "Confirm there are enough " & Cells(Target.Row, 2) & " for tools that are on schedule to be moved out."

      On Error Resume Next
       
         With OutMail
           .To = "email"
           .cc = ""
           .Bcc = ""
           .Importance = 2
           .Subject = "Low Casters/Fixture Inventory!"
           .Body = strbody
            .Attachments.Add ("https://corp4.sharepoint.com/:x:/r/sites/TEA-FS-INTD1-PDX-TRAC/Shared%20Documents/Decon%20Tools/Demo%20Fixture%20Inventory/D1X%20Utility%20Cage%20Inventory.xlsm?d=w79404ca8c4c34967921e51ff6ad4e403&csf=1&web=1&e=uXfkpM")
        
' .Attachments.Add ("My Attachment link")
          .Send '.Display
         End With
      On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End If
End Sub
 

Attachments

  • Capture.JPG
    Capture.JPG
    175.1 KB · Views: 12

Excel Facts

Save Often
If you start asking yourself if now is a good time to save your Excel workbook, the answer is Yes
This code works perfectly if I set my values manually in G Column which trigger column I to change and send emails if I changes to 1 Tool worth. . But if G column has a formula "=MAX(0,D13-E13)" it does not work.
That is correct and the expected behavior.
Worksheet_Change event procedure code ONLY fires when data is manually updated. It does not fire when values are updated by formulas or links.

There is a Worksheet_Calculate event that fires when data is changed by formulas, however, this has some severe limitations, which often make it not a good substitute.
The biggest limitation is that it cannot tell which cell's values changed - only that some cell somewhere on the sheet was re-calculated.
So you cannot monitor specific cells for changes like you can with Worksheet_Change.

However, there may be another way around this. You say that your formula is:
Excel Formula:
=MAX(0,D13-E13)
That begs the question how D13 and E13 are updated.
If they are being updated manually, you may be able to change your Worksheet_Change event procedure code to what columns D and E for changes instead of column G.
 
Upvote 0
That is correct and the expected behavior.
Worksheet_Change event procedure code ONLY fires when data is manually updated. It does not fire when values are updated by formulas or links.

There is a Worksheet_Calculate event that fires when data is changed by formulas, however, this has some severe limitations, which often make it not a good substitute.
The biggest limitation is that it cannot tell which cell's values changed - only that some cell somewhere on the sheet was re-calculated.
So you cannot monitor specific cells for changes like you can with Worksheet_Change.

However, there may be another way around this. You say that your formula is:
Excel Formula:
=MAX(0,D13-E13)
That begs the question how D13 and E13 are updated.
If they are being updated manually, you may be able to change your Worksheet_Change event procedure code to what columns D and E for changes instead of column G.

Column D is using this formula =COUNTIF('Inventory Check-in'!$A$4:$Z$999992,'D1X Inventory'!C41)
Column Eis using this formula =COUNTIF('Inventory Check-out'!$A$4:$AA$999980,'D1X Inventory'!C41)

C41 in both cases is Barcode ID that is Being referenced to specific item when scanned

This worksheet is basically an inventory sheet that counts items that are being checked in or out. Hopefully it makes some sense.
 
Upvote 0
So those are formulas that reference other sheets? That is a problem. I do not see a good way around this without changing some things/processes.

You may have to re-think how you want all this to work (specifically how/when you want this code to run).
You may want to think about possibly adding some other "helper" columns that flag if/when a row has been sent out.
Then you may be able to use the Worksheet_Calculate event, looping through ALL your data every time anything is recalculated, and see if it meets you criteria and this "flag" complete has already been updated.
If updated, process that row and update the flag for that row, so it won't get hit again.
 
Upvote 0
So those are formulas that reference other sheets? That is a problem. I do not see a good way around this without changing some things/processes.

You may have to re-think how you want all this to work (specifically how/when you want this code to run).
You may want to think about possibly adding some other "helper" columns that flag if/when a row has been sent out.
Then you may be able to use the Worksheet_Calculate event, looping through ALL your data every time anything is recalculated, and see if it meets you criteria and this "flag" complete has already been updated.
If updated, process that row and update the flag for that row, so it won't get hit again.

When you say "adding some other "helper" columns that flag if/when a row has been sent out." are you talking about flagging the formula change or flagging if the email was sent based or not. I already have "helper cells" columns that places Y into each row when the amount changes to 1 Tool worth or anything less than that. (image in my fist post might be helpful to understand)
 
Upvote 0
When you say "adding some other "helper" columns that flag if/when a row has been sent out." are you talking about flagging the formula change or flagging if the email was sent based or not. I already have "helper cells" columns that places Y into each row when the amount changes to 1 Tool worth or anything less than that. (image in my fist post might be helpful to understand)
Forgot to mention that Yes these formulas reference other sheets. Inventory check in sheet and Inventory Check out sheet.
 
Upvote 0
When you say "adding some other "helper" columns that flag if/when a row has been sent out." are you talking about flagging the formula change or flagging if the email was sent based or not. I already have "helper cells" columns that places Y into each row when the amount changes to 1 Tool worth or anything less than that. (image in my fist post might be helpful to understand)
The image in your first post isn't as helpful as it should be, as you cut off the column headers, so I cannot tell what columns everything is in.

What I mean is if the conditions are met to generate an email, update some column in that row to indicate that the email was sent.

Then when checking your conditions on whether or not to send an email, include this column in your check.

Note that this would all be under a "Worksheet_Calculate" event because as I said, I don't believe you are going to be able to use "Worksheet_Change" to do what you want since you have values being updated by formulas.
 
Upvote 0
The image in your first post isn't as helpful as it should be, as you cut off the column headers, so I cannot tell what columns everything is in.

What I mean is if the conditions are met to generate an email, update some column in that row to indicate that the email was sent.

Then when checking your conditions on whether or not to send an email, include this column in your check.

Note that this would all be under a "Worksheet_Calculate" event because as I said, I don't believe you are going to be able to use "Worksheet_Change" to do what you want since you have values being updated by formulas.
The image in your first post isn't as helpful as it should be, as you cut off the column headers, so I cannot tell what columns everything is in.

What I mean is if the conditions are met to generate an email, update some column in that row to indicate that the email was sent.

Then when checking your conditions on whether or not to send an email, include this column in your check.

Note that this would all be under a "Worksheet_Calculate" event because as I said, I don't believe you are going to be able to use "Worksheet_Change" to do what you want since you have values being updated by formulas.
The file is too large when I try to include a screenshot of the whole sheet. I already have a condition set when to generate an email with a helper Column. The condition is looking for "1 tool Worth" in Invenotry status for Imm tool column which also has a formula:

=IF(G14=0,"Out of Stock",IF(G14<=11,"Limited Stock",IF(AND(G14<24,G14>=12),"1 Tool Worth",IF(AND(G14<36,G14>=24),"2 Tools Worth",IF(AND(G14<48,G14>=36),"3 Tools Worth",IF(AND(G14<60,G14>=48),"4 Tools Worth","5 or more"))))))

If I use worksheet calculate. do I have to completely change my code?
 

Attachments

  • Capture.JPG
    Capture.JPG
    169.4 KB · Views: 7
Upvote 0
If I use worksheet calculate. do I have to completely change my code?
Not entirely. You can borrow some of the code, but might need to change a few things.

The biggest thing is that you can no longer identify which cell changed. That means that you will need to create a loop to loop through ALL of your data, and check every row each time.

That loop would be structured something like this:
VBA Code:
    Dim cell As Range
    
'   Set range to check
    For Each cell In Range("G13:G15, G17:G18, G22:G28, G31:G32, G34:G35, G41, G43:G44, G46, G50:G51, G55:G58")
'       Your code here
    Next cell

So "cell" is the range you will be checking and working with now, not "Target".
 
Upvote 0
Not entirely. You can borrow some of the code, but might need to change a few things.

The biggest thing is that you can no longer identify which cell changed. That means that you will need to create a loop to loop through ALL of your data, and check every row each time.

That loop would be structured something like this:
VBA Code:
    Dim cell As Range
   
'   Set range to check
    For Each cell In Range("G13:G15, G17:G18, G22:G28, G31:G32, G34:G35, G41, G43:G44, G46, G50:G51, G55:G58")
'       Your code here
    Next cell

So "cell" is the range you will be checking and working with now, not "Target".

Would you be able to help me out writing the code correctly. I am having tissues changing the code to work as worksheet calculate. Hoping I am not asking too much.

D1X Utility Cage Inventory (TEST) .xlsm
ABCDEFGHIJKLMN
10
11Pro-V Block Name Caster TypeItem CodeQty_InQty_OutQty Needed BARCQty_leftInventory status for DRY ToolInventory status for Imm ToolInventory status for BARC ToolNotes!DO NOT DELETE! INFO FOR EMAIL DISTRIBUTION ONLY
12MPB / STB (Inventory status accounts for both MPB and STB Block)
13Docking CastersMPBSTB0175352405 or more5 or more5 or more
14Shipping Caster - Wheel on Right or Left SideMPBSTB0216111112504 Tools Worth4 Tools Worth4 Tools WorthWheels are interchangeable from Left to Right side and vise versa.
15Outriggers (Wide)MPBSTB0310599461 Tool Worth1 Tool Worth1 Tool WorthY
16PRB-F
17Docking Casters PRBF0151404112 Tools Worth2 Tools Worth2 Tools WorthIf wheels not included, they temporarily can be taken from PRB-F/PRB-B shipping casters for Block separation.
18Shipping Caster - Wheel on Right Side (no spacers) PRBF0348375112 Tools Worth2 Tools Worth2 Tools Worth
19Jumbo Casters - No cut outs. PRBF041212*10Out of StockOut of StockOut of StockJumbo casters without cut outs can be used as a substitute if not enough regular shipping casters.Excluded
20Jumbo Casters - With cut outs. PRBF052921*284 Tools Worth4 Tools Worth4 Tools WorthJumbo casters with cut outs can be used as a substitute if not enough regular shipping casters.Excluded
21PRB-B
22ISHU CastersPRBB0134202145 or more5 or more5 or more
23ISHU SupportsPRBB0252383144 Tools Worth4 Tools Worth4 Tools Worth
24Shipping Caster - Wheel on Right Side (Thin Spacer) PRBB032821273 Tools Worth3 Tools Worth3 Tools Worth
25Shipping Caster - Wheel on Left Side (Thin Spacer) PRBB041612144 Tools Worth4 Tools Worth4 Tools Worth
26Shipping Caster - Wheel on Right Side (Thick Spacer) PRBB05138155 or more5 or more5 or more
27Shipping Caster - Wheel on Left Side (Thick Spacer) PRBB062920294 Tools Worth4 Tools Worth4 Tools Worth
28Narrow FeetPRBB0779665132 Tools Worth2 Tools Worth2 Tools WorthNarrow feet should be installed on casters . Any extra feet will be on it's own section of the shelf.
29Jumbo Casters - With or Without cut outs. N/AN/A0*351 Tool Worth1 Tool Worth1 Tool WorthJumbo casters with or without cut outs can be used as a substitute if not enough regular shipping casters.Excluded
30IPRB
31Shipping Caster - Wheel on Left SideIPRB016054N/A6N/A1 Tool WorthN/A
32Outriggers (Narrow)IPRB023626N/A10N/A5 or moreN/A
33IFB
34Shipping Caster - Wheel on Right Side IFB012520N/A52 Tools Worth2 Tools WorthN/A
35Shipping Caster - Wheel on Left Side IFB022822N/A63 Tools Worth3 Tools WorthN/A
D1X Inventory
Cell Formulas
RangeFormula
F11F11=IF(B9="Dry","Qty Needed DRY",IF(B9="Imm","Qty Needed Imm",IF(B9="BARC", "Qty Needed BARC", IF(B9="-","Select Tool Type"))))
D13:D15,D34:D35,D31:D32,D22:D28,D17:D20D13=COUNTIF('Inventory Check-in'!$A$4:$Z$999989,'D1X Inventory'!C13)
E13:E15,E34:E35,E31:E32,E22:E29,E17:E20E13=COUNTIF('Inventory Check-out'!$A$4:$AA$999976,'D1X Inventory'!C13)
F13F13=IF(B9="Dry",2,IF(B9="Imm",2,IF(B9="BARC",2,)))
G13:G15,G34:G35,G31:G32,G22:G28,G17:G20G13=MAX(0,D13-E13)
H13,H34:H35,H22,H24,H27,H20H13=IF(G13=0,"Out of Stock",IF(G13<=1,"Limited Stock",IF(AND(G13<4,G13>=2),"1 Tool Worth",IF(AND(G13<6,G13>=4),"2 Tools Worth",IF(AND(G13<8,G13>=6),"3 Tools Worth",IF(AND(G13<10,G13>=8),"4 Tools Worth","5 or more"))))))
I13,I34:I35,I32,I22,I24,I27,I20I13=IF(G13=0,"Out of Stock",IF(G13<=1,"Limited Stock",IF(AND(G13<4,G13>=2),"1 Tool Worth",IF(AND(G13<6,G13>=4),"2 Tools Worth",IF(AND(G13<8,G13>=6),"3 Tools Worth",IF(AND(G13<10,G13>=8),"4 Tools Worth","5 or more"))))))
J13,J22,J24,J27,J20J13=IF(G13=0,"Out of Stock",IF(G13<=1,"Limited Stock",IF(AND(G13<4,G13>=2),"1 Tool Worth",IF(AND(G13<6,G13>=4),"2 Tools Worth",IF(AND(G13<8,G13>=6),"3 Tools Worth",IF(AND(G13<10,G13>=8),"4 Tools Worth","5 or more"))))))
F14F14=IF(B9="Dry",12,IF(B9="Imm",12,IF(B9="BARC",12,)))
H14H14=IF(G14=0,"Out of Stock",IF(G14<=11,"Limited Stock",IF(AND(G14<24,G14>=12),"1 Tool Worth",IF(AND(G14<36,G14>=24),"2 Tools Worth",IF(AND(G14<48,G14>=36),"3 Tools Worth",IF(AND(G14<60,G14>=48),"4 Tools Worth","5 or more"))))))
I14I14=IF(G14=0,"Out of Stock",IF(G14<=11,"Limited Stock",IF(AND(G14<24,G14>=12),"1 Tool Worth",IF(AND(G14<36,G14>=24),"2 Tools Worth",IF(AND(G14<48,G14>=36),"3 Tools Worth",IF(AND(G14<60,G14>=48),"4 Tools Worth","5 or more"))))))
J14J14=IF(G14=0,"Out of Stock",IF(G14<=11,"Limited Stock",IF(AND(G14<24,G14>=12),"1 Tool Worth",IF(AND(G14<36,G14>=24),"2 Tools Worth",IF(AND(G14<48,G14>=36),"3 Tools Worth",IF(AND(G14<60,G14>=48),"4 Tools Worth","5 or more"))))))
F15F15=IF(B9="Dry",4,IF(B9="Imm",4,IF(B9="BARC",4,)))
H15,H17H15=IF(G15=0,"Out of Stock",IF(G15<=3,"Limited Stock",IF(AND(G15<8,G15>=4),"1 Tool Worth",IF(AND(G15<12,G15>=8),"2 Tools Worth",IF(AND(G15<16,G15>=12),"3 Tools Worth",IF(AND(G15<20,G15>=16),"4 Tools Worth","5 or more"))))))
I15,I17I15=IF(G15=0,"Out of Stock",IF(G15<=3,"Limited Stock",IF(AND(G15<8,G15>=4),"1 Tool Worth",IF(AND(G15<12,G15>=8),"2 Tools Worth",IF(AND(G15<16,G15>=12),"3 Tools Worth",IF(AND(G15<20,G15>=16),"4 Tools Worth","5 or more"))))))
J15,J17J15=IF(G15=0,"Out of Stock",IF(G15<=3,"Limited Stock",IF(AND(G15<8,G15>=4),"1 Tool Worth",IF(AND(G15<12,G15>=8),"2 Tools Worth",IF(AND(G15<16,G15>=12),"3 Tools Worth",IF(AND(G15<20,G15>=16),"4 Tools Worth","5 or more"))))))
F17F17=IF(B9="Dry",4,IF(B9="Imm",4,IF(B9="BARC",4,)))
F18F18=IF(B9="Dry",5,IF(B9="Imm",5,IF(B9="BARC",5,)))
H18,H28H18=IF(G18=0,"Out of Stock",IF(G18<=4,"Limited Stock",IF(AND(G18<10,G18>=5),"1 Tool Worth",IF(AND(G18<15,G18>=10),"2 Tools Worth",IF(AND(G18<20,G18>=15),"3 Tools Worth",IF(AND(G18<25,G18>=20),"4 Tools Worth","5 or more"))))))
I18,I28I18=IF(G18=0,"Out of Stock",IF(G18<=4,"Limited Stock",IF(AND(G18<10,G18>=5),"1 Tool Worth",IF(AND(G18<15,G18>=10),"2 Tools Worth",IF(AND(G18<20,G18>=15),"3 Tools Worth",IF(AND(G18<25,G18>=20),"4 Tools Worth","5 or more"))))))
J18,J28J18=IF(G18=0,"Out of Stock",IF(G18<=4,"Limited Stock",IF(AND(G18<10,G18>=5),"1 Tool Worth",IF(AND(G18<15,G18>=10),"2 Tools Worth",IF(AND(G18<20,G18>=15),"3 Tools Worth",IF(AND(G18<25,G18>=20),"4 Tools Worth","5 or more"))))))
F19F19=IF(B9="Dry","*1",IF(B9="Imm","*1",IF(B9="BARC","*1",)))
H19,H25:H26H19=IF(G19=0,"Out of Stock",IF(AND(G19<2,G19>=1),"1 Tool Worth",IF(AND(G19<3,G19>=2),"2 Tools Worth",IF(AND(G19<4,G19>=3),"3 Tools Worth",IF(AND(G19<5,G19>=4),"4 Tools Worth","5 or more")))))
I19,I25:I26I19=IF(G19=0,"Out of Stock",IF(AND(G19<2,G19>=1),"1 Tool Worth",IF(AND(G19<3,G19>=2),"2 Tools Worth",IF(AND(G19<4,G19>=3),"3 Tools Worth",IF(AND(G19<5,G19>=4),"4 Tools Worth","5 or more")))))
J19,J25:J26J19=IF(G19=0,"Out of Stock",IF(AND(G19<2,G19>=1),"1 Tool Worth",IF(AND(G19<3,G19>=2),"2 Tools Worth",IF(AND(G19<4,G19>=3),"3 Tools Worth",IF(AND(G19<5,G19>=4),"4 Tools Worth","5 or more")))))
F20F20=IF(B9="Dry","*2",IF(B9="Imm","*2",IF(B9="BARC","*2",)))
F22F22=IF(B9="Dry",2,IF(B9="Imm",2,IF(B9="BARC",2,)))
F23F23=IF(B9="Dry",3,IF(B9="Imm",3,IF(B9="BARC",3,)))
H23,H29H23=IF(G23=0,"Out of Stock",IF(G23<=2,"Limited Stock",IF(AND(G23<6,G23>=3),"1 Tool Worth",IF(AND(G23<9,G23>=6),"2 Tools Worth",IF(AND(G23<12,G23>=9),"3 Tools Worth",IF(AND(G23<15,G23>=12),"4 Tools Worth","5 or more"))))))
I23,I29I23=IF(G23=0,"Out of Stock",IF(G23<=2,"Limited Stock",IF(AND(G23<6,G23>=3),"1 Tool Worth",IF(AND(G23<9,G23>=6),"2 Tools Worth",IF(AND(G23<12,G23>=9),"3 Tools Worth",IF(AND(G23<15,G23>=12),"4 Tools Worth","5 or more"))))))
J23,J29J23=IF(G23=0,"Out of Stock",IF(G23<=2,"Limited Stock",IF(AND(G23<6,G23>=3),"1 Tool Worth",IF(AND(G23<9,G23>=6),"2 Tools Worth",IF(AND(G23<12,G23>=9),"3 Tools Worth",IF(AND(G23<15,G23>=12),"4 Tools Worth","5 or more"))))))
F24F24=IF(B9="Dry",2,IF(B9="Imm",2,IF(B9="BARC",2,)))
F25F25=IF(B9="Dry",1,IF(B9="Imm",1,IF(B9="BARC",1,)))
F26F26=IF(B9="Dry",1,IF(B9="Imm",1,IF(B9="BARC",1,)))
F27F27=IF(B9="Dry",2,IF(B9="Imm",2,IF(B9="BARC",2,)))
F28F28=IF(B9="Dry",5,IF(B9="Imm",5,IF(B9="BARC",5,)))
F29F29=IF(B9="Dry","*3",IF(B9="Imm","*3",IF(B9="BARC","*3",)))
G29G29=MAX(0,D19+D20-E19-E20-3)
F31F31=IF(B9="Dry","N/A",IF(B9="Imm",6,IF(B9="BARC","N/A",)))
F32F32=IF(B9="Dry","N/A",IF(B9="Imm",2,IF(B9="BARC","N/A",)))
I31I31=IF(G31=0,"Out of Stock",IF(G31<=5,"Limited Stock",IF(AND(G31<12,G31>=6),"1 Tool Worth",IF(AND(G31<18,G31>=12),"2 Tools Worth",IF(AND(G31<24,G31>=18),"3 Tools Worth",IF(AND(G31<30,G31>=24),"4 Tools Worth","5 or more"))))))
F34F34=IF(B9="Dry",2,IF(B9="Imm",2,IF(B9="BARC","N/A",)))
F35F35=IF(B9="Dry",2,IF(B9="Imm",2,IF(B9="BARC","N/A",)))
Cells with Conditional Formatting
CellConditionCell FormatStop If True
N20Cell Valuecontains "5 or more"textNO
N20Cell Valuecontains "4 Tools Worth"textNO
N20Cell Valuecontains "3 Tools Worth"textNO
N20Cell Valuecontains "2 Tools Worth"textNO
N20Cell Valuecontains "Out of Stock"textNO
N20Cell Valuecontains "1 Tool Worth"textNO
N20Cell Valuecontains "N/A"textNO
N20Cell Valuecontains "Limited Stock"textNO
N19Cell Valuecontains "5 or more"textNO
N19Cell Valuecontains "4 Tools Worth"textNO
N19Cell Valuecontains "3 Tools Worth"textNO
N19Cell Valuecontains "2 Tools Worth"textNO
N19Cell Valuecontains "Out of Stock"textNO
N19Cell Valuecontains "1 Tool Worth"textNO
N19Cell Valuecontains "N/A"textNO
N19Cell Valuecontains "Limited Stock"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "5 or more"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "4 Tools Worth"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "3 Tools Worth"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "2 Tools Worth"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "Out of Stock"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "1 Tool Worth"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "N/A"textNO
N17:N18,N13:N15,N22:N29,N31:N32,N34:N35,N41,N46,N48,N50:N53,N55:N58,N43:N44Cell Valuecontains "Limited Stock"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "5 or more"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "4 Tools Worth"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "3 Tools Worth"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "2 Tools Worth"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "Out of Stock"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "1 Tool Worth"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "N/A"textNO
O:XFD,N59:N62,N1:N12,N16,N21,N30,N33,N36:N40,N42,N45,N47,N49,N54,N67:N1048576,A:MCell Valuecontains "Limited Stock"textNO
 
Upvote 0

Forum statistics

Threads
1,224,823
Messages
6,181,185
Members
453,020
Latest member
Mohamed Magdi Tawfiq Emam

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