试试这个呢:
Sub 申请信息表()
Dim wb As Workbook
Dim wj As Workbook
Dim wb_Sheet As Worksheet
Dim wj_Sheet As Worksheet
Set wb_Sheet = wb.ActiveSheet
Set wj_Sheet = wj.ActiveSheet
Dim lngRowPtr As Long
Dim rngD4 As Range
Const ROW_FROM As Long = 4 ' B 列起始行号
Const ROW_TO As Long = 10 ' B 列终止行号
Const BASE_DIR As String = "E:\a申请信息表\北尚乐\"
Set rngD4 = wb_Sheet.Range("D4")
For lngRowPtr = ROW_FROM To ROW_TO
' 工作簿1 wj 的 Range("B5") 写到 工作簿2 wb 的 Range("D4") 当中
rngD4.Value = wj_Sheet.Range("B" & CStr(lngRowPtr))
' 工作簿 wb 另存为 xls文件 以D4单元格的内容命名工作簿
wb.SaveAs BASE_DIR & rngD4.Value, xlExcel8
Next
Set rngD4 = Nothing
Set wb_Sheet = Nothing
Set wj_Sheet = Nothing
Set wb = Nothing
Set wj = Nothing
End Sub