Note: The other languages of the website are Google-translated. Back to English

วิธีทำให้ชื่อแท็บชีตเท่ากับค่าเซลล์ใน Excel

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

ตั้งชื่อแท็บชีตให้เท่ากับค่าเซลล์ด้วยรหัส VBA
ตั้งชื่อแท็บชีตให้เท่ากับค่าเซลล์ด้วย Kutools for Excel


ตั้งชื่อแท็บชีตให้เท่ากับค่าเซลล์ด้วยรหัส VBA

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

1. คลิกขวาที่แท็บแผ่นงานที่คุณต้องการทำให้ชื่อแผ่นงานเท่ากับค่าเซลล์จากนั้นคลิก ดูรหัส จากเมนูคลิกขวา ดูภาพหน้าจอ:

2. คัดลอกและวางโค้ดด้านล่างลงในหน้าต่างรหัสจากนั้นกด อื่น ๆ + Q พร้อมกันเพื่อปิดหน้าต่าง Microsoft Visual Basic for Applications

รหัส VBA: สร้างแท็บแผ่นงานให้เท่ากับค่าเซลล์

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("A1")) Is Nothing Then
		ActiveSheet.Name = ActiveSheet.Range("A1")
	End If
End Sub

หมายเหตุ: ในโค้ด A1 คือเซลล์ที่มีค่าที่คุณต้องใช้เป็นชื่อแผ่นงาน คุณสามารถเปลี่ยนได้ตามต้องการ

จากนี้ไปเมื่อค่าในเซลล์ A1 เปลี่ยนไปชื่อแท็บแผ่นงานก็จะเปลี่ยนไปอย่างเท่าเทียมกันเช่นกัน


ตั้งชื่อแท็บชีตให้เท่ากับค่าเซลล์ด้วย Kutools for Excel

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

ก่อนที่จะใช้ Kutools สำหรับ Excelโปรด ดาวน์โหลดและติดตั้งในตอนแรก.

1 คลิก Kutools พลัส > แผ่นงาน > เปลี่ยนชื่อแผ่นงานหลายแผ่น. ดูภาพหน้าจอ:

2 ใน เปลี่ยนชื่อแผ่นงานหลายแผ่น คุณต้องทำดังนี้

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

คุณสามารถเห็นแผ่นงานที่เลือกถูกเปลี่ยนชื่อตามค่าช่วงที่ระบุได้ทันทีตามภาพด้านล่างที่แสดง

หมายเหตุ:

1 คุณสามารถใช้ กรอง ฟังก์ชันเพื่อกรองเวิร์กชีตที่ต้องการได้อย่างง่ายดายหากมีเวิร์กชีตอยู่มากมาย
2. ถ้าคุณต้องการเปลี่ยนชื่อแผ่นงานหลายแผ่นด้วยค่าเซลล์ที่แน่นอนในแต่ละแผ่นงาน ตัวอย่างเช่น sheet1 จะเท่ากับค่าของเซลล์ A1 และ sheet2 จะเท่ากับค่าของเซลล์ A1 ด้วย โปรดเลือกแผ่นงานในไฟล์ แผ่น จากนั้นเลือกไฟล์ เปลี่ยนชื่อแผ่นงานด้วยเซลล์เฉพาะ และระบุเซลล์ A1 ในช่อง

3. ชื่อแผ่นงานจะไม่เปลี่ยนโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงค่าของเซลล์

  หากคุณต้องการทดลองใช้ยูทิลิตีนี้ฟรี (30 วัน) กรุณาคลิกเพื่อดาวน์โหลดแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น


ตั้งชื่อแท็บชีตให้เท่ากับค่าเซลล์ด้วย Kutools for Excel


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

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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (26)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันวางสิ่งนี้ตามคำแนะนำ แต่ไม่ปรากฏในรายการมาโครที่พร้อมใช้งาน ฉันพยายามเรียกใช้ด้วยตนเองโดยป้อนชื่อมาโคร เมื่อพยายามเรียกใช้มาโคร ข้อความแสดงข้อผิดพลาดปรากฏขึ้น "ไม่มีอาร์กิวเมนต์"

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("A1")) ก็ไม่มีอะไรทั้งนั้น
ActiveSheet.Name = ActiveSheet.Range ("A1")
End If
ย่อยสิ้นสุด

