งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

VBA : Properties and Method of Ranges

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "VBA : Properties and Method of Ranges"— ใบสำเนางานนำเสนอ:

1 VBA : Properties and Method of Ranges
Lecturer : Kanjana Thongsanit

2 Properties Address คุณสมบัตินี้จะแสดง ที่อยู่ของ ตำแหน่งที่ระบุ เช่น “B2:C6” ถ้าเราต้องการที่จะให้โปรแกรม แสดงที่อยู่ ที่เราเลือก สามารถกำหนด เช่น MsgBox Range(“......”).address MsgBox Range("A1").Address MsgBox Range("B1:F1").Address MsgBox Range("A2:A19").Address MsgBox Range("B2:F19").Address Note : สิ่งที่ Property Address ส่งค่าคือ string

3 Properties Cells คุณสมบัตินี้จะใช้อ้างอิงแต่ละ Cell โดยที่จะ ใช้อ้างอิงในแต่ละ Cells ตัวอย่าง Range(“A1:A10”).Cells(3) หมายถึง เราต้องการระบุว่า คือ ลำดับที่ 3 ของ Cell ตั้งแต่ A1:A10 ดังนั้นถ้าอ้างแบบนี้จะหมายถึงช่องใน A3 Range(“A1:C10”).Cells(3,2) หมายถึง เราต้องการระบุว่า ข้อมูลตัวแรกคือ Row ตัวที่สอง คือ Column

4 Properties คำถาม Range(“A1:C10”).Cells(3,2) คือช่องใด
Note : สิ่งที่ Property Cell ส่งค่าคือ object เราสามารถใช้ ในรูปนี้ได้ว่า Range(“A1:C10”).Cells(3,2).Value จะส่งค่าในช่อง B2

5 Properties Column จะส่งค่าของ เลขของ Column แรก ของ Range นั้นๆ โดย ที่ A คือ เลข 1, B คือ เลข เช่น MsgBox Range("B1:F1").Column จะส่งค่า เท่าไร

6 Properties CurrentRegion จะส่งค่าของขอบเขตของ พื้นที่ครอบคลุมสูงสุด ในรูป ของ สี่เหลี่ยม เช่น ถ้าเราต้องการหา CurrentRegion ของ Cell A3 ค่าที่ส่งจะ เป็น Object

7 Properties EntireColumn จะส่งค่าเป็น object โดยระบุcolumn ทั้งหมด ของข้อมูลที่กำหนด เช่น Range(“A1:C1”) จะครอบคลุมถึง A B C

8 Check 1 จงใช้ property Current Region เพื่อหา กรอบพื้นที่ของข้อมูล ข้างเคียง จงใช้ property EntireColumn เพื่อหา ว่า Range ที่กำหนด Range(“A1:N5”) ครอบคลุม Column อะไรบ้าง

9 Properties เช่น Range(“A1:D1”).Font.Bold = True
Font จะอ้างอิงถึง Font โดยที่ property ของ Font ของ Range นั้น สามารถเปลี่ยนแปลงได้ เช่น (Name, Bold , Italic ) เช่น Range(“A1:D1”).Font.Bold = True MsgBox Range("A1").Font.Name Formula จะส่งสูตร ที่ใช้ใน Range นั้น ๆ เช่น MsgBox Range("F21").Formula

10 Properties FormulaR1C1 สามารถกำหนด ได้ดังนี้

11 Properties FormulaR1C1

12 Properties HorizontalAlignment จะส่งค่า ของการกำหนด แนวของข้อมูลเช่น
ชิดซ้าย xlRight ชิดขวา xlLeft อยู่ตรงกลาง xlCenter เช่น Range("A1").HorizontalAlignment = xlLeft

13 Properties Interior เป็นการกำหนดสีภายในพื้นที่ Range
Range("A1").Interior.Color = vbRed Name เป็นการตั้งชื่อ Range โดยใช้ Name Range(“A1”) .Name = “Test” NumberFormat Range(“C3:C10”) .NumberFormat = “#,##0.00” Value Value เป็น Default property Range(“A1”).Value เหมือนกับ Range(“A1”)

