10 วิธีในการเพิ่มความเร็วให้มาโครของคุณ

เนื่องจากมาโคร Excel ของคุณมีประสิทธิภาพและซับซ้อนมากขึ้น คุณอาจพบว่ามาโครเหล่านี้สูญเสียประสิทธิภาพการทำงาน เมื่อคุยแมโครคำว่าประสิทธิภาพการทำงานมักจะตรงกันกับความเร็ว ความเร็วคือความเร็วที่ขั้นตอน VBA ของคุณทำงานตามที่ตั้งใจไว้ ต่อไปนี้เป็นสิบวิธีที่จะช่วยให้มาโคร Excel ของคุณทำงานในระดับประสิทธิภาพสูงสุด

หยุดการคำนวณแผ่นงาน

คุณทราบหรือไม่ว่าทุกครั้งที่มีการเปลี่ยนแปลงหรือจัดการเซลล์ที่ส่งผลต่อสูตรในสเปรดชีตของคุณ Excel จะคำนวณทั้งเวิร์กชีตใหม่ ในเวิร์กชีตที่มีสูตรจำนวนมาก ลักษณะการทำงานนี้อาจทำให้มาโครของคุณช้าลงอย่างมาก

คุณสามารถใช้คุณสมบัติ Application.Calculation เพื่อบอกให้ Excel เปลี่ยนไปใช้โหมดการคำนวณด้วยตนเองได้ เมื่อเวิร์กบุ๊กอยู่ในโหมดการคำนวณด้วยตนเอง เวิร์กบุ๊กจะไม่คำนวณใหม่จนกว่าคุณจะทริกเกอร์การคำนวณอย่างชัดแจ้งโดยการกดปุ่ม F9

กำหนดให้ Excel เข้าสู่โหมดการคำนวณด้วยตนเอง เรียกใช้โค้ด จากนั้นสลับกลับเป็นโหมดการคำนวณอัตโนมัติ

ย่อย Macro1()
Application.Calculation = xlCalculationManual
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
จบซับ

การตั้งค่าโหมดการคำนวณกลับเป็น xlCalculationAutomatic จะทริกเกอร์การคำนวณใหม่ของเวิร์กชีตโดยอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องกดปุ่ม F9 หลังจากที่มาโครของคุณทำงาน

ปิดการใช้งานการอัปเดตหน้าจอแผ่นงาน

คุณอาจสังเกตเห็นว่าเมื่อมาโครของคุณทำงาน หน้าจอของคุณจะสั่นไหวพอสมควร การกะพริบนี้เป็นการที่ Excel พยายามวาดหน้าจอใหม่เพื่อแสดงสถานะปัจจุบันของเวิร์กชีต น่าเสียดาย ทุกครั้งที่ Excel วาดหน้าจอใหม่ จะใช้ทรัพยากรหน่วยความจำ

คุณสามารถใช้คุณสมบัติ Application.ScreenUpdating เพื่อปิดใช้งานการอัปเดตหน้าจอจนกว่าแมโครของคุณจะเสร็จสิ้น การปิดใช้งานการอัปเดตหน้าจอช่วยประหยัดเวลาและทรัพยากร ทำให้มาโครของคุณทำงานเร็วขึ้นเล็กน้อย หลังจากที่โค้ดแมโครของคุณทำงานเสร็จแล้ว คุณสามารถเปิดการอัปเดตหน้าจออีกครั้งได้

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
จบซับ

หลังจากที่คุณตั้งค่าคุณสมบัติ ScreenUpdating กลับเป็น True แล้ว Excel จะทริกเกอร์การวาดหน้าจอใหม่โดยอัตโนมัติ

กำลังปิดการอัปเดตแถบสถานะ

โดยปกติ แถบสถานะ Excel ซึ่งปรากฏที่ด้านล่างของหน้าต่าง Excel จะแสดงความคืบหน้าของการดำเนินการบางอย่างใน Excel ถ้ามาโครของคุณทำงานกับข้อมูลจำนวนมาก แถบสถานะจะใช้ทรัพยากรบางส่วน

สิ่งสำคัญที่ควรทราบคือ การปิดการอัปเดตหน้าจอแยกจากการปิดการแสดงแถบสถานะ แถบสถานะจะอัปเดตต่อไปแม้ว่าคุณจะปิดการอัปเดตหน้าจอ คุณสามารถใช้คุณสมบัติ Application.DisplayStatusBar เพื่อปิดใช้งานการอัปเดตแถบสถานะใดๆ เป็นการชั่วคราว ปรับปรุงประสิทธิภาพของแมโครของคุณต่อไป:

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
จบซับ

บอกให้ Excel ละเว้นเหตุการณ์

คุณสามารถใช้มาโครเป็นกระบวนงานเหตุการณ์ โดยบอกให้ Excel เรียกใช้โค้ดบางอย่างเมื่อเวิร์กชีตหรือเวิร์กบุ๊กเปลี่ยนแปลง

บางครั้ง มาโครมาตรฐานทำการเปลี่ยนแปลงที่จะทริกเกอร์ขั้นตอนเหตุการณ์ ตัวอย่างเช่น หากคุณมีมาโครมาตรฐานที่จัดการหลายเซลล์ใน Sheet1 ทุกครั้งที่มีการเปลี่ยนแปลงเซลล์บนแผ่นงานนั้น แมโครของคุณต้องหยุดชั่วคราวในขณะที่กิจกรรม Worksheet_Change ทำงาน

คุณสามารถเพิ่มการเพิ่มประสิทธิภาพอีกระดับได้โดยใช้คุณสมบัติ EnableEvents เพื่อบอกให้ Excel ละเว้นเหตุการณ์ในขณะที่แมโครของคุณทำงาน

ตั้งค่าคุณสมบัติ EnableEvents เป็น False ก่อนเรียกใช้แมโครของคุณ หลังจากที่โค้ดแมโครของคุณทำงานเสร็จแล้ว คุณสามารถตั้งค่าคุณสมบัติ EnableEvents กลับเป็น True ได้

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = เท็จ
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
จบซับ

ซ่อนตัวแบ่งหน้า

ทุกครั้งที่มาโครแก้ไขจำนวนแถว แก้ไขจำนวนคอลัมน์ หรือเปลี่ยนการตั้งค่าหน้าของเวิร์กชีต Excel จะถูกบังคับให้ใช้เวลาในการคำนวณตัวแบ่งหน้าที่แสดงในแผ่นงานใหม่

คุณสามารถหลีกเลี่ยงพฤติกรรมนี้ได้โดยเพียงแค่ซ่อนตัวแบ่งหน้าก่อนที่จะเริ่มมาโครของคุณ

ตั้งค่าคุณสมบัติแผ่นงาน DisplayPageBreaks เป็น False เพื่อซ่อนตัวแบ่งหน้า ถ้าคุณต้องการแสดงตัวแบ่งหน้าต่อไปหลังจากที่แมโครของคุณทำงาน ให้ตั้งค่าคุณสมบัติแผ่นงาน DisplayPageBreaks กลับเป็น True

ย่อย Macro1()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = เท็จ
Activesheet.DisplayPageBreaks = False
 'วางรหัสมาโครของคุณที่นี่
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
Activesheet.DisplayPageBreaks = True
จบซับ

ระงับการอัปเดตตารางสาระสำคัญ

ถ้าแมโครของคุณจัดการกับตารางสรุปข้อมูลที่มีแหล่งข้อมูลขนาดใหญ่ คุณอาจประสบปัญหาประสิทธิภาพต่ำเมื่อทำสิ่งต่างๆ เช่น การเพิ่มหรือย้ายเขตข้อมูล Pivot แบบไดนามิก

