Page 1 of 1

[VBA] การให้ vba ใส่เดือนให้อัติโนมัติครับ

Posted: Thu Apr 11, 2013 2:16 pm
by poipoi
ประเด็นคือในตัวรายงานของผมนี้จะต้องทำทุกเดือน แล้วแต่ละเดือนจะต้องมาคอยนั่งแก้เดือนตลอดเวลา

ผมจึงอยากให้มันทำกรใส่ให้อัตโรมัติโดยที่ไม่ต้องคอยเข้าไปแก้ code ใน vba ครับ

Code: Select all

    'ActiveCell.FormulaR1C1 = "January - January 2013"
    'ActiveCell.FormulaR1C1 = "January - February 2013"
    ActiveCell.FormulaR1C1 = "January - March 2013"
    'ActiveCell.FormulaR1C1 = "January - April 2013"
    'ActiveCell.FormulaR1C1 = "January - May 2013"
    'ActiveCell.FormulaR1C1 = "January - June 2013"
    'ActiveCell.FormulaR1C1 = "January - July 2013"
    'ActiveCell.FormulaR1C1 = "January - August 2013"
    'ActiveCell.FormulaR1C1 = "January - October 2013"
    'ActiveCell.FormulaR1C1 = "January - September 2013"
    'ActiveCell.FormulaR1C1 = "January - November2013"
    'ActiveCell.FormulaR1C1 = "January - December 2013"
จาก code ด้านบน คือผมได้ทำเครื่องหมายไว้ข้างหน้าเดือนที่ไม่ได้ทำ เพื่อให้โชว์เฉพาะเดือนที่ทำครับ

ทีนี้จะมีทางไหนบ้างที่จะให้ vba จัดการเรื่องนี้แทนได้ครับ โดยที่ไม่ต้องคอยเข้ามาลบแล้วแทรกเครื่องหมาย

ซึ่งในหนึ่งรายงานจะมีหลายชีทครับเลยอยากได้วิธี้ไปลองปรับใช้ดูครับ

ขอบคุณล่วงหน้าไว้ ณ ที่นี้ด้วยครับ

Re: [VBA] การให้ vba ใส่เดือนให้อัติโนมัติครับ

Posted: Thu Apr 11, 2013 8:35 pm
by snasui
:D ทำได้หลายแบบครับ เ่ช่น ให้ผู้ใช้กรอกด้วย InputBox หรือ เลือกจาก ComboBox

กรณีกรอกจาก InputBox เช่น

Code: Select all

ActiveCell.Value = InputBox("Please enter period.")

Re: [VBA] การให้ vba ใส่เดือนให้อัติโนมัติครับ

Posted: Fri Apr 12, 2013 8:37 am
by poipoi
จากที่อาจารย์แนะนำก็คือจะต้องมาคอยใส่เองตลอด

ผมได้ลองเขียนใหม่โดยที่ทำการสร้างชุดข้อมูลที่ต้องการไว้ที่หน้าของ WORKSHEET

Code: Select all

Dim month As String
Dim m As String
Dim y As Single
Dim yc As String
Dim formula As String

Sub Test_Change_Month()

'''''''''''''''''''' WWA Index
  Application.ScreenUpdating = False
Worksheets("WWA Index").Select
        Range("A9:K9").Select

m = "January - "
y = Worksheets("WORKSHEET_20110128").Range("L2").Value
yc = Worksheets("WORKSHEET_20110128").Range("L3").Value
formula = Worksheets("WORKSHEET_20110128").Range("K2").Value

    m = Worksheets("WORKSHEET_20110128").Range("M2").Value
    y = Worksheets("WORKSHEET_20110128").Range("L2").Value
    formula = Worksheets("WORKSHEET_20110128").Range("K2").Value
        ActiveSheet.Range("A9:K9").Value = m & formula & " " & y

    Range("A1").Select
อยากให้อาจารย์ลองดูแล้วแนะนำหน่อยครับว่าควรจะเพิ่มเติมอะไรให้ยืดยุ่นกว่านี้ครับ

Re: [VBA] การให้ vba ใส่เดือนให้อัติโนมัติครับ

Posted: Sat Apr 13, 2013 8:53 am
by snasui
:lol: ช่วยแนบไฟล์ตัวอย่าง ระบุปัญหาที่เป็น ระบุคำตอบที่ต้องการ จะได้เข้าใจตรงกันครับ