14 Method Clear เป็นการลบข้อมูล และรูปแบบ ใน range
ClearContents เป็นการลบแต่จะลบเฉพาะข้อมูล ไม่ได้ลบรูปแบบของ range ดังนั้น ขนาดของ font การจัด รูปแบบที่ให้อยู่ด้านซ้าย หรือด้านขวา ก็จะยังคงอยู่เหมือนเดิม Copy เป็นคำสั่งในการสำเนา range โดยจุดที่วาง จะระบุ โดย Destination := Range(“E1:F10”) ถ้าเราต้องการ Copy ข้อมูลจาก A1:B10 to E1:F10 Range(“A1:B10”).Copy Destination := Range(“E1:F10”)

15 Method เหมือนที่เราใช้ คำสั่ง Copy ใน Excel ดังตัวอย่าง
PasteSpecial เป็นการวางแบบ พิเศษ เหมือนที่เราใช้ คำสั่ง Copy ใน Excel ดังตัวอย่าง

16 Method โดยปกติเราสามารถเลือก Values ในกรณีเราต้องการ Copy เฉพาะค่า ใน VBA สามารถระบุคำสั่งได้ดังนี้

17 Method Copy ด้วย คำสั่ง ของ VBA
Range(“B3:D12”).Copy Range(“F3:H12”).PasteSpecial Paste := xlPasteValues Select เป็นการเลือก range ซึ่งก็เหมือนกับ การ เลือก hightlight ที่ range นั้น ๆ

18 Method Sort การ Sort โดยปกติใน Excel กระทำโดย

19 Method Range(“F2:H12”).Sort Key1:= Range(“F3”), Order1:= xlAscending, Header := xlYes

20 Check 2 ใช้ code VBA ที่หน้าจอ RC สร้างเลขสุ่ม ที่ Cell A1: E10
Set ข้อมูล ให้เป็นตัวหนา ตั้งชื่อ Cell ว่า Random Set เลขชิดด้านขวา Set รูปแบบ เป็นทศนิยม 3 ตำแหน่ง สร้างสูตรหาผลรวม ที่ cell A12 สร้าง Copy cell A12 ไปที่ cell B12,C12,D12,E12

21 การระบุ Ranges โดยใช้ VBA
ระบุที่อยู่ Address Range(“A1”) Range(“A1:B10”) ระบุ ชื่อ Range หรือ (Range name) Range(“Sales”)

22 การระบุ Ranges โดยใช้ VBA
SalesName = Range(“Sales”).Name  การอ้างเนื่องจาก SalesName เป็น string Range(SalesName)

23 การระบุ Ranges โดยใช้ VBA
ระบุตัวแปรในรูปของ object Dim SalesRange as Range Set SalesRange = Range(“Sales”) เนื่องจากตอนนี้ SalesRange เป็น object ดังนั้น สามารถ กำหนด property ให้กับ object ได้ SalesRange.Font = 12

24 การระบุ Ranges โดยใช้ VBA
การระบุ Range โดยใช้ Cell Range(“B5:B14”).Cells(3) Range(“C5:E15”).Cells(4,2) การระบุ Range โดยใช้ Offsets

25 การระบุ Ranges โดยใช้ VBA
การระบุ Range โดยใช้ Offsets (ต่อ) Range(“A5”).Offset(2,3) การอ้างอิงจะระบุ (Row, Column) ดังนั้นหมายความว่า จาก Cell A5 ไปด้านขวา 2 cells ไปด้านล่าง 3 cells Range(A5).Offset(0,3) หมายความว่าอ้างอิง ที่ D5

26 การระบุ Ranges โดยใช้ VBA
Range(Range(“A1”),Range(“D12”)) ซึ่งก็คือ A1:D12

