EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)snasui wrote: แสดงในชีทไหน เซลล์ไหน ด้วยเงื่อนไขใดครับ
Code: Select all
=IF(COLUMNS($A1:A1)>DAY(EOMONTH(TODAY(),0)),"",DATE(YEAR(TODAY()),MONTH(TODAY()),COLUMNS($A1:A1)))
snasui wrote: หากเปิดมาถึงก็ให้แสดงวันที่เลยจะต้องใช้ VBA ซึ่งต้องเขียนมาก่อนตามด้านบน แต่หากเป็นการเขียนสูตรเอาไว้เลยก็สามารถคีย์สูตรที่ A1 เป็นEnter > Copy ไปด้านขวาCode: Select all
=IF(COLUMNS($A1:A1)>DAY(EOMONTH(TODAY(),0)),"",DATE(YEAR(TODAY()),MONTH(TODAY()),COLUMNS($A1:A1)))
จะลองทำดูนะคะ ขอบคุณมากๆค่ะ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))) คัดลอกไปทางขวา แล้วลงล่างพร้อมกัน
snasui wrote: สามารถใช้ Format มาช่วยได้ เช่น Format เป็น dddd โดย
คลุมเซลล์เป้าหมาย > กดแป้น Ctrl+1 > ที่แถบ Number เลือก Custom > ที่ช่อง Type: คีย์ dddd > OK
ขอบคุณมากครับsnasui wrote: ต้องกำหนด Format ให้เป็นวันที่หากต้องการให้แสดงเป็นวันที่ครับ ส่วนค่าที่เห็นนั้นเป็น Serial Number ของวันที่ เราสามารถจัด Format เพื่อแสดงเป็นรูปแบบใด ๆ ตามต้องการ
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