มีใครใช้รหัสนี้และมีปัญหาเดียวกันหรือไม่?

จากการทดสอบ ฉันรันโค้ดพื้นฐานเพิ่มเติมและทำงานได้ดี ดังนั้นค่าใน "A1" จึงไม่ทำให้เกิดปัญหา เมื่อฉันเรียกใช้โค้ดด้านล่าง ฉันจะเห็นชื่อมาโคร "myTabName" ในรายการมาโคร รหัสด้านบนไม่ปรากฏขึ้น และฉันคิดว่านี่เป็นเพราะอาร์กิวเมนต์ข้อบกพร่อง/ขาดหายไป

ชื่อย่อย myTabName()
ActiveSheet.Name = ActiveSheet.Range ("A1")
ย่อยสิ้นสุด

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


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

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
Dim xRg เป็นช่วง xCell เป็นช่วง
เกี่ยวกับข้อผิดพลาดต่อไป
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("A1")) ก็ไม่มีอะไรทั้งนั้น
ActiveSheet.Name = ActiveSheet.Range ("A1")
End If
Application.EnableEvents = เท็จ
ตั้งค่า xRg = ActiveSheet.Range("A1") .Precedents
ถ้าไม่ใช่ xRg ก็ไม่มีอะไรทั้งนั้น
สำหรับแต่ละ xCell ใน xRg
ActiveSheet.Name = ActiveSheet.Range ("A1")
ต่อไป
End If
Application.EnableEvents = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ยังคงไม่ทำงาน ฉันมีปัญหาเดียวกันกับ jJJ คริสตัล: รหัสทั้งหมดแสดงอยู่ในคำตอบของคุณหรือไม่?
บรรทัดสุดท้ายที่แสดงในความคิดเห็นของคุณคือ "Set xRg = ActiveSheet.Range("A1").Precedents"
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน JAS,
โปรดคลิกปุ่ม อ่านเพิ่มเติม ที่ด้านขวาของความคิดเห็นเพื่อแสดงความคิดเห็นทั้งหมด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ยังคงมีปัญหาเดียวกัน

ฉันมี A1 ของชีตใหม่ชี้ไปที่เซลล์อื่นในแท็บอื่น มันอัปเดตในครั้งแรก (เมื่อคุณดำเนินการ) แต่ไม่มีการเปลี่ยนแปลงเมื่อแก้ไขเซลล์หลัก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Excel.Range)
ตั้งเป้าหมาย = ช่วง ("A1")
ถ้า Target = "" ให้ออกจาก Sub
เกิดข้อผิดพลาด GoTo Badname
ActiveSheet.Name = ซ้าย (เป้าหมาย 31)
ออกจาก Sub
ชื่อเสีย:
MsgBox "โปรดแก้ไขข้อมูลใน A1" & Ch(13) _
& "ดูเหมือนว่าจะมีอย่างน้อยหนึ่งรายการ" & Chr(13) _
& "อักขระที่ผิดกฎหมาย" & คริส(13)
ช่วง("A1")). เปิดใช้งาน
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ปัญหายังเหมือนเดิม เปลี่ยนครั้งแรก เมื่อฉันเชื่อมโยงเซลล์นั้นกับชีตอื่นแล้วเปลี่ยน มันจะไม่เปลี่ยนโดยอัตโนมัติ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องใช้รหัสนี้ แต่ฉันไม่เคยป้อนรหัส vba มาก่อน คำแนะนำใด ๆ ที่จะได้รับการชื่นชม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันเปลี่ยนเซลล์ในรายการต้นแบบ ซึ่งจะเปลี่ยนข้อความของเซลล์ในเซลล์เฉพาะในแต่ละแท็บ ซึ่งรหัสอ้างอิงเป็นชื่อแท็บ แต่แท็บจะไม่อัปเดตชื่อตามลำดับ

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



