วันเสาร์ที่ 30 สิงหาคม พ.ศ. 2557

สูตร Excel การใช้ฟังก์ชั่น ISREF

สูตร Excel การใช้ฟังก์ชั่น ISREF ISREF จัดเป็นฟังก์ชั่น ด้านข้อมูล ทำหน้าที่ คืนค่า True กลับมา ถ้าค่าเป็นการอ้างอิง รูปแบบสูตร คือ I... thumbnail 1 summary
สูตร Excel การใช้ฟังก์ชั่น ISREF
ISREF จัดเป็นฟังก์ชั่น ด้านข้อมูล

ทำหน้าที่ คืนค่า True กลับมา ถ้าค่าเป็นการอ้างอิง

รูปแบบสูตร คือ ISREF(value)
โดยที่ Value คือค่าที่คุณต้องการให้ทดสอบ ค่า value สามารถเป็นค่าว่างเปล่า (เซลล์ว่าง) ค่าความผิดพลาด ตรรกะ ข้อความ ตัวเลข หรือค่าการอ้างอิงหรือชื่อซึ่งอ้างอิงกับอะไรก็ได้ที่เราต้องการทดสอบ

สูตร Excel ที่เกี่ยวข้องก็ได้แก่ ERROR.TYPE, ISEVEN, ISODD, TYPE

ตัวอย่างการใช้งานฟังก์ชั่น ISREF ให้เราลองทำตามตัวอย่างต่อไปนี้ดู


1. คลิกเซลล์ B2 แล้วพิมพ์ =isref(a1) แล้วกด Enter จะแสดงค่า True

2. คลิกเซลล์ B3 แล้วพิมพ์ =isref(“CIS”) แล้วกด Enter จะแสดงค่า False

3. คลิกเซลล์ B4 แล้วพิมพ์ =isref(100) แล้วกด Enter จะแสดงค่า False

4. คลิกเซลล์ B5 แล้วพิมพ์ =isref(“”) แล้วกด Enter จะแสดงค่า False

5. คลิกเซลล์ B6 แล้วพิมพ์ =isref(d2:f6) แล้วกด enter จะแสดงค่า True

6. คลิกเซลล์ A7 แล้วพิมพ์ a1 จากนั้นคลิกเซลล์ B7 แล้วพิมพ์ =isref(a7) แล้วกด Enter จะแสดงค่า True ออกมา

7. หากคลิกเซลล์ B7 แล้วพิมพ์ =isref(“a7”) แล้วกด Enter จะแสดงค่า False

สูตร Excel การใช้ฟังก์ชั่น ISPMT

สูตร Excel การใช้ฟังก์ชั่น ISPMT สูตร ISPMT จัดเป็นสูตรประเภท การเงิน ของ Excel โดยที่ ISPMT จะทำหน้าที่คำนวณดอกเบี้ยที่ต้องจ่ายสำหรับค... thumbnail 1 summary
สูตร Excel การใช้ฟังก์ชั่น ISPMT

สูตร ISPMT จัดเป็นสูตรประเภท การเงิน ของ Excel

โดยที่ ISPMT จะทำหน้าที่คำนวณดอกเบี้ยที่ต้องจ่ายสำหรับคาบเวลาที่ระบุของการลงทุน ฟังก์ชันนี้จัดเตรียมไว้ให้เข้ากันได้กับ Lotus 1-2-3

รูปแบบสูตร คือ ISPMT(rat,per,nper,pv)

โดยที่

rate คือ อัตราดอกเบี้ยสำหรับการลงทุน

per คือ คาบเวลาที่คุณต้องการหาค่าดอกเบี้ย และต้องมีค่าระหว่าง 1 กับ nper

nper คือ จำนวนคาบเวลาทั้งหมดในการชำระเงิน

pv คือ มูลค่าปัจจุบัน (PV คือ Present Value) ในการลงทุน สำหรับการกู้ยืม pv คือจำนวนเงินกู้ยืม

ตัวอย่างการใช้งานสูตรหรือฟังก์ชั่น IPMT ให้เราลองทำตามตัวอย่างต่อไปนี้
1. เลือกเซลล์ A2:A5 แล้วพิมพ์ Rate แล้วกด Enter พิมพ์ Per แล้วกด Enter พิมพ์ Nper และกด Enter พิมพ์ Pv

2. เลือกเซลล์ B2:B5 แล้วพิมพ์ 10% แล้วกด Enter พิมพ์ แล้วกด Enter พิมพ์ 5 แล้วกด Enter พิมพ์ 100

3. คลิกเซลล์ B7 แล้วพิมพ์ ispmt(b2,b3,b4,b5) แล้วกด enter จะแสดงค่า -10

4. คลิกเซลล์ B9 แล้วพิมพ์ =pmt(b2,b4,-b5) แล้วกด Enter จะแสดงค่า $26.38

5. คลิกเซลล์ E7 แล้วพิมพ์ 8 แล้วคลิกเซลล์ E8 แล้วพิมพ์ 6

6. ที่เซลล์ E9 แล้วพิมพ์ 4 จากนั้นคลิกที่เซลล์ E10 พิมพ์ 2

7. ที่เซลล์ E10 พิมพ์ 0

8. คลิกที่เซลล์ F7 แล้วพิมพ์ =$b$9-e7 แล้วกด Enter จะแสดงค่า $18.38 จากนั้น Auto Fill สูตรจากเซลล์ F7 ลงมาจนถึงเซลล์ F11 จะเห็นผลการคำนวณแสดงขึ้นมา

9. คลิกที่เซลล์ G7 แล้วพิมพ์ =F7+E7 แล้วกด Enter จะแสดงค่า $26.38 จากนั้น Auto Fill สูตรจากเซลล์ G7 ลงมาจนถึงเซลล์ G11 จะเห็นผลการคำนวณแสดงขึ้นมา

10. เลือกเซลล์ E12:G12 แล้วคลิกปุ่ม Auto Sum จะแสดงผลรวมให้เห็นคือ 20, 111.8987, 131.8987 จากนั้นทดลองเปลี่ยนเซลล์ B3 เป็น 1, 2, 3 ตามลำดับ

วันพฤหัสบดีที่ 28 สิงหาคม พ.ศ. 2557

Excel Drawing a Man Cartoon

วาดรูปผู้ชายหันข้างบน Excel ผ่าน vba ( Excel Drawing a Man Cartoon) การวาดรูปผ่านโปรแกรม Excel เราสามารถกระทำได้ โดยใช้ Free form ประเภท... thumbnail 1 summary
วาดรูปผู้ชายหันข้างบน Excel ผ่าน vba
(Excel Drawing a Man Cartoon)

การวาดรูปผ่านโปรแกรม Excel เราสามารถกระทำได้ โดยใช้ Free form ประเภท Scriber ซึ่งเป็นเส้นอิสระ เหมือนดินสอ โดยเราสามารถกดลากเส้นไปในทิศทางใด ๆได้อย่างเสรีเพื่อก่อให้เกิดเส้นตามใจปรารถนา

สำหรับคนที่มีความสามารถในการวาดรูปแล้วละก็ คงไม่ใช่เรื่องยากอะไรที่จะวาดออกมาได้ แต่สำหรับคนที่วาดรูปไม่ค่อยเก่ง ลองเอาโค้ดนี้ไปใช้ดูครับ

นี้คือคำสั่งสำหรับการสร้างรูปผู้ชายหันข้าง โดยใช้ vba โดยสร้าง macro ขึ้นมา

วิธีการวาดรูปผู้ชายหันข้าง ให้เราทำตามขั้นตอนต่อไปนี้


1. เปิด excel ขึ้นมา

2. กด alt + f11 เพื่อเข้าสู่ vba project

3. insert moudule ขึ้นมา 1 อัน

4. ใส่โค้ดด้านล่างนี้ลงไป

Sub Macro1()

' Draw a man

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 284.25, 54.75)

.AddNodes msoSegmentCurve, msoEditingAuto, 283.25, 56, 282.4398425197, _

57.4291338583, 281.25, 58.5

.AddNodes msoSegmentCurve, msoEditingAuto, 279.91, 59.705984252, 276.75, 61.5 _

, 276.75, 61.5

.AddNodes msoSegmentCurve, msoEditingAuto, 272.75, 67.5, 278, 60.25, 273, _

65.25

.AddNodes msoSegmentCurve, msoEditingAuto, 268, 70.25, 275.25, 65, 269.25, 69

.AddNodes msoSegmentLine, msoEditingAuto, 264.75, 75.75

.AddNodes msoSegmentLine, msoEditingAuto, 263.25, 78

