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
แสดงในชีทไหน เซลล์ไหน ด้วยเงื่อนไขใดครับ
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: แสดงในชีทไหน เซลล์ไหน ด้วยเงื่อนไขใดครับ
คือชีทหน้านี้เป็นหน้าว่างๆ แสดงในชีทที่ใช้ปัจจุบัน เซลล์ให้เรียง A,B,C,D,... ต่อๆกันไป เงื่อนไข แค่ให้มันแสดงให้ครบตามจำนวนวันในเดือนปัจจุบันค่ะ
Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน
Posted: Mon Sep 15, 2014 5:11 pm
by snasui
หากเปิดมาถึงก็ให้แสดงวันที่เลยจะต้องใช้ 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: หากเปิดมาถึงก็ให้แสดงวันที่เลยจะต้องใช้ 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
อีกวิธีครับ
ที่ 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: อีกวิธีครับ
ที่ 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
สามารถใช้ 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: สามารถใช้ 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
ต้องกำหนด Format ให้เป็นวันที่หากต้องการให้แสดงเป็นวันที่ครับ ส่วนค่าที่เห็นนั้นเป็น Serial Number ของวันที่ เราสามารถจัด Format เพื่อแสดงเป็นรูปแบบใด ๆ ตามต้องการ
Re: การแสดงวันที่ของเดือนปัจจุบันทั้งเดือน
Posted: Wed Sep 17, 2014 1:36 pm
by Redwing
snasui wrote: ต้องกำหนด 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 ค่ะ
ขอบคุณทุกคนอีกครั้งนะคะ