คุณสามารถปรับปรุงประสิทธิภาพการทำงานของแมโครของคุณโดยระงับการคำนวณใหม่ของตารางสาระสำคัญจนกว่าจะมีการเปลี่ยนแปลงฟิลด์เดือยทั้งหมด เพียงตั้งค่าคุณสมบัติ PivotTable.ManualUpdate เป็น True เพื่อเลื่อนการคำนวณใหม่ เรียกใช้โค้ดแมโครของคุณ แล้วตั้งค่าคุณสมบัติ PivotTable.ManualUpdate กลับเป็น False เพื่อทริกเกอร์การคำนวณใหม่

ย่อย Macro1()
ActiveSheet.PivotTables("PivotTable1")).ManualUpdate=True
 'วางรหัสมาโครของคุณที่นี่
ActiveSheet.PivotTables("PivotTable1")).ManualUpdate=False
จบซับ

พวงมาลัยชัดเจนของการคัดลอกและวาง

สิ่งสำคัญคือต้องจำไว้ว่าแม้ว่า Macro Recorder จะช่วยประหยัดเวลาด้วยการเขียนโค้ด VBA ให้กับคุณ แต่ก็ไม่ได้เขียนโค้ดที่มีประสิทธิภาพสูงสุดเสมอไป ตัวอย่างที่สำคัญคือวิธีที่ Macro Recorder จับภาพการกระทำการคัดลอกและวางที่คุณดำเนินการขณะบันทึก

คุณสามารถเพิ่มมาโครของคุณได้เล็กน้อยโดยตัดคนกลางออกและทำสำเนาโดยตรงจากเซลล์หนึ่งไปยังเซลล์ปลายทาง รหัสสำรองนี้ใช้อาร์กิวเมนต์ปลายทางเพื่อข้ามคลิปบอร์ดและคัดลอกเนื้อหาของเซลล์ A1 ไปยังเซลล์ B1 โดยตรง

ช่วง("A1").คัดลอกปลายทาง:=ช่วง("B1")

ถ้าคุณต้องการคัดลอกเฉพาะค่า (ไม่ใช่การจัดรูปแบบหรือสูตร) ​​คุณสามารถปรับปรุงประสิทธิภาพได้มากขึ้นโดยหลีกเลี่ยงวิธีการคัดลอกทั้งหมดเข้าด้วยกัน เพียงตั้งค่าของเซลล์ปลายทางให้เป็นค่าเดียวกับที่พบในเซลล์ต้นทาง วิธีนี้เร็วกว่าวิธีการคัดลอกประมาณ 25 เท่า:

Range("B1").Value = Range("A1")).Value

ถ้าคุณต้องการคัดลอกเฉพาะสูตรจากเซลล์หนึ่งไปยังอีกเซลล์หนึ่ง (ไม่ใช่ค่าหรือการจัดรูปแบบ) คุณสามารถตั้งค่าสูตรของเซลล์ปลายทางให้เป็นสูตรเดียวกันที่มีอยู่ในเซลล์ต้นทางได้:

ช่วง("B1").สูตร = ช่วง("A1").สูตร

การใช้คำสั่ง With

เมื่อบันทึกมาโคร คุณมักจะจัดการวัตถุเดียวกันมากกว่าหนึ่งครั้ง คุณสามารถประหยัดเวลาและปรับปรุงประสิทธิภาพได้โดยใช้คำสั่ง With เพื่อดำเนินการหลายอย่างกับวัตถุที่กำหนดในช็อตเดียว

คำสั่ง With ที่ใช้ในตัวอย่างต่อไปนี้จะบอกให้ Excel ใช้การเปลี่ยนแปลงการจัดรูปแบบทั้งหมดในคราวเดียว:

    ด้วย Range("A1")).Font
    .ตัวหนา = จริง
    .ตัวเอียง = จริง
    .Underline = xlUnderlineStyleSingle
    จบด้วย

การสร้างนิสัยในการแบ่งกลุ่มการกระทำลงในคำสั่ง With ไม่เพียงแต่ทำให้มาโครของคุณทำงานเร็วขึ้น แต่ยังช่วยให้อ่านโค้ดแมโครของคุณได้ง่ายขึ้นอีกด้วย