.AddNodes msoSegmentCurve, msoEditingAuto, 262.75, 78.75, 262.1531496063, _

79.4437795276, 261.75, 80.25

.AddNodes msoSegmentCurve, msoEditingAuto, 261.25, 81.25, 260.6903937008, _

82.2223622047, 260.25, 83.25

.AddNodes msoSegmentCurve, msoEditingAuto, 259.9385826772, 83.9766141732, _

259.8535433071, 84.7929133858, 259.5, 85.5

.AddNodes msoSegmentCurve, msoEditingAuto, 259.0968503937, 86.3062204724, _

258.3660629921, 86.9262992126, 258, 87.75

.AddNodes msoSegmentCurve, msoEditingAuto, 256.5741732283, 90.9581889764, _

256.6226771654, 92.1957480315, 255.75, 95.25

.AddNodes msoSegmentCurve, msoEditingAuto, 254.4971653543, 99.6348031496, _

255.4222834646, 95.2245669291, 254.25, 100.5

.AddNodes msoSegmentCurve, msoEditingAuto, 253.9734645669, 101.7444094488, _

253.8354330709, 103.0201574803, 253.5, 104.25

.AddNodes msoSegmentCurve, msoEditingAuto, 251.3678740157, 112.0676377953, _

252.9040944882, 105.7398425197, 250.5, 111.75

.AddNodes msoSegmentCurve, msoEditingAuto, 249.9127559055, 113.2180314961, _

249.5, 114.75, 249, 116.25

.AddNodes msoSegmentCurve, msoEditingAuto, 247.5714173228, 120.5357480315, _

244.9285826772, 121.4642519685, 241.5, 123.75

.AddNodes msoSegmentCurve, msoEditingAuto, 240.75, 124.25, 239.8874015748, _

124.6125984252, 239.25, 125.25

.AddNodes msoSegmentCurve, msoEditingAuto, 238.5, 126, 237.9209448819, _

126.9737795276, 237, 127.5

.AddNodes msoSegmentCurve, msoEditingAuto, 236.1050393701, 128.0114173228, _

234.9873228346, 127.9537795276, 234, 128.25

.AddNodes msoSegmentCurve, msoEditingAuto, 232.485511811, 128.7043307087, _

229.5, 129.75, 229.5, 129.75

.AddNodes msoSegmentCurve, msoEditingAuto, 228.75, 130.25, 228.0737007874, _

130.8839370079, 227.25, 131.25

.AddNodes msoSegmentCurve, msoEditingAuto, 225.8051181102, 131.8921259843, _

222.75, 132.75, 222.75, 132.75

.AddNodes msoSegmentCurve, msoEditingAuto, 222, 133.25, 221.3062204724, _

133.8468503937, 220.5, 134.25

.AddNodes msoSegmentCurve, msoEditingAuto, 219.7929133858, 134.6035433071, _

218.5436220472, 134.265984252, 218.25, 135

.AddNodes msoSegmentCurve, msoEditingAuto, 217.8671653543, 135.9570866142, _

218.4885826772, 137.1050393701, 219, 138

.AddNodes msoSegmentCurve, msoEditingAuto, 219.5262204724, 138.9209448819, _

220.4351968504, 139.5709448819, 221.25, 140.25

.AddNodes msoSegmentCurve, msoEditingAuto, 223.188503937, 141.8654330709, _

223.4949606299, 141.7483464567, 225.75, 142.5

.AddNodes msoSegmentCurve, msoEditingAuto, 226.5, 143, 227.1762992126, _

143.6339370079, 228, 144

.AddNodes msoSegmentLine, msoEditingAuto, 234.75, 146.25

.AddNodes msoSegmentLine, msoEditingAuto, 237, 147

.AddNodes msoSegmentLine, msoEditingAuto, 239.25, 147.75

.AddNodes msoSegmentCurve, msoEditingAuto, 240, 148.25, 240.6937795276, _

148.8468503937, 241.5, 149.25

.AddNodes msoSegmentCurve, msoEditingAuto, 242.2070866142, 149.6035433071, _

243.1909448819, 149.4409448819, 243.75, 150

.AddNodes msoSegmentCurve, msoEditingAuto, 244.3090551181, 150.5590551181, _

244.25, 151.5, 244.5, 152.25

.AddNodes msoSegmentCurve, msoEditingAuto, 243.6068503937, 162.0746456693, _

244.6232283465, 157.8803937008, 242.25, 165

.AddNodes msoSegmentCurve, msoEditingAuto, 241.9649606299, 165.8551181102, _

241.25, 166.5, 240.75, 167.25

.AddNodes msoSegmentCurve, msoEditingAuto, 241.25, 168.75, 240.9344094488, _

170.8729133858, 242.25, 171.75

.AddNodes msoSegmentCurve, msoEditingAuto, 243.75, 172.75, 245.0397637795, _

174.1799212598, 246.75, 174.75

.AddNodes msoSegmentLine, msoEditingAuto, 251.25, 176.25

.AddNodes msoSegmentCurve, msoEditingAuto, 252, 176.5, 252.7201574803, 176.87 _

, 253.5, 177

.AddNodes msoSegmentLine, msoEditingAuto, 258, 177.75

.AddNodes msoSegmentCurve, msoEditingAuto, 259.5, 178.25, 263.8155905512, _

178.3729133858, 262.5, 179.25

.AddNodes msoSegmentCurve, msoEditingAuto, 261.75, 179.75, 261.0737007874, _

180.3839370079, 260.25, 180.75

.AddNodes msoSegmentCurve, msoEditingAuto, 255.5869291339, 182.8224409449, _

253.7948818898, 182.445511811, 248.25, 183

.AddNodes msoSegmentCurve, msoEditingAuto, 247.5, 183.25, 246.7601574803, _

183.5328346457, 246, 183.75

.AddNodes msoSegmentCurve, msoEditingAuto, 245.0088976378, 184.0331496063, _

243.8576377953, 183.9281889764, 243, 184.5

.AddNodes msoSegmentCurve, msoEditingAuto, 242.25, 185, 242, 186, 241.5, _

186.75

.AddNodes msoSegmentLine, msoEditingAuto, 243, 191.25

.AddNodes msoSegmentCurve, msoEditingAuto, 243.25, 192, 243.0922047244, _

193.061496063, 243.75, 193.5

.AddNodes msoSegmentCurve, msoEditingAuto, 246.882519685, 195.5883464567, _

245.3625984252, 194.3625984252, 248.25, 197.25

.AddNodes msoSegmentCurve, msoEditingAuto, 248.5, 198, 248.561496063, _

198.8422047244, 249, 199.5

.AddNodes msoSegmentCurve, msoEditingAuto, 249.5883464567, 200.382519685, _

251.138976378, 200.6951968504, 251.25, 201.75

.AddNodes msoSegmentCurve, msoEditingAuto, 252.1663779528, 210.455511811, _

251.5399212598, 219.258503937, 252, 228

.AddNodes msoSegmentCurve, msoEditingAuto, 252.0415748031, 228.7894488189, _

252.3660629921, 229.5588976378, 252.75, 230.25

.AddNodes msoSegmentCurve, msoEditingAuto, 253.625511811, 231.8259055118, _

254.75, 233.25, 255.75, 234.75

.AddNodes msoSegmentCurve, msoEditingAuto, 256.9266929134, 236.5150393701, _

258.75, 237.75, 260.25, 239.25

.AddNodes msoSegmentCurve, msoEditingAuto, 263.6424409449, 242.6424409449, _

259.6196850394, 240.7899212598, 264, 242.25

.AddNodes msoSegmentCurve, msoEditingAuto, 266.5285826772, 246.0429133858, _

264.1273228346, 243.4386614173, 267.75, 245.25

.AddNodes msoSegmentCurve, msoEditingAuto, 268.5562204724, 245.6531496063, _

269.1762992126, 246.3839370079, 270, 246.75

.AddNodes msoSegmentCurve, msoEditingAuto, 271.4448818898, 247.3921259843, _

274.5, 248.25, 274.5, 248.25

.AddNodes msoSegmentCurve, msoEditingAuto, 278.0655905512, 250.6270866142, _

275.8948818898, 249.4649606299, 281.25, 251.25

.AddNodes msoSegmentLine, msoEditingAuto, 283.5, 252

.AddNodes msoSegmentCurve, msoEditingAuto, 289.75, 251.75, 296.0240944882, _

251.852519685, 302.25, 251.25

.AddNodes msoSegmentCurve, msoEditingAuto, 303.8237795276, 251.0977165354, _

306.75, 249.75, 306.75, 249.75

