Page 1 of 1

การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 4:34 pm
by numilike
มีวิธีการให้ Excel แสดงวันที่ ของเดือนปัจจุบันทั้งเดือนไหมคะ
เช่นเดือนนี้ เดือนกันยายน ก็จะให้แสดงตั้งแต่วันที่ 1 - 30 กันยายน ลงวันละช่องถัดๆกันไป เป็น 30 ช่อง
ถ้าเดือนไหนมี 31 วัน ก็ต้องมี 31 ช่อง

รบกวนผู้รู้ช่วยแนะนำทีค่ะ ขอบคุณค่ะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 4:36 pm
by snasui
:D แสดงในชีทไหน เซลล์ไหน ด้วยเงื่อนไขใดครับ :?:

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 4:58 pm
by numilike
แสดงที่ชีทแรกที่ใช้ปัจจุบันเลยค่ะ เซลล์ให้เรียง A,B,C,D,... ต่อๆกันไป เงื่อนไข แค่ให้มันแสดงให้ครบตามจำนวนวันในเดือนปัจจุบันค่ะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 4:59 pm
by numilike
snasui wrote::D แสดงในชีทไหน เซลล์ไหน ด้วยเงื่อนไขใดครับ :?:

คือชีทหน้านี้เป็นหน้าว่างๆ แสดงในชีทที่ใช้ปัจจุบัน เซลล์ให้เรียง A,B,C,D,... ต่อๆกันไป เงื่อนไข แค่ให้มันแสดงให้ครบตามจำนวนวันในเดือนปัจจุบันค่ะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 5:11 pm
by snasui
:D หากเปิดมาถึงก็ให้แสดงวันที่เลยจะต้องใช้ VBA ซึ่งต้องเขียนมาก่อนตามด้านบน แต่หากเป็นการเขียนสูตรเอาไว้เลยก็สามารถคีย์สูตรที่ A1 เป็น

Code: Select all

=IF(COLUMNS($A1:A1)>DAY(EOMONTH(TODAY(),0)),"",DATE(YEAR(TODAY()),MONTH(TODAY()),COLUMNS($A1:A1)))
Enter > Copy ไปด้านขวา

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 5:21 pm
by numilike
snasui wrote::D หากเปิดมาถึงก็ให้แสดงวันที่เลยจะต้องใช้ VBA ซึ่งต้องเขียนมาก่อนตามด้านบน แต่หากเป็นการเขียนสูตรเอาไว้เลยก็สามารถคีย์สูตรที่ A1 เป็น

Code: Select all

=IF(COLUMNS($A1:A1)>DAY(EOMONTH(TODAY(),0)),"",DATE(YEAR(TODAY()),MONTH(TODAY()),COLUMNS($A1:A1)))
Enter > Copy ไปด้านขวา


ขอบคุณค่ะ จะลองทำดูนะคะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Mon Sep 15, 2014 11:31 pm
by bank9597
:D อีกวิธีครับ

ที่ A2 ของชีทใดๆ คีย์ =IF(COLUMNS($A$1:A$1)>DAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1+ROWS($A$2:$A2)-1,1)-1),"",DATE(YEAR(TODAY()),MONTH(TODAY())+ROWS($A$2:$A2)-1,COLUMNS($A$1:A$1))) คัดลอกไปทางขวา แล้วลงล่างพร้อมกัน

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Tue Sep 16, 2014 8:15 am
by numilike
bank9597 wrote::D อีกวิธีครับ

ที่ A2 ของชีทใดๆ คีย์ =IF(COLUMNS($A$1:A$1)>DAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1+ROWS($A$2:$A2)-1,1)-1),"",DATE(YEAR(TODAY()),MONTH(TODAY())+ROWS($A$2:$A2)-1,COLUMNS($A$1:A$1))) คัดลอกไปทางขวา แล้วลงล่างพร้อมกัน
จะลองทำดูนะคะ ขอบคุณมากๆค่ะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Tue Sep 16, 2014 9:11 am
by numilike
ขอถามเพิ่มเติมอีกสักนิดค่ะ

