Page 1 of 1
การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 4:09 pm
by tigerwit
ได้ทดลองสร้าง CommandButton เพื่อทำเป็นปุ่มนำทางไปชีทอื่น ๆ
ติดขัดตรงที่ต้องการให้ CommandButton แสดงข้อความตามที่เราต้องการ
ตัวอย่างเช่น ให้ CommandButton1 แสดงข้อความที่ปรากฎ ในเซล a2 เราจะต้องไปกำหนดที่ใด
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 4:50 pm
by snasui

ตอนนี้ผมไม่ได้ใช้ Excel 2003 เลยจับภาพ Excel 2013 มาให้
กรณีใช้ Excel 2003 ที่เครื่องมือสำหรับวาด ActiveX Control ให้คลิกปุ่ม Design Mode แล้วทำข้อ 3 เป็นต้นไปครับ
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 5:18 pm
by tigerwit
ลองแล้วครับ...
ไม่ได้ตามความต้องการ
ความต้องการคือ ถ้าข้อความที่เซล a2 เปลี่ยนเป็นอย่างอื่น เช่น จาก ภาษาไทย เป็น ภาษาอังกฤษ
captionใน commanbutton1 ก็เปลี่ยนตามไปด้วย
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 5:25 pm
by snasui
tigerwit wrote:ความต้องการคือ ถ้าข้อความที่เซล a2 เปลี่ยนเป็นอย่างอื่น เช่น จาก ภาษาไทย เป็น ภาษาอังกฤษ
captionใน commanbutton1 ก็เปลี่ยนตามไปด้วย

ควรแจ้งเช่นนี้มาตั้งแต่แรกครับ ตามความต้องการนี้
ต้องใช้ VBA ครับ
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 5:34 pm
by tigerwit

อาจตั้งคำถามไม่ครอบคลุม
ต้องขอโทษด้วยครับ
พยายามนานมากแล้ว ไม่ได้สักที
ลองกับ พวก AutoShape พอไปได้
แต่กับ Command Button มืดแปดด้าน
รบกวนเรื่อง Code VB กรณีนี้ด้วยครับ
ไปำม่ถูกจริง ๆ
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 5:38 pm
by snasui

ต้องขออภัยที่ไม่ตอบ VBA ให้ก่อนเพื่อความเสมอภาคของสมาชิกทุกท่านครับ ลองบันทึก Macro ตามขั้นตอนที่ผมแนะนำแล้วปรับใช้ดู ติดตรงไหนสามารถถามมาได้เรื่อย ๆ ครับ
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 7:34 pm
by tigerwit
มั่วมาแล้วครับ
ได้อย่างต้องการแต่ไม่สมบูรณ์
Code: Select all
Private Sub Workbook_Activate()
Dim r As Range
Dim r2 As Range
Set r = Worksheets("sheet1").Range("a2")
Set r2 = Worksheets("sheet1").Range("a3")
ActiveSheet.CommandButton1.Caption = r
ActiveSheet.CommandButton2.Caption = r2
End Sub
ปัญหาคือ..
1. ต้องการให้ เมื่อเซล a2 เปลี่ยนแปลงข้อมูลไป Caption เปลี่ยนตามทันที ไม่ต้องรอ ปิด-เปิด ชีทใหม่
เราจะวางโค๊ดไว้ Event ใด
2. ถ้ามีหลาย ๆ ปุ่มที่ต้องการให้เปลี่ยนแปลง ต้องประกาศตัวแปร ให้ เซลทุกเซลอย่างที่ผมทำนี้หรือไม่ครับ
หรือมีวิธีเขียนให้สั้นกว่านี้
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Mon Nov 12, 2012 7:50 pm
by snasui

ลองปรับ Code เป็นตามด้านล่างและนำไปไว้ใน Sheet1 ครับ
Code: Select all
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A2:A3")) Is Nothing Then
ActiveSheet.CommandButton1.Caption = Range("A2")
ActiveSheet.CommandButton2.Caption = Range("A3")
End If
End Sub
Re: การกำหนด Capion ของ CommandButton ใน excel
Posted: Tue Nov 13, 2012 2:46 pm
by tigerwit
ประยุกต์ใช้ได้แล้วครับ
ขอบคุณครับ