.AddNodes msoSegmentCurve, msoEditingAuto, 308.25, 248.75, 309.7290551181, _

247.7178740157, 311.25, 246.75

.AddNodes msoSegmentCurve, msoEditingAuto, 312.4798425197, 245.9674015748, _

313.7870866142, 245.3085826772, 315, 244.5

.AddNodes msoSegmentCurve, msoEditingAuto, 317.6412598425, 242.7391338583, _

319.6172440945, 241.1531496063, 322.5, 240

.AddNodes msoSegmentCurve, msoEditingAuto, 323.9680314961, 239.4127559055, _

325.5, 239, 327, 238.5

.AddNodes msoSegmentLine, msoEditingAuto, 333.75, 236.25

.AddNodes msoSegmentCurve, msoEditingAuto, 335.1926771654, 235.7691338583, _

336.75, 235.75, 338.25, 235.5

.AddNodes msoSegmentCurve, msoEditingAuto, 343.95, 233.6, 339.1738582677, _

234.985511811, 351, 234

.AddNodes msoSegmentCurve, msoEditingAuto, 354.901023622, 233.6748818898, _

361.2754330709, 232.9416535433, 365.25, 232.5

.AddNodes msoSegmentLine, msoEditingAuto, 364.5, 230.25

.ConvertToShape.Select

End With

Range("J12").Select

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 342, 129)

.AddNodes msoSegmentCurve, msoEditingAuto, 342.25, 127.75, 342.222519685, _

126.4104724409, 342.75, 125.25

.AddNodes msoSegmentCurve, msoEditingAuto, 344.6522047244, 121.0651968504, _

345.0488976378, 121.2174015748, 348, 119.25

.AddNodes msoSegmentCurve, msoEditingAuto, 350.6766929134, 115.2349606299, _

348.8625984252, 117.6374015748, 354, 112.5

.AddNodes msoSegmentCurve, msoEditingAuto, 354.5590551181, 111.9409448819, _

355.5, 112, 356.25, 111.75

.AddNodes msoSegmentCurve, msoEditingAuto, 357.3875590551, 110.9915748031, _

359.1974015748, 109.5, 360.75, 109.5

.AddNodes msoSegmentCurve, msoEditingAuto, 362.0247244094, 109.5, 363.25, 110 _

, 364.5, 110.25

.AddNodes msoSegmentCurve, msoEditingAuto, 365, 111, 365.4229133858, _

111.8075590551, 366, 112.5

.AddNodes msoSegmentCurve, msoEditingAuto, 366.6790551181, 113.3148031496, _

367.6616535433, 113.867480315, 368.25, 114.75

.AddNodes msoSegmentCurve, msoEditingAuto, 368.688503937, 115.4077952756, _

368.6464566929, 116.2929133858, 369, 117

.AddNodes msoSegmentCurve, msoEditingAuto, 369.4031496063, 117.8062204724, _

370.1339370079, 118.4262992126, 370.5, 119.25

.AddNodes msoSegmentCurve, msoEditingAuto, 371.1421259843, 120.6948818898, _

371.5, 122.25, 372, 123.75

.AddNodes msoSegmentLine, msoEditingAuto, 372.75, 126

.AddNodes msoSegmentLine, msoEditingAuto, 375, 132.75

.AddNodes msoSegmentCurve, msoEditingAuto, 375.325984252, 133.7278740157, _

375.5, 134.75, 375.75, 135.75

.AddNodes msoSegmentCurve, msoEditingAuto, 375.6068503937, 137.6109448819, _

375.8688976378, 144.5122047244, 374.25, 147.75

.AddNodes msoSegmentCurve, msoEditingAuto, 373.8468503937, 148.5562204724, _

373.1531496063, 149.1937795276, 372.75, 150

.AddNodes msoSegmentCurve, msoEditingAuto, 371.53, 152.44, 372.6493700787, _

152.3506299213, 370.5, 154.5

.AddNodes msoSegmentCurve, msoEditingAuto, 369.8625984252, 155.1374015748, 369 _

, 155.5, 368.25, 156

.AddNodes msoSegmentCurve, msoEditingAuto, 366.9299212598, 159.9602362205, _

367.938503937, 157.5922047244, 364.5, 162.75

.AddNodes msoSegmentCurve, msoEditingAuto, 363.5, 164.25, 360, 165.75, 360, _

165.75

.AddNodes msoSegmentCurve, msoEditingAuto, 359.5, 166.5, 359.2038582677, _

167.4369291339, 358.5, 168

.AddNodes msoSegmentCurve, msoEditingAuto, 356.2690551181, 169.7848031496, _

349.4011811024, 168.0651181102, 348.75, 168

.AddNodes msoSegmentCurve, msoEditingAuto, 347.6047244094, 164.5641732283, 348 _

, 166.5405511811, 348, 162

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 366, 124.5)

.AddNodes msoSegmentCurve, msoEditingAuto, 365.6885826772, 124.5239370079, _

356.8619685039, 124.41, 354, 126

.AddNodes msoSegmentCurve, msoEditingAuto, 352.4240944882, 126.875511811, _

349.5, 129, 349.5, 129

.AddNodes msoSegmentCurve, msoEditingAuto, 349.25, 129.75, 349.1035433071, _

130.5429133858, 348.75, 131.25

.AddNodes msoSegmentCurve, msoEditingAuto, 348.3468503937, 132.0562204724, _

347.6160629921, 132.6762992126, 347.25, 133.5

.AddNodes msoSegmentCurve, msoEditingAuto, 346.6078740157, 134.9448818898, _

345.75, 138, 345.75, 138

.AddNodes msoSegmentCurve, msoEditingAuto, 346, 141, 345.2933858268, _

144.2419685039, 346.5, 147

.AddNodes msoSegmentCurve, msoEditingAuto, 347.3806299213, 149.0128346457, _

351.1654330709, 150.0551181102, 353.25, 150.75

.AddNodes msoSegmentCurve, msoEditingAuto, 361.8776377953, 150.2107874016, _

363.9877165354, 153.2746456693, 366.75, 147.75

.AddNodes msoSegmentCurve, msoEditingAuto, 367.1035433071, 147.0429133858, _

367.25, 146.25, 367.5, 145.5

.AddNodes msoSegmentCurve, msoEditingAuto, 366.75, 145, 366.0562204724, _

144.4031496063, 365.25, 144

.AddNodes msoSegmentCurve, msoEditingAuto, 364.5429133858, 143.6464566929, _

363.7669291339, 143.4417322835, 363, 143.25

.AddNodes msoSegmentCurve, msoEditingAuto, 360.075511811, 142.5188976378, _

356.9633070866, 142.1733070866, 354, 141.75

.AddNodes msoSegmentCurve, msoEditingAuto, 353.9088976378, 141.7196062992, _

347.6557480315, 140.2930708661, 354, 139.5

.AddNodes msoSegmentCurve, msoEditingAuto, 355.2648818898, 139.3418897638, _

356.5, 140, 357.75, 140.25

.AddNodes msoSegmentCurve, msoEditingAuto, 364.1981889764, 144.5488188976, _

356.6098425197, 138.8248031496, 360.75, 144

.AddNodes msoSegmentCurve, msoEditingAuto, 361.3130708661, 144.7038582677, _

362.2961417323, 144.9369291339, 363, 145.5

.AddNodes msoSegmentCurve, msoEditingAuto, 363.5521259843, 145.9417322835, 364 _

, 146.5, 364.5, 147

.ConvertToShape.Select

End With

Range("H10").Select



With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 368.25, 123.75)

.AddNodes msoSegmentCurve, msoEditingAuto, 367, 123.25, 365.8433070866, _

122.3395275591, 364.5, 122.25

.AddNodes msoSegmentCurve, msoEditingAuto, 361.9930708661, 122.0828346457, _

359.5037795276, 122.7913385827, 357, 123

.AddNodes msoSegmentCurve, msoEditingAuto, 356.5017322835, 123.041496063, 356 _

, 123, 355.5, 123

.ConvertToShape.Select

End With

Range("H8").Select



With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 369, 130.5)

.AddNodes msoSegmentCurve, msoEditingAuto, 368.9923622047, 130.4539370079, _

368.2774015748, 124.7217322835, 367.5, 123.75

.AddNodes msoSegmentCurve, msoEditingAuto, 366.4425984252, 122.4282677165, _

364.4822047244, 121.9940944882, 363, 121.5

.AddNodes msoSegmentCurve, msoEditingAuto, 361.25, 121.75, 359.4432283465, _

121.7420472441, 357.75, 122.25

.AddNodes msoSegmentCurve, msoEditingAuto, 355.3055905512, 122.9833070866, _

355.4444094488, 124.2666929134, 354, 126

.AddNodes msoSegmentCurve, msoEditingAuto, 353.3209448819, 126.8148031496, _

352.4011811024, 127.4127559055, 351.75, 128.25

.AddNodes msoSegmentCurve, msoEditingAuto, 350.6432283465, 129.672992126, _

349.75, 131.25, 348.75, 132.75

.AddNodes msoSegmentCurve, msoEditingAuto, 348.25, 133.5, 347.5350393701, _

134.1448818898, 347.25, 135

.AddNodes msoSegmentLine, msoEditingAuto, 346.5, 137.25

.AddNodes msoSegmentCurve, msoEditingAuto, 347.714015748, 142.1061417323, _

346.3083464567, 138.67, 349.5, 142.5

.AddNodes msoSegmentCurve, msoEditingAuto, 351.4117322835, 144.7940944882, _

350.3382677165, 144.9559055118, 353.25, 146.25

.AddNodes msoSegmentCurve, msoEditingAuto, 354.6948818898, 146.8921259843, _

357.75, 147.75, 357.75, 147.75

.AddNodes msoSegmentCurve, msoEditingAuto, 359.25, 147.5, 360.9296850394, _

147.754488189, 362.25, 147

.AddNodes msoSegmentCurve, msoEditingAuto, 362.9363779528, 146.6077952756, _

363.0873228346, 145.5357480315, 363, 144.75

.AddNodes msoSegmentCurve, msoEditingAuto, 362.5001574803, 140.2516535433, _

362.0829133858, 140.6385826772, 359.25, 138.75

.AddNodes msoSegmentCurve, msoEditingAuto, 356, 139, 352.7596062992, 139.5, _

349.5, 139.5

.AddNodes msoSegmentCurve, msoEditingAuto, 347.9792913386, 139.5, _

352.4792913386, 138.75, 354, 138.75

.AddNodes msoSegmentCurve, msoEditingAuto, 355.2747244094, 138.75, 356.5, _

139.25, 357.75, 139.5

.AddNodes msoSegmentCurve, msoEditingAuto, 361.7270866142, 143.4770866142, _

358.538503937, 139.8141732283, 361.5, 144.75

.AddNodes msoSegmentCurve, msoEditingAuto, 362.4275590551, 146.2959055118, _

364.5, 149.25, 364.5, 149.25

.AddNodes msoSegmentCurve, msoEditingAuto, 364.25, 151.25, 364.5685826772, _

153.4081889764, 363.75, 155.25

.AddNodes msoSegmentCurve, msoEditingAuto, 363.4288976378, 155.9724409449, _

362.2070866142, 155.6464566929, 361.5, 156

.AddNodes msoSegmentCurve, msoEditingAuto, 354.9555905512, 159.2722047244, _

364.0545669291, 155.9086614173, 356.25, 158.25

.AddNodes msoSegmentCurve, msoEditingAuto, 354.735511811, 158.7043307087, _

353.25, 159.25, 351.75, 159.75

.AddNodes msoSegmentLine, msoEditingAuto, 349.5, 160.5

.ConvertToShape.Select

End With

Range("H10").Select



With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 237.75, 20.25)

.AddNodes msoSegmentCurve, msoEditingAuto, 238.5, 21.5, 239.164015748, _

22.8057480315, 240, 24

.AddNodes msoSegmentCurve, msoEditingAuto, 242.6518897638, 27.7883464567, _

244.7965354331, 29.5465354331, 248.25, 33

.AddNodes msoSegmentCurve, msoEditingAuto, 249, 33.75, 249.5513385827, _

34.7756692913, 250.5, 35.25

.AddNodes msoSegmentLine, msoEditingAuto, 253.5, 36.75

.AddNodes msoSegmentCurve, msoEditingAuto, 254.25, 37.75, 254.8661417323, _

38.8661417323, 255.75, 39.75

.AddNodes msoSegmentCurve, msoEditingAuto, 256.3874015748, 40.3874015748, _

257.2665354331, 40.7260629921, 258, 41.25

.AddNodes msoSegmentCurve, msoEditingAuto, 259.0171653543, 41.9765354331, _

259.9828346457, 42.7734645669, 261, 43.5

.AddNodes msoSegmentCurve, msoEditingAuto, 261.7334645669, 44.0239370079, _

262.5575590551, 44.4229133858, 263.25, 45

.AddNodes msoSegmentCurve, msoEditingAuto, 266.9953543307, 48.1211023622, _

263.7958267717, 46.6819685039, 267.75, 48

.AddNodes msoSegmentCurve, msoEditingAuto, 268.5, 48.5, 269.2665354331, _

48.9760629921, 270, 49.5

.AddNodes msoSegmentCurve, msoEditingAuto, 271.0171653543, 50.2265354331, _

271.8819685039, 51.1909448819, 273, 51.75

.AddNodes msoSegmentCurve, msoEditingAuto, 274.4142519685, 52.4570866142, 276 _

, 52.75, 277.5, 53.25

.AddNodes msoSegmentLine, msoEditingAuto, 284.25, 55.5

.AddNodes msoSegmentCurve, msoEditingAuto, 285.2278740157, 55.825984252, _

286.2626771654, 55.9537795276, 287.25, 56.25

.AddNodes msoSegmentCurve, msoEditingAuto, 288.764488189, 56.7043307087, _

291.75, 57.75, 291.75, 57.75

.AddNodes msoSegmentCurve, msoEditingAuto, 289.2687401575, 65.1937007874, _

293.4317322835, 53.8229133858, 288.75, 62.25

.AddNodes msoSegmentCurve, msoEditingAuto, 287.9821259843, 63.6321259843, _

287.5099212598, 65.1903937008, 287.25, 66.75

.AddNodes msoSegmentCurve, msoEditingAuto, 286.1277952756, 73.4830708661, _

286.6679527559, 69.7385826772, 285.75, 78

.AddNodes msoSegmentCurve, msoEditingAuto, 286, 81.25, 284.1951181102, _

85.4451181102, 286.5, 87.75

.AddNodes msoSegmentCurve, msoEditingAuto, 288.4525984252, 89.7025984252, _

292.0637795276, 87.6396062992, 294.75, 87

.AddNodes msoSegmentCurve, msoEditingAuto, 302.8699212598, 85.0666929134, _

300.0822834646, 85.0244094488, 304.5, 82.5

.AddNodes msoSegmentCurve, msoEditingAuto, 305.4707086614, 81.9452755906, _

306.4393700787, 81.3535433071, 307.5, 81

.AddNodes msoSegmentCurve, msoEditingAuto, 309.4557480315, 80.3481102362, _

313.5, 79.5, 313.5, 79.5

.AddNodes msoSegmentCurve, msoEditingAuto, 314.25, 79, 314.9437795276, _

78.4031496063, 315.75, 78

.AddNodes msoSegmentCurve, msoEditingAuto, 316.4570866142, 77.6464566929, _

317.561496063, 76.5922047244, 318, 77.25

.AddNodes msoSegmentCurve, msoEditingAuto, 318.2550393701, 77.6325984252, _

316.6580314961, 81.8677952756, 316.5, 82.5

.AddNodes msoSegmentCurve, msoEditingAuto, 315.5329133858, 86.3683464567, _

316.0377952756, 86.8169291339, 314.25, 90.75

.AddNodes msoSegmentCurve, msoEditingAuto, 313.6467716535, 92.0770866142, _

312.6518897638, 93.1961417323, 312, 94.5

.AddNodes msoSegmentCurve, msoEditingAuto, 311.4005511811, 95.6988188976, _

310.8203937008, 98.6285826772, 310.5, 99.75

.AddNodes msoSegmentCurve, msoEditingAuto, 310.2828346457, 100.5101574803, _

309.9417322835, 101.2330708661, 309.75, 102

.AddNodes msoSegmentCurve, msoEditingAuto, 309.4407874016, 103.2366929134, _

309.3354330709, 104.5201574803, 309, 105.75

.AddNodes msoSegmentCurve, msoEditingAuto, 308.5839370079, 107.2754330709, _

307.5, 110.25, 307.5, 110.25

.AddNodes msoSegmentCurve, msoEditingAuto, 307.75, 112, 306.7791338583, _

114.5194488189, 308.25, 115.5

.AddNodes msoSegmentCurve, msoEditingAuto, 309.9270866142, 116.6180314961, _

312.3688188976, 115.4735433071, 314.25, 114.75

.AddNodes msoSegmentCurve, msoEditingAuto, 315.7440944882, 114.1753543307, _

316.6680314961, 112.6379527559, 318, 111.75

.AddNodes msoSegmentCurve, msoEditingAuto, 318.9302362205, 111.1298425197, _

320.0518897638, 110.842519685, 321, 110.25

.AddNodes msoSegmentCurve, msoEditingAuto, 322.06, 109.587480315, _

322.9599212598, 108.6933858268, 324, 108

.AddNodes msoSegmentCurve, msoEditingAuto, 327.5423622047, 105.6384251969, _

326.8473228346, 106.0508661417, 330, 105

.AddNodes msoSegmentCurve, msoEditingAuto, 331, 104.25, 331.975984252, _

103.4668503937, 333, 102.75

.AddNodes msoSegmentCurve, msoEditingAuto, 334.4769291339, 101.7161417323, _

337.5, 99.75, 337.5, 99.75

.AddNodes msoSegmentCurve, msoEditingAuto, 338, 100.75, 338.6074015748, _

101.7031496063, 339, 102.75

.AddNodes msoSegmentCurve, msoEditingAuto, 341.0207874016, 108.1387401575, _

339.2636220472, 114.9916535433, 339, 120

.AddNodes msoSegmentCurve, msoEditingAuto, 339.25, 121.75, 339.0320472441, _

123.6345669291, 339.75, 125.25

.AddNodes msoSegmentCurve, msoEditingAuto, 340.1160629921, 126.0737007874, _

341.125511811, 126.9685826772, 342, 126.75

.AddNodes msoSegmentCurve, msoEditingAuto, 342.7669291339, 126.5582677165, _

342.1909448819, 125.0590551181, 342.75, 124.5

.AddNodes msoSegmentCurve, msoEditingAuto, 343.3090551181, 123.9409448819, _

344.25, 124, 345, 123.75

.AddNodes msoSegmentCurve, msoEditingAuto, 345.25, 123, 345.3660629921, _

122.1911023622, 345.75, 121.5

.AddNodes msoSegmentLine, msoEditingAuto, 350.25, 114.75

.AddNodes msoSegmentCurve, msoEditingAuto, 351.25, 113.25, 353.25, 112.75, _

354.75, 111.75

.AddNodes msoSegmentCurve, msoEditingAuto, 356.6462204724, 110.4858267717, _

357.0320472441, 109.9436220472, 359.25, 109.5

.AddNodes msoSegmentCurve, msoEditingAuto, 359.7403149606, 109.4019685039, _

360.25, 109.5, 360.75, 109.5

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 359.25, 168)

.AddNodes msoSegmentCurve, msoEditingAuto, 361.9009448819, 169.0603937008, _

363.1760629921, 169.2717322835, 365.25, 171

.AddNodes msoSegmentCurve, msoEditingAuto, 368.9953543307, 174.1211023622, _

365.7958267717, 172.6819685039, 369.75, 174

.AddNodes msoSegmentLine, msoEditingAuto, 374.25, 177

.AddNodes msoSegmentCurve, msoEditingAuto, 375, 177.5, 375.7788976378, _

177.9591338583, 376.5, 178.5

.AddNodes msoSegmentCurve, msoEditingAuto, 377.5, 179.25, 378.4828346457, _

180.0234645669, 379.5, 180.75

.AddNodes msoSegmentCurve, msoEditingAuto, 380.2334645669, 181.2739370079, _

381.0762992126, 181.6511811024, 381.75, 182.25

.AddNodes msoSegmentCurve, msoEditingAuto, 383.335511811, 183.6592913386, _

384.75, 185.25, 386.25, 186.75

.AddNodes msoSegmentCurve, msoEditingAuto, 387, 187.5, 387.617480315, _

188.4116535433, 388.5, 189

.AddNodes msoSegmentLine, msoEditingAuto, 390.75, 190.5

.AddNodes msoSegmentCurve, msoEditingAuto, 394.4742519685, 196.0862992126, _

389.6877165354, 189.2252755906, 394.5, 195

.AddNodes msoSegmentCurve, msoEditingAuto, 397.6249606299, 198.75, _

394.1249606299, 196, 398.25, 198.75

.AddNodes msoSegmentCurve, msoEditingAuto, 403.6100787402, 206.7901574803, _

395.2627559055, 194.5878740157, 402, 203.25

.AddNodes msoSegmentCurve, msoEditingAuto, 403.1067716535, 204.672992126, _

403.5, 206.75, 405, 207.75

.AddNodes msoSegmentCurve, msoEditingAuto, 406.5, 208.75, 407.7897637795, _

210.1799212598, 409.5, 210.75

.AddNodes msoSegmentCurve, msoEditingAuto, 410.25, 211, 411.0233858268, _

211.1885826772, 411.75, 211.5

.AddNodes msoSegmentCurve, msoEditingAuto, 418.2374015748, 214.2803149606, _

411.7233858268, 211.9911023622, 417, 213.75

.AddNodes msoSegmentCurve, msoEditingAuto, 418.5, 213.5, 420.1103937008, _

213.6176377953, 421.5, 213

.AddNodes msoSegmentCurve, msoEditingAuto, 422.4692125984, 212.5692125984, _

423.0988188976, 211.5872440945, 423.75, 210.75

.AddNodes msoSegmentCurve, msoEditingAuto, 432.7797637795, 199.1403149606, _

423.7280314961, 210.7896062992, 427.5, 204

.AddNodes msoSegmentCurve, msoEditingAuto, 432.3462992126, 195.2766141732, _

429.0798425197, 203.7605511811, 432, 195

.AddNodes msoSegmentCurve, msoEditingAuto, 433.8851181102, 189.3445669291, _

431.3422047244, 196.3155905512, 434.25, 190.5

.AddNodes msoSegmentCurve, msoEditingAuto, 434.6035433071, 189.7929133858, _

434.6464566929, 188.9570866142, 435, 188.25

.AddNodes msoSegmentCurve, msoEditingAuto, 437.1913385827, 183.8673228346, _

435.9932283465, 188.1486614173, 437.25, 183.75

.AddNodes msoSegmentCurve, msoEditingAuto, 437.5331496063, 182.7588976378, _

437.7168503937, 181.7411023622, 438, 180.75

.AddNodes msoSegmentCurve, msoEditingAuto, 438.2171653543, 179.9898425197, _

438.5328346457, 179.2601574803, 438.75, 178.5

.AddNodes msoSegmentCurve, msoEditingAuto, 439.0331496063, 177.5088976378, _

439.2037795276, 176.4873228346, 439.5, 175.5

.AddNodes msoSegmentCurve, msoEditingAuto, 439.9543307087, 173.985511811, _

440.5, 172.5, 441, 171

.AddNodes msoSegmentCurve, msoEditingAuto, 441.25, 170.25, 441.5582677165, _

169.5169291339, 441.75, 168.75

.AddNodes msoSegmentCurve, msoEditingAuto, 442, 167.75, 442.2168503937, _

166.7411023622, 442.5, 165.75

.AddNodes msoSegmentCurve, msoEditingAuto, 442.7171653543, 164.9898425197, _

443.0419685039, 164.2626771654, 443.25, 163.5

.AddNodes msoSegmentCurve, msoEditingAuto, 443.7924409449, 161.5111023622, _

444.25, 159.5, 444.75, 157.5

.AddNodes msoSegmentCurve, msoEditingAuto, 445.1787401575, 155.7850393701, _

445.1533070866, 153.9834645669, 445.5, 152.25

.AddNodes msoSegmentCurve, msoEditingAuto, 445.6550393701, 151.4748031496, 446 _

, 150.75, 446.25, 150

.AddNodes msoSegmentCurve, msoEditingAuto, 446.5591338583, 145.9811023622, _

447.164015748, 137.1450393701, 447.75, 132.75

.AddNodes msoSegmentCurve, msoEditingAuto, 447.918503937, 131.4864566929, _

448.25, 130.25, 448.5, 129

.AddNodes msoSegmentCurve, msoEditingAuto, 449.5972440945, 114.7356692913, _

448.89, 122.4896850394, 450.75, 105.75

.AddNodes msoSegmentCurve, msoEditingAuto, 451.027480315, 103.2529133858, _

451.2064566929, 100.7452755906, 451.5, 98.25

.AddNodes msoSegmentCurve, msoEditingAuto, 451.885984252, 94.9688188976, _

452.457480315, 91.7551181102, 453, 88.5

.AddNodes msoSegmentCurve, msoEditingAuto, 452.75, 79.25, 452.9252755906, _

69.9787401575, 452.25, 60.75