เราสามารถตรวจสอบว่าวันที่เท่าไหร่บ้าง ที่เป็นวัน จันทร์ พุธ ศุกร์ ได้หรือไม่คะ

ขอบคุณค่ะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Tue Sep 16, 2014 10:09 am
by snasui
:D สามารถใช้ Format มาช่วยได้ เช่น Format เป็น dddd โดย

คลุมเซลล์เป้าหมาย > กดแป้น Ctrl+1 > ที่แถบ Number เลือก Custom > ที่ช่อง Type: คีย์ dddd > OK

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Tue Sep 16, 2014 10:26 am
by Supachok
ขอบคุณครับ มีประโยชน์ดีดีๆ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Tue Sep 16, 2014 3:24 pm
by numilike
snasui wrote::D สามารถใช้ Format มาช่วยได้ เช่น Format เป็น dddd โดย

คลุมเซลล์เป้าหมาย > กดแป้น Ctrl+1 > ที่แถบ Number เลือก Custom > ที่ช่อง Type: คีย์ dddd > OK

ขอบคุณมากๆค่ะ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Wed Sep 17, 2014 12:48 am
by Redwing
ต้องกำหนด Format Cell เป็นอะไรด้วยหรือเปล่าครับ ผมลองทำดูมันขึ้นแบบนี้

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Wed Sep 17, 2014 8:58 am
by snasui
:D ต้องกำหนด Format ให้เป็นวันที่หากต้องการให้แสดงเป็นวันที่ครับ ส่วนค่าที่เห็นนั้นเป็น Serial Number ของวันที่ เราสามารถจัด Format เพื่อแสดงเป็นรูปแบบใด ๆ ตามต้องการ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Wed Sep 17, 2014 1:36 pm
by Redwing
snasui wrote::D ต้องกำหนด Format ให้เป็นวันที่หากต้องการให้แสดงเป็นวันที่ครับ ส่วนค่าที่เห็นนั้นเป็น Serial Number ของวันที่ เราสามารถจัด Format เพื่อแสดงเป็นรูปแบบใด ๆ ตามต้องการ
ขอบคุณมากครับ

Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน

Posted: Fri Sep 19, 2014 8:40 am
by numilike
ขอบคุณทุกๆคนมากๆนะคะ ลองนำมาประยุกต์ใช้กับงานแล้ว เขียนโค๊ดดังนี้ค่ะ

Code: Select all


  Dim col  As Integer
    Set a = Workbooks("FC_INPUTx.xls").Worksheets("D")
    a.Cells(2, 8) = "=DAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,0))"
    amount_date = a.Cells(2, 8)        ' amount_date เก็บค่าจำนวนวันในเดือนนี้  ประกาศไว้เป็น public ในโมดูลอื่น

    col = 10
    Range("J6").Select: Selection.NumberFormat = "d-mmm-yy"
    ActiveCell.FormulaR1C1 = _        "=IF(COLUMNS(R[-5]C1:R[-5]C[-9])>DAY(EOMONTH(TODAY(),0)),"""",DATE(YEAR(TODAY()),MONTH(TODAY()),COLUMNS(R[-5]C1:R[-5]C[-9])))"
    Do While a.Cells(6, col) <> ""                  'เป็นจริง ทำ
                 For i = 1 To amount_date           'วนตามจำนวนวัน
                 Columns(col).Select: Selection.Copy                   'copy
                 Columns(col + 1).Select: ActiveSheet.Paste      'paste
                 col = col + 1
                 Next i
    If a.Cells(6, col) = "" Then Exit Do
    Loop
    Range("J1").Select: Application.CutCopyMode = False: ActiveCell.FormulaR1C1 = ""     
    Range("J6").Select
ที่ใช้วน For เพราะบางเดือนมี 30,31,28,29 วัน
จึงใช้ amount_date เก็บค่าจำนวนวันในเดือนปัจจุบัน แล้วให้วน for ตาม amount_date ค่ะ

ขอบคุณทุกคนอีกครั้งนะคะ