:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#1

Post by yodpao.b »

ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

ปกติใช้ windows 7 แต่บางเครื่องของที่ทำงาน อัพเดทเครื่องใหม่ เป็นเครื่องชนิดที่มี CPU อยู่ที่จอมอนิเตอร์ และใช้ windows 8

คำถาม เมื่อนำไฟล์ที่มี VBA ไปใช้กับเครื่องชนิดที่มี CPUอยู่ที่จอมอนิเตอร์และใช้ windows 8 ไฟล์จะ eeror ครับ

จากการตรวจสอบพบจุดที่ eeror โคดดังนี้

Code: Select all

   For Each sht In ThisWorkbook.Worksheets
       sht.Protect PassWord:="abc123"
   Next
ที่ต้วอักษรจะแสดงแถบสีเหลือง ที่คำว่า sht ครับ จะแก้ไขโคดอย่างไรดีครับ

(จะแก้ไขอย่างไรให้ใช้งานได้ทั้ง windows 7 และ windows 8
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#2

Post by DhitiBank »

ข้อความที่ฟ้องเวลาเกิด error คืออะไรครับ
หากแนบไฟล์ได้จะดีมากครับ อาจารย์และเพื่อนๆ จะได้ช่วยทดสอบให้ได้ เพราะหากดูจากโค้ดที่ตัดมา หากประกาศตัวแปรครบถ้วนก็น่าจะรันใน Window 8 ได้นะครับ (ผมมีเครื่องหนึ่งที่ใช้ Window 8 + Office 2013 ก็รันโค้ดลักษณะนี้ได้) คงต้องดูโค้ดที่เหลือใน Procedure ครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#3

Post by yodpao.b »

ขอโทษครับที่ลืมแนบไฟล์
ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

ปกติใช้ windows 7 แต่บางเครื่องของที่ทำงาน อัพเดทเครื่องใหม่ เป็นเครื่องชนิดที่มี CPU อยู่ที่จอมอนิเตอร์ และใช้ windows 8

คำถาม เมื่อนำไฟล์ที่มี VBA ไปใช้กับเครื่องชนิดที่มี CPUอยู่ที่จอมอนิเตอร์และใช้ windows 8 ไฟล์จะ eeror ครับ

จากการตรวจสอบพบจุดที่ eeror โคดดังนี้

Code: Select all

   For Each sht In ThisWorkbook.Worksheets
       sht.Protect PassWord:="abc123"
   Next
 
ที่ต้วอักษรจะแสดงแถบสีเหลือง ที่คำว่า sht ครับ จะแก้ไขโคดอย่างไรดีครับ

(จะแก้ไขอย่างไรให้ใช้งานได้ทั้ง windows 7 และ windows 8)

มีไฟล์แนบมาด้วยครับ
Attachments
aaaa.xls
(266.5 KiB) Downloaded 6 times
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#4

Post by DhitiBank »

ลองประกาศตัวแปร sht ลงไปด้วยครับ

Code: Select all

Sub ProtectAllsheets()
   Dim sht As Worksheet
   For Each sht In ThisWorkbook.Worksheets
       sht.Protect PassWord:="abc123"
   Next
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#5

Post by snasui »

:D เครื่องที่จะนำไฟล์นี้ไปใช้แล้วให้ Run ได้เหมือนกับเครื่องอื่นจะต้องติดตั้ง Microsoft Calendar Control 8.0 เข้าไปด้วย ตามภาพด้านล่างครับ
Attachments
CalendarControl
CalendarControl
CldCt.png (26.73 KiB) Viewed 66 times
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#6

Post by DhitiBank »

snasui wrote::D เครื่องที่จะนำไฟล์นี้ไปใช้แล้วให้ Run ได้เหมือนกับเครื่องอื่นจะต้องติดตั้ง Microsoft Calendar Control 8.0 เข้าไปด้วย ตามภาพด้านล่างครับ
:oops: ขออภัยครับ ไอ้เราก็นึกว่าเป็นเพราะไม่ได้ประกาศตัวแปร ถึงว่าพอแก้แล้วไม่ติด error ตรงป้องกันชีท ก็ยังติด error เวลาสลับไปชีทอื่น

แล้วต้องติดตั้งยังไงครับอาจารย์ ทำไมใน reference ไม่มีให้เลือกเลยครับ (excel 2010)

อ้อ... เจอแล้วครับ พอดีลองค้นหาดูก็เจอหน้านี้
http://www.snasui.com/viewtopic.php?f=9&t=2994
ต้องติดตั้งเสริมเข้าไปนี่เอง
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#7

Post by yodpao.b »

เรียนอาจารย์ครับ
Capture2.PNG
Capture2.PNG (18.27 KiB) Viewed 52 times
ทำตามอาจารย์พอเข้าไป set ตามรูปที่อาจารย์ให้ Microsoft Calendar Control 8.0 มันมีอยู่แล้วครับ
ผลคือเมื่อเปิดเข้าไฟล์ใหม่ก็ยัง Eeror ครับ
จึงลองแก้แบบประกาศตัวแปล ผลที่ได้ปรากฏ คือ เมื่อเปิดไฟล์ขึ้นใหม่ ไม่EErorครับ ข้อดี ok ครับ


แต่ปัญหาเกี่ยวกับปฏิทินยังมีอยู่ครับ คือเมื่อคลิกดูปฎิทินผลที่ได้คือ EEror ครับจึงลองเข้าไปดู code ปรากฎว่าปฎิทินหายครับ
ดังรูปด้านล่าง (ผมเข้าใจว่าที่เคย เรียกไฟล์ปฎิทินมากับคอมพิวเตอรืรุ่นก่อนหน้านี้มันไม่มาด้วยครับ)
Capture1.PNG
Capture1.PNG (8.36 KiB) Viewed 52 times
คำถามจะเรียกปฏิทินกับมาได้อย่างไรครับ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#8

Post by DhitiBank »

yodpao.b wrote:เรียนอาจารย์ครับ
Capture2.PNG
ทำตามอาจารย์พอเข้าไป set ตามรูปที่อาจารย์ให้ Microsoft Calendar Control 8.0 มันมีอยู่แล้วครับ
ผลคือเมื่อเปิดเข้าไฟล์ใหม่ก็ยัง Eeror ครับ
จึงลองแก้แบบประกาศตัวแปล ผลที่ได้ปรากฏ คือ เมื่อเปิดไฟล์ขึ้นใหม่ ไม่EErorครับ ข้อดี ok ครับ


แต่ปัญหาเกี่ยวกับปฏิทินยังมีอยู่ครับ คือเมื่อคลิกดูปฎิทินผลที่ได้คือ EEror ครับจึงลองเข้าไปดู code ปรากฎว่าปฎิทินหายครับ
ดังรูปด้านล่าง (ผมเข้าใจว่าที่เคย เรียกไฟล์ปฎิทินมากับคอมพิวเตอรืรุ่นก่อนหน้านี้มันไม่มาด้วยครับ)
Capture1.PNG
คำถามจะเรียกปฏิทินกับมาได้อย่างไรครับ
จากรูปที่แนบมา มัน Missing แสดงว่ามันยังหาไม่เจอครับ หากทำตามลิงค์ด้านบน (ที่คุณ bank9597 เอามาแจก) เสร็จแล้ว ต้องเข้าไปแอ็ด Reference ใน VBE โดยกด Browse... (ปุ่มในรูปน่ะครับ) แล้วไปเลือกไฟล์ที่เพิ่งคัดลอกเข้าไปตามลิ้งค์คุณ bank9597 คือต้องเอาไฟล์นี้ไปใส่ทุกเครื่องที่คิดว่าจะใช้ไฟล์นี้น่ะครับ

ผิดพลาดอย่างไร รออาจารย์อีกทีครับ ผมนี่นักเรียน :oops:
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: ใช้ วินโดว์ 2008 ( Run VBA แล้ว Eeror)

#9

Post by yodpao.b »

ทำตามที่คุณ DhitiBank แนะนำแล้วรับ

OK ครับ
Post Reply