Page 1 of 1

ช่วยจัดระเบียบ VBA ให้กระชับและง่ายกว่านี้ทีครับ

Posted: Mon Nov 21, 2016 7:58 am
by yangkodza

Code: Select all

Sub Macro2()
    ActiveSheet.Shapes.Range(Array("เก่ง1")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(112, 48, 160)
        .Transparency = 0
        .Solid
    End With
    ActiveSheet.Shapes.Range(Array("เก่ง2")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
    ActiveSheet.Shapes.Range(Array("เก่งปี")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
        Range("e3").Select
End Sub
Sub Macro3()
      ActiveSheet.Shapes.Range(Array("เก่ง1")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .Transparency = 0
        .Solid
    End With
    ActiveSheet.Shapes.Range(Array("เก่ง2")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
         .ForeColor.RGB = RGB(112, 48, 160)
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
    ActiveSheet.Shapes.Range(Array("เก่งปี")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
        Range("e3").Select
End Sub
Sub Macro4()
      ActiveSheet.Shapes.Range(Array("เก่ง1")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .Transparency = 0
        .Solid
    End With
    ActiveSheet.Shapes.Range(Array("เก่ง2")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
    ActiveSheet.Shapes.Range(Array("เก่งปี")).Select
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
         .ForeColor.RGB = RGB(112, 48, 160)
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
        Range("e3").Select
End Sub

Capture.GIF
Capture.GIF (25.14 KiB) Viewed 64 times
สร้างเป็นปุ่มกด
ถ้าหากว่า กดปุ่มใดๆ ปุ่มที่กดจะเป็นตัวอักษรสีม่วง
ส่วนปุ่มอื่นจะเป็นตัวอักษรสีขาว

VBA ชุดนี้ทำงานได้ปกติอยู่ครับ

แต่อยากให้ช่วยจัดระเบียบ VBA ให้กระชับและง่ายกว่านี้
เพื่อประโยชน์ในการเขียน VBA ประเภทนี้ต่อไปในอนาคตครับ
ขอบคุณครับ :D

Re: ช่วยจัดระเบียบ VBA ให้กระชับและง่ายกว่านี้ทีครับ

Posted: Mon Nov 21, 2016 6:44 pm
by snasui
:D กรณียังไม่มีปัญหาใด ยังไม่จำเป็นต้องรีบปรับครับ แต่หากติดปัญหาว่าทำงานได้ไม่ถูกต้องค่อยถามมาอีกทีครับ

Re: ช่วยจัดระเบียบ VBA ให้กระชับและง่ายกว่านี้ทีครับ

Posted: Mon Nov 21, 2016 9:16 pm
by yangkodza
snasui wrote::D กรณียังไม่มีปัญหาใด ยังไม่จำเป็นต้องรีบปรับครับ แต่หากติดปัญหาว่าทำงานได้ไม่ถูกต้องค่อยถามมาอีกทีครับ
ครับผม ขอบคุณครับ :D