上一章給大家分享了關於單元格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