.AddNodes msoSegmentCurve, msoEditingAuto, 452.1684251969, 59.6349606299, _

451.1425984252, 58.7968503937, 450.75, 57.75

.AddNodes msoSegmentCurve, msoEditingAuto, 450.3880314961, 56.7848818898, _

450.4060629921, 55.6974015748, 450, 54.75

.AddNodes msoSegmentCurve, msoEditingAuto, 449.6449606299, 53.921496063, _

448.8660629921, 53.3237007874, 448.5, 52.5

.AddNodes msoSegmentCurve, msoEditingAuto, 447.8578740157, 51.0551181102, _

447.5, 49.5, 447, 48

.AddNodes msoSegmentCurve, msoEditingAuto, 446.7149606299, 47.1448818898, _

445.9031496063, 46.5562204724, 445.5, 45.75

.AddNodes msoSegmentCurve, msoEditingAuto, 445.1464566929, 45.0429133858, _

445.1339370079, 44.1911023622, 444.75, 43.5

.AddNodes msoSegmentCurve, msoEditingAuto, 440.9588188976, 36.6759055118, _

443.1440944882, 41.1229133858, 439.5, 36.75

.AddNodes msoSegmentCurve, msoEditingAuto, 436.3750393701, 33, 439.8750393701 _

, 35.75, 435.75, 33

.AddNodes msoSegmentCurve, msoEditingAuto, 435.25, 32.25, 434.9283464567, _

31.3435433071, 434.25, 30.75

.AddNodes msoSegmentCurve, msoEditingAuto, 432.8933070866, 29.5628346457, _

429.75, 27.75, 429.75, 27.75

.AddNodes msoSegmentCurve, msoEditingAuto, 426.9784251969, 23.5926771654, _

429.8357480315, 26.8809448819, 426, 24.75

.AddNodes msoSegmentCurve, msoEditingAuto, 424.4240944882, 23.874488189, 423, _

22.75, 421.5, 21.75

.AddNodes msoSegmentCurve, msoEditingAuto, 420.4599212598, 21.0566141732, _

419.6180314961, 20.0590551181, 418.5, 19.5

.AddNodes msoSegmentCurve, msoEditingAuto, 417.0857480315, 18.7929133858, 414 _

, 18, 414, 18

.AddNodes msoSegmentCurve, msoEditingAuto, 413.25, 17.5, 412.5737007874, _

16.8660629921, 411.75, 16.5

.AddNodes msoSegmentCurve, msoEditingAuto, 409.8803937008, 15.6690551181, _

406.4316535433, 14.7348031496, 404.25, 14.25

.AddNodes msoSegmentCurve, msoEditingAuto, 403.0055905512, 13.9734645669, _

401.7444094488, 13.7765354331, 400.5, 13.5

.AddNodes msoSegmentCurve, msoEditingAuto, 399.4937795276, 13.2763779528, _

398.5, 13, 397.5, 12.75

.AddNodes msoSegmentCurve, msoEditingAuto, 396.75, 12.25, 396.111496063, _

11.5151181102, 395.25, 11.25

.AddNodes msoSegmentCurve, msoEditingAuto, 391.8380314961, 10.2001574803, _

384.6828346457, 9.2376377953, 381, 9

.AddNodes msoSegmentCurve, msoEditingAuto, 375.5057480315, 8.645511811, 370, _

8.5, 364.5, 8.25

.AddNodes msoSegmentLine, msoEditingAuto, 279.75, 9.75

.AddNodes msoSegmentCurve, msoEditingAuto, 277.4939370079, 9.9380314961, _

275.25, 10.25, 273, 10.5

.AddNodes msoSegmentCurve, msoEditingAuto, 268.3792125984, 12.0402362205, _

273.0838582677, 10.6211023622, 265.5, 12

.AddNodes msoSegmentCurve, msoEditingAuto, 264.4858267717, 12.1844094488, _

263.4911023622, 12.4668503937, 262.5, 12.75

.AddNodes msoSegmentCurve, msoEditingAuto, 261.7398425197, 12.9671653543, _

261.034488189, 13.4019685039, 260.25, 13.5

.AddNodes msoSegmentCurve, msoEditingAuto, 255.017007874, 14.1540944882, 244.5 _

, 15, 244.5, 15

.AddNodes msoSegmentLine, msoEditingAuto, 240, 16.5

.AddNodes msoSegmentLine, msoEditingAuto, 237.75, 17.25

.AddNodes msoSegmentCurve, msoEditingAuto, 236.9403149606, 18.4645669291, _

234.9748818898, 20.1299212598, 237, 21.75

.AddNodes msoSegmentCurve, msoEditingAuto, 237.8048818898, 22.3939370079, 240 _

, 22.5, 240, 22.5

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 258.75, 85.5)

.AddNodes msoSegmentCurve, msoEditingAuto, 258.8750393701, 86.25, _

261.2701574803, 85.9145669291, 262.5, 86.25

.AddNodes msoSegmentCurve, msoEditingAuto, 264.0254330709, 86.6660629921, 267 _

, 87.75, 267, 87.75

.AddNodes msoSegmentCurve, msoEditingAuto, 271.2988188976, 94.1981889764, _

265.5748031496, 86.6098425197, 270.75, 90.75

.AddNodes msoSegmentCurve, msoEditingAuto, 271.4538582677, 91.3130708661, _

271.5716535433, 92.4064566929, 272.25, 93

.AddNodes msoSegmentCurve, msoEditingAuto, 273.6066929134, 94.1871653543, _

276.75, 96, 276.75, 96

.AddNodes msoSegmentCurve, msoEditingAuto, 279.2785826772, 99.7929133858, _

276.8773228346, 97.1886614173, 280.5, 99

.AddNodes msoSegmentCurve, msoEditingAuto, 281.3062204724, 99.4031496063, _

281.9262992126, 100.1339370079, 282.75, 100.5

.AddNodes msoSegmentCurve, msoEditingAuto, 284.1948818898, 101.1421259843, _

285.75, 101.5, 287.25, 102

.AddNodes msoSegmentLine, msoEditingAuto, 289.5, 102.75

.AddNodes msoSegmentCurve, msoEditingAuto, 288.75, 103, 287.8933070866, _

103.9595275591, 287.25, 103.5

.AddNodes msoSegmentCurve, msoEditingAuto, 283.571496063, 100.872519685, _

284.9253543307, 99.6006299213, 283.5, 96.75

.AddNodes msoSegmentCurve, msoEditingAuto, 282.25, 94.25, 282, 94.5, 279.75, _

93

.AddNodes msoSegmentCurve, msoEditingAuto, 278.3214173228, 88.7142519685, _

280.1785826772, 92.2857480315, 276.75, 90

.AddNodes msoSegmentCurve, msoEditingAuto, 275.867480315, 89.4116535433, _

275.1790551181, 88.5648031496, 274.5, 87.75

.AddNodes msoSegmentCurve, msoEditingAuto, 273.9229133858, 87.0575590551, _

273.7644094488, 85.9777165354, 273, 85.5

.AddNodes msoSegmentCurve, msoEditingAuto, 271.6592125984, 84.6619685039, 270 _

, 84.5, 268.5, 84

.AddNodes msoSegmentLine, msoEditingAuto, 261.75, 81.75

.AddNodes msoSegmentCurve, msoEditingAuto, 260.5641732283, 81.3547244094, _

258.6249606299, 84.75, 258.75, 85.5

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 251.25, 111.75)

.AddNodes msoSegmentCurve, msoEditingAuto, 259.9496062992, 120.4496062992, _

251.3594488189, 112.977480315, 257.25, 116.25

.AddNodes msoSegmentCurve, msoEditingAuto, 260.2800787402, 117.9333858268, _

260.9728346457, 119.4496062992, 264, 120

.AddNodes msoSegmentCurve, msoEditingAuto, 265.9830708661, 120.3605511811, 268 _

, 120.5, 270, 120.75

.AddNodes msoSegmentCurve, msoEditingAuto, 274, 120.5, 278.4152755906, _

121.7923622047, 282, 120

.AddNodes msoSegmentCurve, msoEditingAuto, 282.9901574803, 119.5048818898, _

279.7949606299, 114.0449606299, 279, 113.25

.AddNodes msoSegmentCurve, msoEditingAuto, 278.3625984252, 112.6125984252, _

277.5, 112.25, 276.75, 111.75

.AddNodes msoSegmentCurve, msoEditingAuto, 276.25, 111, 275.9283464567, _

110.0935433071, 275.25, 109.5

.AddNodes msoSegmentCurve, msoEditingAuto, 273.8933070866, 108.3128346457, _

