Page 1 of 1

ขอความช่วยเหลือครับ เรื่องการใช้ VBA ตั้งค่า Max ให้ ScrollB

Posted: Wed Sep 25, 2013 6:12 pm
by witntmn
คือผมต้องการสร้าง Form ScrollBar แบบให้ค่า Max เปลี่ยนแปลงเองตามค่าใน cell

Search ไปเจอเว็บนอก ได้ code มาดังนี้

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range) 

If Not Intersect(Target, Range("A1")) Is Nothing Then 

' forms scrollbar 
ActiveSheet.Shapes("Scroll Bar 2").ControlFormat.Max = Target.Value 

' ActiveX scrollbar 
ActiveSheet.Shapes("ScrollBar1").OLEFormat.Object.Object.Max = Target.Value 

End If 

End Sub 
ติดอยู่ที่ว่า มันจะใช้ได้ผลเมื่อ cell A1 เราป้อนค่าเข้าไปเอง ทันทีที่กด Enter ค่า Max จะเปลี่ยนตามที่เราต้องการ

แต่ช่อง A1 ของผมตอนนี้ใส่สูตรไว้ เมื่อค่าที่ได้จากสูตรเปลี่ยน ค่า Max ของ ScrollBar มันไม่เปลี่ยนไปด้วย มันจะเปลี่ยนเมื่อเราป้อนเองด้วยมือเท่านั้น

ต้องแก้ไข code ตรงไหน รบกวนชี้แนะด้วยครับ

ขอบคุณทุกๆท่านล่วงหน้า

Re: ขอความช่วยเหลือครับ เรื่องการใช้ VBA ตั้งค่า Max ให้ Scr

Posted: Wed Sep 25, 2013 7:40 pm
by snasui
:D แนบไฟล์ตัวอย่างมาด้วยเพื่อจะได้ช่วยทดสอบได้ครับ

Re: ขอความช่วยเหลือครับ เรื่องการใช้ VBA ตั้งค่า Max ให้ Scr

Posted: Thu Sep 26, 2013 8:36 am
by witntmn
นี่ครับไฟล์
:)

Re: ขอความช่วยเหลือครับ เรื่องการใช้ VBA ตั้งค่า Max ให้ Scr

Posted: Fri Sep 27, 2013 6:13 am
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)

'If Not Intersect(Target, Range("B1")) Is Nothing Then
If Target.Address = Range("c1").Range("a1").Address Then
' forms scrollbar
ActiveSheet.Shapes("Scroll Bar 23").ControlFormat.Max = Target.Offset(0, -1).Value

' ActiveX scrollbar
' ActiveSheet.Shapes("ScrollBar1").OLEFormat.Object.Object.Max = Target.Value

End If

End Sub

Re: ขอความช่วยเหลือครับ เรื่องการใช้ VBA ตั้งค่า Max ให้ Scr

Posted: Fri Sep 27, 2013 8:34 am
by witntmn
ทำได้แล้ว ถึงจะไม่เข้าใจ code ก็เหอะ
ขอบพระคุณอาจารย์อีกครั้งครับ

:mrgreen: :mrgreen: :mrgreen: