something like this?

if too many then ask the user if they want to just use whats there...
if No.. exits sub
if yes.. then.. do your code
VB Code:
  1. If ship2_no.Text Then
  2.         metal1 = ship2_no.Text * 300
  3.         metalt = CLng(Label1.Caption - metal1)
  4.        
  5.         If metal1 > metalt Then
  6.             If MsgBox("Not enough to build that many! Would you like to use whats available? (" & _
  7.             Label1.Caption & ")", vbYesNo + vbQuestion, "Not Enough") = vbNo Then Exit Sub
  8.             metal1 = metalt
  9.             'do othe code..
  10.            
  11.         End If
  12.     End If