272.25, 107.5, 270.75, 106.5

.AddNodes msoSegmentLine, msoEditingAuto, 268.5, 105

.AddNodes msoSegmentCurve, msoEditingAuto, 267.1792913386, 104.1195275591, _

265.7131496063, 102.8570866142, 264, 102.75

.AddNodes msoSegmentCurve, msoEditingAuto, 260.7562992126, 102.5472440945, _

257.5, 102.75, 254.25, 102.75

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 264.75, 104.25)

.AddNodes msoSegmentCurve, msoEditingAuto, 259.6441732283, 107.3134645669, _

261.4609448819, 105.1170866142, 259.5, 111

.AddNodes msoSegmentLine, msoEditingAuto, 258.75, 113.25

.AddNodes msoSegmentLine, msoEditingAuto, 258, 115.5

.AddNodes msoSegmentCurve, msoEditingAuto, 258.25, 116.5, 258.1060629921, _

117.6951181102, 258.75, 118.5

.AddNodes msoSegmentCurve, msoEditingAuto, 260.0223622047, 120.0904724409, _

263.7511023622, 118.6997637795, 264.75, 118.5

.AddNodes msoSegmentCurve, msoEditingAuto, 265, 117.5, 265.2037795276, _

116.4873228346, 265.5, 115.5

.AddNodes msoSegmentCurve, msoEditingAuto, 265.9543307087, 113.985511811, 267 _

, 111, 267, 111

.AddNodes msoSegmentCurve, msoEditingAuto, 266.75, 108.75, 267.0907874016, _

106.3518897638, 266.25, 104.25

.AddNodes msoSegmentCurve, msoEditingAuto, 265.9563779528, 103.515984252, 264 _

, 103.5, 264.75, 104.25

.ConvertToShape.Select

End With

Selection.ShapeRange.ShapeStyle = msoShapeStylePreset8

Selection.ShapeRange.ShapeStyle = msoShapeStylePreset1

Selection.ShapeRange.ShapeStyle = msoShapeStylePreset8

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 257.25, 112.5)

.AddNodes msoSegmentCurve, msoEditingAuto, 257.8750393701, 112.3749606299, _

260.7665354331, 112.9033070866, 262.5, 113.25

.AddNodes msoSegmentCurve, msoEditingAuto, 263.2751968504, 113.4050393701, _

264.1909448819, 113.4409448819, 264.75, 114

.AddNodes msoSegmentCurve, msoEditingAuto, 265.3090551181, 114.5590551181, _

265.25, 115.5, 265.5, 116.25

.AddNodes msoSegmentCurve, msoEditingAuto, 265.25, 117, 265.3933070866, _

118.0404724409, 264.75, 118.5

.AddNodes msoSegmentCurve, msoEditingAuto, 263.4633858268, 119.4190551181, _

260.25, 120, 260.25, 120

.AddNodes msoSegmentCurve, msoEditingAuto, 259.25, 119.75, 257.7803149606, _

120.1338582677, 257.25, 119.25

.AddNodes msoSegmentCurve, msoEditingAuto, 257.1922834646, 119.1537795276, _

258.4406299213, 114.412519685, 258.75, 114

.AddNodes msoSegmentCurve, msoEditingAuto, 259.0854330709, 113.5527559055, _

256.6249606299, 112.6250393701, 257.25, 112.5

.ConvertToShape.Select

End With

Selection.ShapeRange.ShapeStyle = msoShapeStylePreset1

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 350.25, 177.75)

.AddNodes msoSegmentCurve, msoEditingAuto, 351.0040944882, 192.0778740157, _

351.4959055118, 191.9221259843, 350.25, 206.25

.AddNodes msoSegmentCurve, msoEditingAuto, 350.1034645669, 207.9351968504, _

349.2160629921, 209.8687401575, 348.75, 211.5

.AddNodes msoSegmentCurve, msoEditingAuto, 348.4668503937, 212.4911023622, _

348.2962204724, 213.5126771654, 348, 214.5

.AddNodes msoSegmentCurve, msoEditingAuto, 347.3634645669, 216.6218110236, _

346.7222834646, 219.5277165354, 345, 221.25

.AddNodes msoSegmentCurve, msoEditingAuto, 344.3625984252, 221.8874015748, _

343.5737007874, 222.3839370079, 342.75, 222.75

.AddNodes msoSegmentCurve, msoEditingAuto, 341.3051181102, 223.3921259843, _

339.75, 223.75, 338.25, 224.25

.AddNodes msoSegmentLine, msoEditingAuto, 336, 225

.AddNodes msoSegmentLine, msoEditingAuto, 339, 226.5

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 311.25, 246)

.AddNodes msoSegmentCurve, msoEditingAuto, 312.042519685, 247.9812598425, _

312.9121259843, 249.9424409449, 313.5, 252

.AddNodes msoSegmentCurve, msoEditingAuto, 313.7831496063, 252.9911023622, _

313.9537795276, 254.0126771654, 314.25, 255

.AddNodes msoSegmentLine, msoEditingAuto, 316.5, 261.75

.AddNodes msoSegmentCurve, msoEditingAuto, 316.9031496063, 262.9593700787, 317 _

, 264.25, 317.25, 265.5

.AddNodes msoSegmentCurve, msoEditingAuto, 317, 275, 316.962992126, _

284.5080314961, 316.5, 294

.AddNodes msoSegmentCurve, msoEditingAuto, 316.461496063, 294.7896062992, _

316.1035433071, 295.5429133858, 315.75, 296.25

.AddNodes msoSegmentCurve, msoEditingAuto, 314.9621259843, 297.8257480315, _

313.3570866142, 299.694488189, 312, 300.75

.AddNodes msoSegmentCurve, msoEditingAuto, 308.1316535433, 303.7587401575, _

308.6448031496, 303.3684251969, 305.25, 304.5

.AddNodes msoSegmentCurve, msoEditingAuto, 304.5, 305, 303, 305.0985826772, _

303, 306

.AddNodes msoSegmentCurve, msoEditingAuto, 303, 306.9871653543, 307.268976378 _

, 306.75, 307.5, 306.75

.ConvertToShape.Select

End With

With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 418.5, 213.75)

.AddNodes msoSegmentCurve, msoEditingAuto, 419.0291338583, 221.687007874, _

419.1354330709, 225.1509448819, 420, 232.5

.AddNodes msoSegmentCurve, msoEditingAuto, 420.2065354331, 234.2556692913, _

420.5307086614, 235.9959055118, 420.75, 237.75

.AddNodes msoSegmentCurve, msoEditingAuto, 421.251023622, 241.7581889764, _

421.5266929134, 245.7718897638, 422.25, 249.75

.AddNodes msoSegmentCurve, msoEditingAuto, 422.4344094488, 250.7641732283, _

422.7763779528, 251.7437795276, 423, 252.75

.AddNodes msoSegmentCurve, msoEditingAuto, 423.2765354331, 253.9944094488, _

423.4407874016, 255.2633070866, 423.75, 256.5

.AddNodes msoSegmentCurve, msoEditingAuto, 423.9417322835, 257.2669291339, _

424.328503937, 257.9782677165, 424.5, 258.75

.AddNodes msoSegmentCurve, msoEditingAuto, 425.7394488189, 264.3275590551, _

424.8037795276, 262.518976378, 426, 268.5

.AddNodes msoSegmentCurve, msoEditingAuto, 426.4043307087, 270.521496063, 427 _

, 272.5, 427.5, 274.5

.AddNodes msoSegmentCurve, msoEditingAuto, 427.8092125984, 275.7366929134, _

427.9407874016, 277.0133070866, 428.25, 278.25

.AddNodes msoSegmentCurve, msoEditingAuto, 428.4417322835, 279.0169291339, _

428.8082677165, 279.7330708661, 429, 280.5

.AddNodes msoSegmentCurve, msoEditingAuto, 429.3092125984, 281.7366929134, _

429.4145669291, 283.0201574803, 429.75, 284.25

.AddNodes msoSegmentCurve, msoEditingAuto, 430.1660629921, 285.7754330709, _

430.75, 287.25, 431.25, 288.75

.AddNodes msoSegmentLine, msoEditingAuto, 432, 291

.AddNodes msoSegmentCurve, msoEditingAuto, 432.6432283465, 292.9297637795, _

435.4579527559, 296.2566141732, 437.25, 297.75

.AddNodes msoSegmentCurve, msoEditingAuto, 438.6075590551, 298.8813385827, _

439.5356692913, 299.2678740157, 441, 300

.ConvertToShape.Select

End With



With Selection.ShapeRange.Fill

