VBA : Properties and Method of Ranges

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คำสั่งเริ่มต้น รูปแบบ. <HTML>. </HTML>
Advertisements

การใช้ MessageBox-InputBox
การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
Microsoft Office Excel 2010
การประยุกต์ใช้โปรแกรม MS-Excel
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
การใช้งานโปรแกรม Excel เบื้องต้น
ตัวอย่างโปรแกรม สร้างแถบเครื่องมืออย่างง่าย ประกอบด้วย
Lecture 11: อาร์เรย์แบบหลายมิติ
MS Excel Excel เป็นโปรแกรมประเภท สเปรยชีต (Speadsheet) หรือโปรแกรมตาราง งาน ซึ่งจะเก็บข้อมูลต่าง ๆ ลงบน แผ่นตารางงาน คล้ายกับการเขียน ข้อมูลลงไปในสมุดที่มีการตีช่องตาราง.
บทที่ 2 รูปแบบของฐานข้อมูล.
Location object Form object
การแก้ปัญหาด้วยคอมพิวเตอร์
Microsoft Excel 2007.
เทคโนโลยีสารสนเทศเพื่อชีวิต รหัสวิชา
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
ลักษณะพิเศษของ ภายใต้คำสั่ง <BODY>
Properties ของคอนโทรล ที่ควรรู้จักในเบื้องต้น
คณิตศาสตร์และสถิติธุรกิจ
Lecturer: Kanjana Thongsanit
Lecturer: Kanjana Thongsanit
การสร้างตาราง Click mouse ที่ปุ่ม จะปรากฏช่องสี่เหลี่ยมแสดง
การกำหนด Section การใส่ Section Break ก็คือการกำหนดให้เอกสารแบ่งออกเป็นแต่ละ Section ดังนั้น คุณจึงสามารถกำหนดรูปแบบการจัดวางข้อความในแต่ละ Section ให้แตกต่างกัน.
Week4 Data types, Variables, Operators and Input/output (ต่อ)
การใช้งาน Microsoft Excel
การควบคุมทิศทางการทำงานของโปรแกรม
Advanced VB (VB ขั้นสูง)
ส่วนของการเขียนโค๊ด ใน VB การเขียนโค๊ดจะเป็นแบบ Event Driven
การพิมพ์ข้อความ และการสร้างตาราง
การพิมพ์รายงาน / วิทยานิพนธ์
การใช้งานโปรแกรม EViews เบื้องต้น
บทที่ 9 การรับและแสดงผลข้อมูล
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
บทที่ 11 การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด.
การเปลี่ยนแปลงเกี่ยวกับตัวแปร
ตัวแปรกับชนิดของข้อมูล
รายงาน เรื่อง -ส่วนประกอบที่สำคัญของ microsoft excel -การพิมพ์ข้อมูลและการสร้างสูตรเบื้องต้น จัดทำโดย.
โรงเรียนวชิรธรรมสาธิต
ข้อมูลที่ป้อนลงกระดาษทำการไปแล้ว สามารถแทรกเพิ่มเติมได้โดยใช้หลักการแทรกแถว ดังนี้ Click เมาส์ ณ ตัวเลขแถวที่ต้องการแทรก เลือกคำสั่ง Insert, Rows หรือคลิกขวาแล้วเลือก.
เรื่อง คีย์ลัดที่ควรทราบ จัดทำโดย ด. ช. ธีธัช สุวัณณวะยัคฆ์ ชั้น ม.2/4 เลขที่ 1 เสนอ อ. ภานุมาศ ชาติทองแดง โรงเรียนวชิรธรรมสาธิต.
รายงาน เรื่อง ที่ไม่มีข้อมูล ของ เสนอ อ. ภาณุมาศ ชาติทองเเดง จัดทําโดย
รายงาน เรื่อง จัดรูปแบบข้อมูล จัดทำโดย ด. ญ. ธิกานดา วัลยาภรณ์ ชั้นม.2/1 เลขที่ 19 เสนอ อาจารย์ ภานุมาศ ชาติมองแดง โรงเรียนวชิรธรรมสาธิต.
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
เครื่องมือที่ใช้ในการกำหนดการเคลื่อนไหว
การแปลงข้อมูลใน Excel เป็นฐานข้อมูลใน Access
CHARPTER 3 การสอบถามข้อมูลพื้นฐาน
หลักการโปรแกรมเบื้องต้น
การสร้างเกมส์ PUZZLE NUMBER
การเลือกและปรับรูปทรงวัตถุ การเลือกและปรับรูปทรงวัตถุ
รู้จักกับTimeline, Layer และ Scene รู้จักกับTimeline, Layer และ Scene
Week 12 Engineering Problem 2
Tips and Tools MS Excel By คนควน.
Control Statements.
โปรแกรม Microsoft Access
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
Object-Oriented Programming
SML Report Designer การออกแบบรายงาน.
บทที่ 3 การกำหนดรูปแบบตัวอักษร
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Output of C.
บทที่ 9 การใช้งานฟอร์มและคอนโทรลต่าง ๆ
รู้จักกับ Microsoft Access 2003
ซอฟต์แวร์ที่น่าสนใจ.
การพิมพ์ตารางออกทางเครื่องพิมพ์
การรับและแสดงผลข้อมูล (Input/Output)
หลักการโปรแกรมเบื้องต้น
โดย ส.อ.ประกาศิต วรนุช วิททยาลัยเฉลิมกาณจนา
การใช้งานโปรแกรม Excel เบื้องต้น
ใบสำเนางานนำเสนอ:

VBA : Properties and Method of Ranges Lecturer : Kanjana Thongsanit

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

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

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

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

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

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

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

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

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

Properties FormulaR1C1

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

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”)

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”)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การระบุ 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

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-----------

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

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-----------

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

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

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

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

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