Here's the B-24J piece:
ElseIf intRoll >= 3531 _
And intRoll <= 10208 Then
' B-24J
'
' Built = 6678
'
' 2792 built by Consolidated at their San Diego plant in 43 production blocks.
' 1587 built by Ford at their Willow Run plant in 4 production blocks.
' 1558 built by Consolidated at their Fort Worth plant in 25 production blocks.
' 536 built by North American at their Dallas plant in 3 production blocks.
' 205 built by Douglas at their Tulsa plant in 3 production blocks.
'
' 42-50452 to 42-50508 CF = 57
' 42-50509 to 42-51076 FO = 568
' 42-51431 to 42-52076 FO = 646
' 42-51226 to 42-51430 DT = 205
' 42-64047 to 42-64394 CF = 348
' 42-72964 to 42-73514 CO = 551
' 42-78475 to 42-78794 NT = 320
' 42-95504 to 42-95628 FO = 125
' 42-99736 to 42-99935 CF = 200
' 42-99936 to 42-100435 CO = 500
' 42-109789 to 42-110188 CO = 400
' 44-10253 to 44-10302 CO = 50
' 44-10303 to 44-10752 CF = 450
' 44-28061 to 44-28276 NT = 216
' 44-28277 to 44-28710 Cancelled contract
' 44-40049 to 44-41389 CO = 341
' 44-44049 to 44-44501 CF = 453
' 44-48754 to 44-49001 FO = 247
' 44-28277 to 44-28710 Cancelled contract
intRoll = RandomDX(6678)
If intRoll <= 1587 Then
strManufacturer = "Ford"
strPlant = "Willow Run, MI"
' Built = 1587
intRoll = RandomDX(1587)
If intRoll <= 568 Then
' 42-50509 to 42-51076 FO = 568
strTailNum = "42-" & CStr(50508 + RandomDX(568)) & "-FO"
ElseIf intRoll >= 569 _
And intRoll <= 1214 Then
' 42-51431 to 42-52076 FO = 646
strTailNum = "42-" & CStr(51430 + RandomDX(646)) & "-FO"
ElseIf intRoll >= 1215 _
And intRoll <= 1339 Then
' 42-95504 to 42-95628 FO = 125
strTailNum = "42-" & CStr(95503 + RandomDX(125)) & "-FO"
ElseIf intRoll >= 1340 _
And intRoll <= 1587 Then
' 44-48754 to 44-49001 FO = 248 = 1587x
strTailNum = "44-" & CStr(48753 + RandomDX(248)) & "-FO"
End If
ElseIf intRoll >= 1588 _
And intRoll <= 1792 Then
strManufacturer = "Douglas"
strPlant = "Tulsa, OK"
' Built = 205
' 42-51226 to 42-51430
strTailNum = "42-" & CStr(51225 + RandomDX(205)) & "-DT"
ElseIf intRoll >= 1793 _
And intRoll <= 4584 Then
strManufacturer = "Consolidated"
strPlant = "San Diego, CA"
' Built = 2792
' Missing serial numbers = 950
intRoll = RandomDX(1842)
If intRoll <= 551 Then
' 42-72964 to 42-73514 CO = 551
strTailNum = "42-" & CStr(72963 + RandomDX(551)) & "-CO"
ElseIf intRoll >= 552 _
And intRoll <= 1051 Then
' 42-99936 to 42-100435 CO = 500
strTailNum = "42-" & CStr(99935 + RandomDX(500)) & "-CO"
ElseIf intRoll >= 1052 _
And intRoll <= 1451 Then
' 42-109789 to 42-110188 CO = 400
strTailNum = "42-" & CStr(109788 + RandomDX(400)) & "-CO"
ElseIf intRoll >= 1452 _
And intRoll <= 1501 Then
' 44-10253 to 44-10302 CO = 50
strTailNum = "44-" & CStr(10252 + RandomDX(50)) & "-CO"
ElseIf intRoll >= 1502 _
And intRoll <= 1842 Then
' 44-40049 to 44-41389 CO = 341 = 1842 (950 missing)
strTailNum = "44-" & CStr(40048 + RandomDX(341)) & "-CO"
End If
ElseIf intRoll >= 4585 _
And intRoll <= 6142 Then
strManufacturer = "Consolidated"
strPlant = "Ft. Worth, TX"
' Built = 1558
' Missing serial numbers = 50
intRoll = RandomDX(1508)
If intRoll <= 57 Then
' 42-50452 to 42-50508 CF = 57
strTailNum = "42-" & CStr(50451 + RandomDX(57)) & "-CF"
ElseIf intRoll >= 58 _
And intRoll <= 405 Then
' 42-64047 to 42-64394 CF = 348
strTailNum = "42-" & CStr(64046 + RandomDX(348)) & "-CF"
ElseIf intRoll >= 406 _
And intRoll <= 605 Then
' 42-99736 to 42-99935 CF = 200
strTailNum = "42-" & CStr(99735 + RandomDX(200)) & "-CF"
ElseIf intRoll >= 606 _
And intRoll <= 1055 Then
' 44-10303 to 44-10752 CF = 450
strTailNum = "44-" & CStr(10302 + RandomDX(450)) & "-CF"
ElseIf intRoll >= 1056 _
And intRoll <= 1508 Then
' 44-44049 to 44-44501 CF = 453 = 1310 (50 missing)
strTailNum = "44-" & CStr(44048 + RandomDX(453)) & "-CF"
End If
ElseIf intRoll >= 6143 _
And intRoll <= 6678 Then
strManufacturer = "North American"
strPlant = "Dallas, TX"
' Built = 536
intRoll = RandomDX(536)
If intRoll <= 320 Then
' 42-78475 to 42-78794 NT = 320
strTailNum = "42-" & CStr(78474 + RandomDX(320)) & "-NT"
ElseIf intRoll >= 321 _
And intRoll <= 536 Then
' 44-28061 to 44-28276 NT = 216 = 536x
strTailNum = "44-" & CStr(28060 + RandomDX(216)) & "-NT"
End If
End If
End If