ย่อย Macro3()
ดัชนี Dim As Integer
สำหรับดัชนี = 1 ถึง 18

ชีต(ดัชนี).ชื่อ = ชีต(ดัชนี).ช่วง("A2").ค่า

ดัชนีถัดไป



ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอให้เป็นวันที่ดี,
ขอบคุณสำหรับการแบ่งปัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่คือสิ่งที่ฉันต้องการ แต่ฉันต้องการแท็บเพื่อสร้างวันที่ขึ้นใหม่ แต่มันไม่ทำงาน... ฉันถือว่าสิ่งนี้เกี่ยวข้องกับวิธีที่ excel ทำงานในวันที่และเวลา ใครช่วยแนะนำวิธีแก้ปัญหาชั่วคราวได้บ้าง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีนิค
Excel ไม่สนับสนุนการพิมพ์ชื่อแผ่นงานที่มีอักขระพิเศษ หากวันที่ที่คุณพิมพ์มีอักขระ / จะไม่อนุญาตให้คุณสร้างชื่อแผ่นงานที่มีวันที่นั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะอ้างอิงสองเซลล์ได้อย่างไร เช่น ชื่อและหมายเลขประจำตัวประชาชน?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันกำลังใช้รหัสที่แน่นอนของคุณจากด้านบนนี้สำหรับรหัส VBA ซึ่งทำงานได้อย่างสมบูรณ์แบบสำหรับสิ่งที่ฉันต้องการ อย่างไรก็ตาม ฉันมีมาโครจำนวนมากบนแผ่นงานที่เรียกว่า เทมเพลตงาน ซึ่งได้รับการคัดลอกและนำกลับมาใช้ใหม่สำหรับงานใหม่ทุกงาน ฉันออกแบบมาโครทั้งหมดโดยใช้เวอร์ชันคัดลอกใหม่ที่เรียกว่า เทมเพลตงาน (2) เมื่อเปลี่ยนชื่อแผ่นงานเป็นชื่องานใหม่ มาโครจะไม่ทำงานอีกต่อไปและต้องดำเนินการด้วยตนเอง ฉันต้องการใช้ปุ่มมาโครของฉันได้ทุกเมื่อ แทนที่จะใช้ปุ่มเหล่านั้นก่อนจะเปลี่ยนชื่อชีต

มีวิธีใดบ้างที่โค้ด VBA จะอ้างถึงชื่อชีตเสมอก่อนที่จะเรียกใช้ฟังก์ชันโค้ดที่เหลือ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แผ่นงาน nr สูงสุดที่สามารถเปลี่ยนชื่อผ่าน Kutools Plus คืออะไร เพราะ excel ให้ฉันเปลี่ยนแค่ 17 ชื่อเท่านั้นแหละ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้ทำงานได้อย่างสมบูรณ์สำหรับแผ่นงานแรกของฉัน แต่ไม่ใช่สำหรับแผ่นงานที่สองหรือสาม ฯลฯ (ฉันมีแผ่นงานประมาณ 20 แผ่นที่ต้องใช้ฟังก์ชันนี้ทั้งหมด) ฉันพลาดอะไรไปรึเปล่า?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี โอเว่น
รหัสนี้ใช้ได้กับแผ่นงานครั้งละหนึ่งแผ่นเท่านั้น ขออภัยในความไม่สะดวก.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคริสตัล

เมื่อฉันวางรหัสของคุณ มันกลับมาพร้อมกับข้อผิดพลาด "ไม่ได้กำหนดประเภทที่ผู้ใช้กำหนด"

ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีทอมเจ
ตรวจสอบให้แน่ใจว่าได้เลือกสามตัวเลือกเหล่านี้ในกล่องโต้ตอบการอ้างอิง - VBAProject
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำงานอย่างสวยงาม!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Bonjour,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé.
J'ai simplement fermé la page après avoir collé et ça ne marche ปาส
Merci
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