หลีกเลี่ยงวิธีเลือก

Macro Recorder ชอบใช้วิธี Select เพื่อเลือกวัตถุอย่างชัดเจนก่อนดำเนินการกับวัตถุ โดยทั่วไปไม่จำเป็นต้องเลือกออบเจ็กต์ก่อนใช้งาน ที่จริงแล้ว คุณสามารถปรับปรุงประสิทธิภาพของมาโครได้อย่างมากโดยไม่ใช้วิธี Select

หลังจากบันทึกมาโครของคุณแล้ว ให้ปรับเปลี่ยนโค้ดที่สร้างขึ้นเพื่อลบเมธอด Select ให้เป็นนิสัย ในกรณีนี้ โค้ดที่ปรับให้เหมาะสมจะมีลักษณะดังนี้:

    ชีต("Sheet1")).ช่วง("A1").FormulaR1C1 = "1000"
    ชีต("Sheet2")).ช่วง("A1").FormulaR1C1 = "1000"
    ชีต("Sheet3")).ช่วง("A1").FormulaR1C1 = "1000"

โปรดทราบว่าไม่มีการเลือกสิ่งใด โค้ดใช้ลำดับชั้นของออบเจ็กต์เพื่อใช้การดำเนินการที่จำเป็น

จำกัดการเดินทางไปยังแผ่นงาน

อีกวิธีหนึ่งในการเพิ่มความเร็วให้กับมาโครของคุณคือการจำกัดจำนวนครั้งที่คุณอ้างอิงข้อมูลเวิร์กชีตในโค้ดของคุณ การดึงข้อมูลจากเวิร์กชีตมีประสิทธิภาพน้อยกว่าเสมอจากหน่วยความจำ กล่าวคือ แมโครของคุณจะทำงานเร็วขึ้นมาก หากไม่ต้องโต้ตอบกับเวิร์กชีตซ้ำๆ

ตัวอย่างเช่น โค้ดอย่างง่ายต่อไปนี้บังคับให้ VBA กลับสู่ Sheets("Sheet1") อย่างต่อเนื่อง ช่วง("A1") เพื่อให้ได้ตัวเลขที่จำเป็นสำหรับการเปรียบเทียบการดำเนินการในคำสั่ง If:

สำหรับ ReportMonth = 1 ถึง 12
     ถ้า Range("A1").Value = ReportMonth แล้ว
     MsgBox 1000000 / เดือนรายงาน
จบถ้า
รายงานถัดไปเดือน

วิธีที่มีประสิทธิภาพมากขึ้นคือการบันทึกค่าใน Sheets("Sheet1").Range("A1") ไปยังตัวแปรที่เรียกว่า MyMonth ด้วยวิธีนี้ โค้ดจะอ้างอิงตัวแปร MyMonth แทนเวิร์กชีต:

Dim MyMonth เป็นจำนวนเต็ม
MyMonth = ช่วง ("A1") .Value
สำหรับ ReportMonth = 1 ถึง 12
ถ้าเดือนของฉัน = เดือนรายงาน แล้ว
MsgBox 1000000 / เดือนรายงาน
จบถ้า
รายงานถัดไปเดือน

พิจารณาใช้ประโยชน์จากตัวแปรเพื่อทำงานกับข้อมูลในหน่วยความจำ แทนที่จะอ้างอิงเวิร์กชีตโดยตรง

หลีกเลี่ยงการอ้างอิงมากเกินไป

เมื่อเรียกวิธีการหรือคุณสมบัติของวัตถุ จำเป็นต้องผ่านอินเทอร์เฟซ IDispatch ของคอมโพเนนต์ OLE การเรียกไปยังคอมโพเนนต์ OLE เหล่านี้ต้องใช้เวลา ดังนั้นการลดจำนวนการอ้างอิงไปยังคอมโพเนนต์ OLE สามารถปรับปรุงความเร็วของโค้ดแมโครได้

