上一章给大家分享了关于单元格Range对象的批注和对单元格的背景色设置,单元格的属性字体的设置等,今天就不分享新的知识点了就简单的最近这几天分享的知识点综合的集中在一起举个例子给大家看看。免得大家把前面的都忘记了。

今天举的这个例子主要是先判断一个工作簿是否存在,如果不存在就开始新建一个工作簿,然后关闭新建的工作薄,再利用以前学过的数组,给没有打开的工作薄中添加表头,再添加数据。

这里面使用到了Workbook、Worksheet、数组、活动的工作簿ActiveWorkbook对象的属性和方法,其中还包括Range对象及其属性方法等等。

下面一起先看看对代码的具体解释

excel中VBA的工作薄、工作表、单元格、数组等常见的对象的综合举例-天天办公网

excel中VBA的工作薄、工作表、单元格、数组等常见的对象的综合举例-天天办公网

excel中VBA的工作薄、工作表、单元格、数组等常见的对象的综合举例-天天办公网

注意:代码中的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