上一章给大家分享了关于单元格Range对象的批注和对单元格的背景色设置,单元格的属性字体的设置等,今天就不分享新的知识点了就简单的最近这几天分享的知识点综合的集中在一起举个例子给大家看看。免得大家把前面的都忘记了。
今天举的这个例子主要是先判断一个工作簿是否存在,如果不存在就开始新建一个工作簿,然后关闭新建的工作薄,再利用以前学过的数组,给没有打开的工作薄中添加表头,再添加数据。
这里面使用到了Workbook、Worksheet、数组、活动的工作簿ActiveWorkbook对象的属性和方法,其中还包括Range对象及其属性方法等等。
下面一起先看看对代码的具体解释
注意:代码中的thisworkbook值得就是你已经打开正在操作的工作薄,新建的工作薄就会保存到你操作工作薄的路径下。
下面是具体的代码:
代码1:
Sub k()
Dim w As Workbook, s As Worksheet, r As Range, j As Integer
Dim arr As Variant
Dim r1 As Range, arr1 As Variant, j1 As Integer
Dim f As Variant
f = ThisWorkbook.Path & “\学生成绩表.xls”
If Len(Dir(f)) <= 0 Then
Set w = Workbooks.Add
Set s = w.Worksheets(1)
s.Name = “学生成绩表”
Set r = Worksheets(“学生成绩表”).Range(“A65536”).End(xlUp)
arr = Array(“名次”, “姓名”, “语文”, “数学”, “英语”, “总分”, “标准”)
If r.Value <> “” Then
Set r = r.Offset(1, 0)
End If
For j = 0 To 6
Worksheets(“学生成绩表”).Range(r.Address).Offset(0, j).Value = arr(j)
Next
w.SaveAs ThisWorkbook.Path & “\学生成绩表.xls”
ActiveWorkbook.Close
Else
MsgBox “文件已经存在,请换个文件名。”
End If
Workbooks.Open (f)
Set r1 = Worksheets(“学生成绩表”).Range(“A65536”).End(xlUp)
arr1 = Array(“1”, “张起”, “89”, “67”, “72”, “228”, “中等”)
If r1.Value <> “” Then
Set r1 = r1.Offset(1, 0)
End If
For j1 = 0 To 6
Worksheets(“学生成绩表”).Range(r1.Address).Offset(0, j1).Value = arr1(j1)
Next
ActiveWorkbook.Close savechanges:=True
End Sub