27 การระบุ Ranges โดยใช้ VBA
โดยใช้ กับ With construction With Range(“A1”) Range(.Offset(1,1), .Offset(3,3)).Select End With    กรณีนี้ใช้เมื่อเรารู้ว่าข้อมูลอยู่ระหว่าง Cell ได้

28 การระบุ Ranges โดยใช้ VBA
การระบุโดยใช้ End property ถ้าเราไม่ทราบว่าข้อมูลมีขนาดเท่าไร แต่ต้องการให้ระบุว่าข้อมูลมีอยู่ถึง Row หรือ Column ใน Excel สามารถทำได้โดย ด้าน Column เลือก Cell ที่ มุมข้อมูลบนซ้าย กด Shift ค้าง แล้วกด End กับลูกศร ลง ละกด End พร้อมกัน ด้าน Row เลือก Cell ที่ มุมข้อมูลบนซ้าย กด Shift ค้าง แล้วกด End กับลูกศร ด้านขวา ละกด End พร้อมกัน

29 การระบุ Ranges โดยใช้ VBA
การระบุโดยใช้ End Property ใน VBA การกำหนด ทิศทาง จะมีค่าคงที่ที่ VBA สร้างขึ้น เช่น xlDown, xlUp, xlToRight With Range(“B4”) Range(.Offset(0,0), .End(xlDown).End(xlToRight)).Select End With ที่ Offset(0,0) ก็คือที่ Cell B4

30 Sub range 5 : Sub Range5() Range("B2:F19").Name = "ScoreData”
MsgBox Range("ScoreData").Cells(2, 3).Address MsgBox Range(Range("ScoreData").Cells(2, 2), Range("ScoreData").Cells(3, 4)).Address With Range("ScoreData") MsgBox Range(.Cells(2, 2), .Cells(3, 4)).Address End With ‘ Continue 

31 Sub rangE 5 : Dim scoreRange As Range Set scoreRange = Range("ScoreData") With scoreRange MsgBox Range(.Cells(2, 2), .Cells(3, 4)).Address End With End sub

32 Sub rangE 6 : ‘ Continue----------- Sub Range6() With Range("A1")
Range(.Offset(0, 1), .End(xlToRight)).Name = "ScoreNames" Range(.Offset(1, 0), .End(xlDown)).Name = "EmployeeNumbers" Range(.Offset(1, 1), .End(xlDown).End(xlToRight)).Name = "ScoreData" End With Dim nScores As Integer, nEmployees As Integer ‘ Continue 

33 Sub rangE 6 : With Range("A1")
nScores = Range(.Offset(0, 1), .End(xlToRight)).Columns.Count MsgBox "There are " & nScores & " scores for each employee.", vbInformation, _ "Number of scores“ nEmployees = Range(.Offset(1, 0), .End(xlDown)).Rows.Count MsgBox "There are " & nEmployees & " employees in the data set.", vbInformation, _ "Number of employees" Range(.Offset(0, 0), .Offset(nEmployees, nScores)).Name = "EntireDataSet“ MsgBox "The entire data set is in the range " & Range("EntireDataSet").Address, _ vbInformation, "Data set address“ End With

34 Sub rangE 6 : Dim nm As Object For Each nm In ActiveWorkbook.Names nm.Delete Next End Sub

35 Sub rangE 7 : Sub Range7() With Range("A1:F19") .Rows(12).Select MsgBox "12th row of data range has been selected." .Rows(12).EntireRow.Select MsgBox "Entire 12th row has been selected." .Columns(4).Select MsgBox "4th column of data range has been selected." .Columns(4).EntireColumn.Select MsgBox "Entire 4th column has been selected." End With

36 Sub rangE 7 : Rows("4:5").Select MsgBox "Another way to select columns." Columns("D:E").Select End Sub

37 Assignment Assignment : Sub range 8-10
2. อธิบาย Code


ดาวน์โหลด ppt VBA : Properties and Method of Ranges

งานนำเสนอที่คล้ายกัน


Ads by Google