สำหรับการเรียกใช้คุณสมบัติของอ็อบเจ็กต์หรือเมธอด โดยทั่วไปจะใช้เมธอดการแสดงของ  Object.Method  นั่นคือ "." สัญลักษณ์ใช้เพื่อเรียกคุณสมบัติและวิธีการ

ดังนั้นจำนวนวิธีหรือการเรียกคุณสมบัติจึงสามารถตัดสินได้ตามจำนวนสัญลักษณ์ "." ยิ่ง "" น้อยลง สัญลักษณ์ ยิ่งโค้ดทำงานเร็วขึ้น

ตัวอย่างเช่น ข้อความต่อไปนี้มีสัญลักษณ์ 3 ตัว "."

ThisWorkbook.Sheet1.Range("A1").Value = 100

ข้อความต่อไปนี้มีสัญลักษณ์ "." เพียงตัวเดียวเท่านั้น

Activewindow.Top = 100

ต่อไปนี้เป็นเคล็ดลับในการลดจำนวนสัญลักษณ์ "" เพื่อให้วิ่งเร็วขึ้น

ขั้นแรก เมื่อคุณต้องการอ้างถึงออบเจ็กต์เดียวกันซ้ำๆ คุณสามารถตั้งค่าออบเจ็กต์ให้เป็นตัวแปรเพื่อลดจำนวนการโทรได้ ตัวอย่างเช่น รหัสต่อไปนี้ต้องมีการเรียกสองครั้งต่อบรรทัด

ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = 100
ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = 200
ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = 300

เนื่องจาก  ออบเจ็กต์ Sheets("Sheet1")  จำเป็นต้องถูกอ้างอิงซ้ำๆ จึงสามารถตั้งค่าเป็นตัวแปร  sht  ก่อนได้ เพื่อให้แต่ละโค้ดถูกเรียกเพียงครั้งเดียว

Set sht = ThisWorkbook.Sheets("Sheet1")
sht.Cells(1, 1) = 100
sht.Cells(2, 1) = 200
sht.Cells(3, 1) = 300

ประการที่สอง หากคุณไม่ต้องการประกาศตัวแปรชั่วคราว sht คุณสามารถใช้  คำสั่ง With  ที่กล่าวถึงข้างต้นได้ ดังแสดงในตัวอย่างต่อไปนี้:

With ThisWorkbook.Sheets("Sheet1")
    .Cells(1, 1) = 100
    .Cells(2, 1) = 200
    .Cells(3, 1) = 300
End With

ประการที่สาม  เมื่อมีลูปจำนวนมาก พยายามเก็บคุณสมบัติและวิธีการไว้นอกลูป  เมื่อนำค่าคุณสมบัติของออบเจ็กต์เดียวกันกลับมาใช้ซ้ำในลูป ขั้นแรกคุณสามารถกำหนดค่าคุณสมบัติให้กับตัวแปรที่ระบุภายนอกลูป จากนั้นใช้ตัวแปรในลูปซึ่งจะทำให้ได้ความเร็วที่เร็วขึ้น ดังแสดงในตัวอย่างต่อไปนี้:

For i = 1 To 1000
    ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = Cells(1, 2).Value
    ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = Cells(1, 2).Value
    ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = Cells(1, 2).Value
Next i

แต่ละวงในตัวอย่างนี้ได้รับคุณสมบัติค่าของเซลล์ Cells(1,2) หากคุณกำหนดคุณสมบัติ Value ของ Cells(1.2) ให้กับตัวแปรก่อนที่การวนซ้ำจะเริ่มต้น คุณจะได้รับการทำงานที่เร็วขึ้น ดังแสดงในตัวอย่างต่อไปนี้:

tmp = Cells(1, 2).Value
For i = 1 To 1000
    ThisWorkbook.Sheets("Sheet1").Cells(1, 1) = tmp
    ThisWorkbook.Sheets("Sheet1").Cells(2, 1) = tmp
    ThisWorkbook.Sheets("Sheet1").Cells(3, 1) = tmp
Next i

