通过宏来处理。
以Excel 2003为例,通过单击菜单“工具/宏/
Visual Basic编辑器”打开代码窗口,双击左侧工程
资源管理器列表中的“ThisWorkbook”,将以下代码粘贴进右侧的代码编辑区,即可完成准备工作。
使用时,只需要通过菜单“工具/宏/宏“执行“IncrementPrint”即可完成任务。
说明:
1、以下代码以“sheet1”表为操作表,如果您的表格名称不相同,请将代码中的“sheet1”全部替换为您的表名。
2、以下代码以A7单元格演示自动递增序号,如果需要操作的单元
格非此单元格,请将代码“Cells(7, 1)”括号中的数字自行替换(7 代表第7行;1=A列,2=B列,3=C列……依此类推)
3、考虑到格式,自动递增最大到999。
'以下为需要复制的代码
Private Sub Workbook_Open()
'打开表格时格式化A7单元格内容
Dim Str1 As String
Str1 = CStr(Sheet1.Cells(7, 1).Value)
'简单判断单元格
'非需要格式内容则自动填写
If Len(Str1) <> 18 Then
Sheet1.Cells(7, 1) = "FJF-" & Format(Now, "yyyy-mm-dd") & "-001"
Exit Sub
End If
'当天再次打开此表时保留原来单元格内容
If Mid(Str1, 5, 10) <> Format(Now, "yyyy-mm-dd") Then
Sheet1.Cells(7, 1) = "FJF-" & Format(Now, "yyyy-mm-dd") & "-001"
End If
End Sub
Sub IncrementPrint()
'本示例代码将实现sheet1的A7单元格每打印一份后自动格式化递增
On Error GoTo handerr
Dim i As Integer
Dim j As Integer
Dim No1 As Integer
Dim Str1 As String
Str1 = InputBox("请输入需要打印的份数:", "打印份数")
If IsNumeric(Str1) = False Or Val(Str1) < 1 Then
MsgBox "没有输入有效份数,操作被取消!", vbInformation, "提示"
Exit Sub
End If
i = Int(Val(Str1))
If i > 999 Then
MsgBox "打印份数最大只支持 999 份,操作被取消!", vbInformation, "提示"
Exit Sub
End If
With Sheet1
'先打印,后递增
For j = 1 To i
.PrintOut
Str1 = CStr(.Cells(7, 1).Value)
Str1 = Right(Str1, 3)
Str1 = Format(Val(Str1) + 1, "000")
.Cells(7, 1) = "FJF-" & Format(Now, "yyyy-mm-dd") & "-" & Str1
Next
End With
Exit Sub
handerr:
MsgBox Err.Description, vbInformation, "错误提示"
End Sub
追问看的不是很懂 我发邮件给你 你直接帮我改
追答您把此文档另存为2003格式(我没有用2007,不知能否打开),传与[email protected]。