Note: The other languages of the website are Google-translated. Back to English
ล็อกอิน  \/ 
x
or
x
สมัครสมาชิก  \/ 
x

or

วิธีอ้างอิงแผ่นงานตามหมายเลขดัชนีแทนชื่อใน Excel

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

แผ่นงานอ้างอิงตามหมายเลขดัชนีแทนชื่อด้วยฟังก์ชันที่ผู้ใช้กำหนดเอง


แผ่นงานอ้างอิงตามหมายเลขดัชนีแทนชื่อด้วยฟังก์ชันที่ผู้ใช้กำหนดเอง


โปรดทำดังนี้เพื่ออ้างอิงแผ่นงานตามหมายเลขดัชนีแทนชื่อใน Excel

1 กด อื่น ๆ + F11 พร้อมกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูล. จากนั้นคัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่างโมดูล

รหัส VBA: แผ่นงานอ้างอิงตามหมายเลขดัชนีใน Excel

Function SHEETNAME(number As Long) As String
    SHEETNAME = Sheets(number).Name
End Function

3 กด อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

หมายเหตุ:

1. หากคุณต้องการอ้างอิงชื่อแผ่นงานบางแผ่นพร้อมหมายเลขโปรดเลือกเซลล์ว่างและป้อนสูตร = SHEETNAME (1) ลงในแถบสูตรโดยตรงจากนั้นกดปุ่ม Enter ดูภาพหน้าจอ:

2. หากคุณต้องการรับค่าเซลล์จากแผ่นงานตามหมายเลขดัชนีโปรดใช้สูตรนี้

=INDIRECT("'"&SHEETNAME(1) &"'!A1")

3. และถ้าคุณต้องการรวมคอลัมน์ใดคอลัมน์หนึ่งในแผ่นงานตามหมายเลขดัชนีโปรดใช้สูตรนี้

=SUM(INDIRECT("'"&SHEETNAME(1) &"'!C2:C7"))


บทความที่เกี่ยวข้อง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jork · 7 months ago
    If you use this UDF, I'd suggest Making two changes in bold below, with notes on why.

    Function SHEETNAME(number As Long) As String
    Application.Volatile <--------- this makes the function recalculate when you change the sheets name. Otherwise when you change the sheet name it doesn't change unless you perform a manual recalculation.----------
    SHEETNAME = Thisworkbook.Sheets(number).Name <------ If you use this function in multiple workbooks, it will only check names of the workbook the function is in. Otherwise this function will potentially call the tab names from other open Workbooks with this formula.-------
    End Function
    • To post as a guest, your comment is unpublished.
      john · 9 days ago
      Thank you very much for the script and the additions! Exactly what I was looking for without any prior knowledge about VBAs.
  • To post as a guest, your comment is unpublished.
    Kjeld · 4 years ago
    Nice solution.
    Also, referencing cell B4 of the first sheet in another Excel file can be done like this:
    =INDIRECT("'[other_filename.xlsx]"&SHEETNAME(1) &"'!B4")

    However note that the file containing the VBA script needs to be stored as a macro file, .xlsm

    Cheers,