โค้ดด้านบนเรียก  ThisWorkbook.Sheets("Sheet1")  ทุกครั้งที่วนซ้ำ คุณสามารถทำได้เร็วขึ้นโดยใช้  คำสั่ง With  เพื่อย้ายการเรียกไปยัง  ThisWorkbook.Sheets("Sheet1")  นอกวง ดังแสดงในตัวอย่างต่อไปนี้:

tmp = Cells(1, 2).Value
With ThisWorkbook.Sheets("Sheet1")
    For i = 1 To 1000
        .Cells(1, 1) = tmp
        .Cells(2, 1) = tmp
        .Cells(3, 1) = tmp
    Next i
End With

หลีกเลี่ยงการใช้ประเภทตัวแปร

ผู้เริ่มต้นมักนิยมใช้ตัวแปรประเภท Variant ซึ่งมีข้อดีคือมีความซับซ้อนน้อยกว่า เนื่องจากข้อมูลประเภทใดก็ได้สามารถใช้ได้โดยไม่มีปัญหาเรื่องหน่วยความจำล้น หากข้อมูลมีขนาดใหญ่เกินไปสำหรับประเภทข้อมูลจำนวนเต็มหรือแบบยาว อย่างไรก็ตาม ข้อมูลประเภท Varienmt ต้องการพื้นที่หน่วยความจำเพิ่มเติมมากกว่าประเภทอื่นๆ ที่ระบุ (2 ไบต์สำหรับข้อมูลจำนวนเต็ม 4 ไบต์สำหรับข้อมูลแบบยาว และ 16 ไบต์สำหรับข้อมูล Variant) VBA ต้องใช้เวลาในการประมวลผลข้อมูลประเภท Variant มากกว่าประเภทที่ระบุอื่นๆ ของข้อมูล ดังตัวอย่างต่อไปนี้

Sub VariantTest()
    Dim i As Long
    Dim ix As Integer, iy As Integer, iz As Integer
    Dim vx As Variant, vy As Variant, vz As Variant
    Dim tm As Date
    vx = 100: vy = 50
    tm = Timer
    For i = 1 To 1000000
        vz = vx * vy
        vz = vx + vy
        vz = vx - vy
        vz = vx / vy
    Next i
    Debug.Print "Variant types take " & Format((Timer - tm), "0.00000") & " seconds"
    ix = 100: iy = 50
    tm = Timer
    For i = 1 To 1000000
        iz = ix * iy
        iz = ix + iy
        iz = ix - iy
        iz = ix / iy
    Next i
    Debug.Print "Integer types take " & Format((Timer - tm), "0.00000") & " seconds"
End Sub

ในโค้ดข้างต้น บรรทัดที่ 8 ถึง 13 ดำเนินการ 1 ล้านการดำเนินการของการบวก การลบ การคูณและการหารของตัวแปร Variant และบรรทัดที่ 17 ถึง 22 ดำเนินการ 1 ล้านการดำเนินการของการบวก ลบ คูณ และหารตัวแปรจำนวนเต็ม บนคอมพิวเตอร์ของฉัน การทำงานของตัวแปร Variant ใช้เวลาประมาณ  0.09375  วินาที ในขณะที่การทำงานของตัวแปร Integer ใช้เวลาประมาณ  0.03125  วินาที ผลลัพธ์อาจแตกต่างกันไปในคอมพิวเตอร์แต่ละเครื่อง แต่  ตัวแปร Variant จะช้ากว่าตัวแปร Integer อย่างมาก

ด้วยเหตุนี้  เราจึงแนะนำให้หลีกเลี่ยงการใช้ตัวแปร Variant เมื่อคุณสามารถใช้ประเภทข้อมูลที่ระบุได้อย่างชัดเจน

Leave a Comment

วิธีใช้ฟังก์ชัน XLOOKUP ใน Excel 2016

วิธีใช้ฟังก์ชัน XLOOKUP ใน Excel 2016

เรียนรู้วิธีใช้ฟังก์ชัน XLOOKUP ใน Excel 2016 ซึ่งเป็นการแทนที่ที่ง่ายกว่าและหลากหลายกว่า VLOOKUP!