.Visible = msoTrue

.ForeColor.ObjectThemeColor = msoThemeColorText1

.ForeColor.TintAndShade = 0

.ForeColor.Brightness = 0

.Transparency = 0

.Solid

End With



With Selection.ShapeRange.Fill

.Visible = msoTrue

.ForeColor.ObjectThemeColor = msoThemeColorText1

.ForeColor.TintAndShade = 0

.ForeColor.Brightness = 0

.Transparency = 0

.Solid

End With

End Sub

5. กด alt+f11 กลับมาที่ excel

6. ไปที่แท็บ Developer ->Insert->button (ที่อยู่ในส่วน Form controls)

7. คลิกขวาที่ button เลือก edit text แล้วพิมพ์คำว่า Draw a man ลงไป

8. คลิกขวาที่ button อีกครั้ง เลือกคำสั่ง assign macro แล้วเลือก macro 1 แล้วกด ok

9. รันโปรแกรม โดยกดที่ button 1 ครั้ง จะได้ภาพด้านล่างนี้ครับ


ความแตกต่างระหว่าง Merge cells, Merge & Center และ Merge Across

ความแตกต่างระหว่าง Merge cells, Merge & Center และ Merge Across Merge cells เป็นการรวมเซลล์ที่ถูกเลือกให้เป็นเซลล์เดียวกัน โดยไม่มีกา... thumbnail 1 summary

ความแตกต่างระหว่าง Merge cells, Merge & Center และ Merge Across
Merge cells
เป็นการรวมเซลล์ที่ถูกเลือกให้เป็นเซลล์เดียวกัน โดยไม่มีการจัดรูปแบบข้อความที่อยู่ในเซลล์

Merge & Center
เป็นการรวมเซลล์ที่ถูกเลือกให้เป็นเซลล์เดียวกัน โดยมีการจัดรูปแบบข้อความที่อยู่ในเซลล์ดังกล่าวให้อยู่กึ่งกลาง

Merge Across
เป็นการรวมเซลล์ที่อยู่ในแนวแถวเท่านั้น ใช้สำหรับขยายขนาดของเซลล์ในแนวแถว หากเราเลือกเซลล์ที่เป็นคอลัมน์รวมด้วย การใช้ Merge Across จะไม่ส่งผลใดๆเลย




จากภาพ หากเราเลือกเซลล์ A2:A3 แล้วใช้ Merge Across จะไม่เกิดอะไรขึ้นทั้งนั้น เพราะ Merge Across จะใช้รวมเซลล์ในแนวแถวเท่านั้น

แต่ถ้าเราเลือกเซลล์ A2:B2 ดังภาพ แล้วใช้ Merge Across ก็จะได้ผลลัพธ์ดังภาพ ซึ่งเราจะเห็นว่า เซลล์ A2:B2 ถูก Merge เข้าด้วยกัน เพราะว่า เซลล์ทั้งสองคือเซลล์ที่จัดอยู่ในแนวนอน (แนวแถว)




การรวมเซลล์แบบที่กล่าวมา โดยมาก ผู้ใช้มักเลือกใช้ Merge cells หรือ Merge & Center เสียส่วนมาก เพราะสามารถรวมได้ทั้งแนวแถวและคอลัมน์ อย่างไรก็ตาม การรวมเซลล์แบบอื่นๆก็มีความจำเป็นและก็อำนวยความสะดวกให้กับเราได้ในโอกาสที่แตกต่างกัน ควรเลือกใช้ให้ตรงกับสถานการณ์จะดีกว่า


วันพุธที่ 27 สิงหาคม พ.ศ. 2557

Excel การสร้าง Popup Menu หลายๆอัน และมีภาพข้างหน้าเมนู

Excel การสร้าง Popup Menu หลายๆอัน และมีภาพข้างหน้าเมนู (Popup Menu with image) การสร้าง Popup Menu หรือที่เรียกว่าเมนูที่เกิดจากการคล... thumbnail 1 summary
Excel การสร้าง Popup Menu หลายๆอัน และมีภาพข้างหน้าเมนู

(Popup Menu with image)

การสร้าง Popup Menu หรือที่เรียกว่าเมนูที่เกิดจากการคลิกขวาบน Excel เราเคยสอนการสร้างมา 2 – 3 ครั้ง แล้ว คราวนี้ เราจะมาสอนวิธีการใส่รูปภาพประกอบข้างหน้าเมนูด้วย ซึ่งนับว่าเป็นสิ่งที่น่าเรียนรู้เป็นอย่างยิ่ง เพราะจะทำให้ popup menu สวยงามขึ้น และบ่งบอกถึงวัตถุประสงค์ได้เป็นอย่างดี

ในตัวอย่างนี้ นอกจากเราจะได้รู้เรื่องการสร้าง Popup Menu พร้อมกับการสั่งงานมันแล้ว เรายังจะได้รู้วิธีการเรียก Dialog ที่สำคัญๆต่างๆขึ้นมาใช้งานด้วย ซึ่งก็ได้แก่ DialogPatterns, DialogAlignment, DialogFormatFont, DialogBorder, DialogPatterns, DialogCellProtection, DialogFormatNumber

ขั้นตอนการสร้างโปรแกรมนี้บน Excel

1. เปิด Excel ขึ้นมา
 (Open Excel)

2. เลือกเซลล์ A1:A10 แล้วระบายสีแดงให้กับเซลล์
(Fill red color on cells A1:A10)

3. กด alt+F11 เพื่อไปยังหน้าจอเขียนโค้ด
(Press Alt+F11 for go to VBA area)

4. เพิ่ม Module 1 แล้วใส่โค้ดต่อไปนี้ลงไป
(insert module1 into project and insert this code below)

Sub CreateShortcut()

DeleteShortcut

Set myBar = CommandBars.Add _

(Name:="MyShortcut", Position:=msoBarPopup, Temporary:=True)



Set myItem = myBar.Controls.Add(Type:=msoControlButton)

With myItem

.Caption = "&Number Format..."

.OnAction = "ShowFormatNumber"

.FaceId = 1554

End With



Set myItem = myBar.Controls.Add(Type:=msoControlButton)

With myItem

.Caption = "&Alignment..."

.OnAction = "ShowFormatAlignment"

.FaceId = 217

End With



Set myItem = myBar.Controls.Add(Type:=msoControlButton)

With myItem

.Caption = "&Font..."

.OnAction = "ShowFormatFont"

.FaceId = 291

End With



Set myItem = myBar.Controls.Add(Type:=msoControlButton)

With myItem

.Caption = "&Borders..."

.OnAction = "ShowFormatBorder"

.FaceId = 149

.BeginGroup = True

End With



Set myItem = myBar.Controls.Add(Type:=msoControlButton)

With myItem

.Caption = "&Patterns..."

.OnAction = "ShowFormatPatterns"

.FaceId = 1550

End With



Set myItem = myBar.Controls.Add(Type:=msoControlButton)

With myItem

.Caption = "Pr&otection..."

.OnAction = "ShowFormatProtection"

.FaceId = 2654

End With

End Sub



Sub ShowFormatNumber()

Application.Dialogs(xlDialogFormatNumber).Show

End Sub



Sub ShowFormatAlignment()

Application.Dialogs(xlDialogAlignment).Show

End Sub



Sub ShowFormatFont()

Application.Dialogs(xlDialogFormatFont).Show

End Sub



Sub ShowFormatBorder()

Application.Dialogs(xlDialogBorder).Show

End Sub



Sub ShowFormatPatterns()

Application.Dialogs(xlDialogPatterns).Show

End Sub



Sub ShowFormatProtection()

Application.Dialogs(xlDialogCellProtection).Show

End Sub



Sub DeleteShortcut()

On Error Resume Next

CommandBars("MyShortcut").Delete

End Sub

5. คลิกที่ sheet 1 แล้วใส่โค้ดดังต่อไปนี้ลงไป
(double click sheet1 and insert code)



Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)

If Union(Target.Range("A1"), Range("data")).Address = Range("data").Address Then

CommandBars("MyShortcut").ShowPopup

Cancel = True

End If

End Sub



6. ในส่วนของ Workbook ให้ใส่โค้ดต่อไปนี้ลงไป
(insert this code to workbook)




Private Sub Workbook_BeforeClose(Cancel As Boolean)

Call DeleteShortcut

End Sub



Private Sub Workbook_Open()

Call CreateShortcut

End Sub

7. กด Alt+F11 เพื่อกลับมาที่ Excel
(Press alt+f11 for back to Excel and test program)


Show Fonts


Show Alignment


Show Border



Show Protection


 Show Number