สมาร์ทชีต 9.1.1

สมาร์ทชีต 9.1.1

Smartsheet เป็นแพลตฟอร์มการทำงานแบบไดนามิกที่ช่วยให้คุณจัดการโครงการ สร้างเวิร์กโฟลว์ และทำงานร่วมกับทีมของคุณได้

แชร์พอร์ต

แชร์พอร์ต

SharePoint คือระบบการทำงานร่วมกันบนเว็บที่ใช้แอปพลิเคชันเวิร์กโฟลว์ที่หลากหลาย ฐานข้อมูล "รายการ" และส่วนประกอบของเว็บอื่นๆ รวมถึงคุณลักษณะด้านความปลอดภัยเพื่อให้การควบคุมกลุ่มธุรกิจทำงานร่วมกัน

ปฏิทินถาวร 1.0.38/1.0.36

ปฏิทินถาวร 1.0.38/1.0.36

Van Nien Calendar เป็นแอปพลิเคชั่นดูปฏิทินบนโทรศัพท์ของคุณ ช่วยให้คุณดูวันที่ตามจันทรคติบนโทรศัพท์ของคุณได้อย่างรวดเร็ว จึงช่วยจัดการงานสำคัญของคุณ

ไมโครซอฟต์ เอาท์ลุค 2021

ไมโครซอฟต์ เอาท์ลุค 2021

Microsoft Outlook เป็นแอปพลิเคชันทางธุรกิจและเพิ่มประสิทธิภาพการทำงานที่พัฒนาโดย Microsoft Corporation

คลิกขึ้น

คลิกขึ้น

ClickUp เป็นหนึ่งในแพลตฟอร์มการผลิตที่ได้รับคะแนนสูงสุดสำหรับทุกธุรกิจ ธุรกิจขนาดใหญ่เช่น Google, Booking.com, San Diego Padres และ Uber ต่างก็ใช้ ClickUp เพื่อเพิ่มประสิทธิภาพในที่ทำงาน

โปรแกรมดู PDF-XChange 2.5.322.10

โปรแกรมดู PDF-XChange 2.5.322.10

PDF กลายเป็นรูปแบบที่ใช้กันทั่วไปในการอ่าน สร้าง และส่งเอกสารข้อความ ในทางกลับกัน มีจำนวนโปรแกรมที่ใช้สำหรับเอกสารประเภทนี้เพิ่มขึ้น PDF-XChange Viewer เป็นหนึ่งในโปรแกรมดู PDF ที่มีจำนวนเพิ่มมากขึ้น

อาปาเช่ โอเพ่นออฟฟิศ

อาปาเช่ โอเพ่นออฟฟิศ

Apache OpenOffice นำเสนอชุดแอปพลิเคชัน Office ที่สมบูรณ์ซึ่งแข่งขันกับ Microsoft 365 โดยเฉพาะใน Excel, PowerPoint และ Word ช่วยให้คุณจัดการโครงการของคุณได้อย่างมีประสิทธิภาพมากขึ้นและรองรับไฟล์ได้หลายรูปแบบ

ดาวน์โหลด iTaxviewer 1.8.7

ดาวน์โหลด iTaxviewer 1.8.7

ซอฟต์แวร์ iTaxViewer เป็นซอฟต์แวร์อ่านไฟล์ XML ที่ได้รับความนิยมมากที่สุดในปัจจุบัน ซอฟต์แวร์นี้เป็นแอปพลิเคชั่นสำหรับอ่านการประกาศภาษีอิเล็กทรอนิกส์ในรูปแบบ XML ของกรมสรรพากรทั่วไป

โปรแกรมอ่าน Nitro PDF

โปรแกรมอ่าน Nitro PDF

Nitro PDF Reader เป็นโปรแกรมแก้ไข PDF ที่มีประโยชน์ซึ่งครอบคลุมงานพื้นฐานทั้งหมดที่คนส่วนใหญ่ทำทุกวันด้วยเอกสาร PDF