ไปยังเนื้อหาหลัก
 

วิธีเปลี่ยนขนาดรูปร่างโดยอัตโนมัติตาม / ขึ้นอยู่กับค่าเซลล์ที่ระบุใน Excel

ผู้เขียน : ซิลูเวีย แก้ไขล่าสุด: 2024-09-26

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

เปลี่ยนขนาดรูปร่างโดยอัตโนมัติตามค่าเซลล์ที่ระบุด้วยรหัส VBA


เปลี่ยนขนาดรูปร่างโดยอัตโนมัติตามค่าเซลล์ที่ระบุด้วยรหัส VBA

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

1. คลิกขวาที่แท็บแผ่นงานที่มีรูปร่างที่คุณต้องการเปลี่ยนขนาดจากนั้นคลิก ดูรหัส จากเมนูคลิกขวา

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

รหัส VBA: เปลี่ยนขนาดรูปร่างโดยอัตโนมัติตามค่าเซลล์ที่ระบุใน Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Row = 2 And Target.Column = 1 Then
        Call SizeCircle("Oval 2", Val(Target.Value))
    End If
End Sub
Sub SizeCircle(Name As String, Diameter)
    Dim xCenterX As Single
    Dim xCenterY As Single
    Dim xCircle As Shape
    Dim xDiameter As Single
    On Error GoTo ExitSub
    xDiameter = Diameter
    If xDiameter > 10 Then xDiameter = 10
    If xDiameter < 1 Then xDiameter = 1
    Set xCircle = ActiveSheet.Shapes(Name)
    With xCircle
        xCenterX = .Left + (.Width / 2)
        xCenterY = .Top + (.Height / 2)
        .Width = Application.CentimetersToPoints(xDiameter)
        .Height = Application.CentimetersToPoints(xDiameter)
        .Left = xCenterX - (.Width / 2)
        .Top = xCenterY - (.Height / 2)
    End With
ExitSub:
End Sub

หมายเหตุ: ในรหัส“รี 2” คือชื่อรูปร่างที่คุณจะเปลี่ยนขนาด และ แถว = 2, คอลัมน์ = 1 หมายความว่าขนาดของรูปร่าง“ วงรี 2” จะเปลี่ยนไปด้วยค่าใน A2 โปรดเปลี่ยนตามที่คุณต้องการ

สำหรับการปรับขนาดรูปร่างต่างๆโดยอัตโนมัติตามค่าของเซลล์ที่แตกต่างกันโปรดใช้รหัส VBA ด้านล่าง

รหัส VBA: ปรับขนาดรูปร่างต่างๆโดยอัตโนมัติตามค่าของเซลล์ที่ระบุใน Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xAddress As String
    On Error Resume Next
    If Target.CountLarge = 1 Then
        xAddress = Target.Address(0, 0)
        If xAddress = "A1" Then
            Call SizeCircle("Oval 1", Val(Target.Value))
        ElseIf xAddress = "A2" Then
            Call SizeCircle("Smiley Face 3", Val(Target.Value))
        ElseIf xAddress = "A3" Then
            Call SizeCircle("Heart 2", Val(Target.Value))
        End If
    End If
End Sub

Sub SizeCircle(Name As String, Diameter)
    Dim xCenterX As Single
    Dim xCenterY As Single
    Dim xCircle As Shape
    Dim xDiameter As Single
    On Error GoTo ExitSub
    xDiameter = Diameter
    If xDiameter > 10 Then xDiameter = 10
    If xDiameter < 1 Then xDiameter = 1
    Set xCircle = ActiveSheet.Shapes(Name)
    With xCircle
        xCenterX = .Left + (.Width / 2)
        xCenterY = .Top + (.Height / 2)
        .Width = Application.CentimetersToPoints(xDiameter)
        .Height = Application.CentimetersToPoints(xDiameter)
        .Left = xCenterX - (.Width / 2)
        .Top = xCenterY - (.Height / 2)
    End With
ExitSub:
End Sub

หมายเหตุ:

1) ในรหัส“รี 1","หน้ายิ้ม 3"และ"หัวใจ 3"คือชื่อรูปร่างที่คุณจะเปลี่ยนขนาดโดยอัตโนมัติ และ A1, A2 และA3 คือเซลล์ที่คุณจะปรับขนาดรูปร่างโดยอัตโนมัติตามค่า
2) หากต้องการเพิ่มรูปทรงโปรดเพิ่มเส้น "ElseIf xAddress = "A3" จากนั้น"และ "Call SizeCircle (" Heart 2 ", Val (Target.Value))"เหนือข้อแรก"End If"ในรหัสและเปลี่ยนที่อยู่เซลล์และชื่อรูปร่างตามความต้องการของคุณ

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

จากนี้ไปเมื่อคุณเปลี่ยนค่าในเซลล์ A2 ขนาดของรูปร่าง Oval 2 จะเปลี่ยนโดยอัตโนมัติ ดูภาพหน้าจอ:

เปลี่ยนค่าในเซลล์ที่ระบุ ขนาดของรูปร่างจะเปลี่ยนแปลงโดยอัตโนมัติ

หรือเปลี่ยนค่าในเซลล์ A1, A2 และ A3 เพื่อปรับขนาดรูปร่างที่สอดคล้องกัน "Oval 1", "Smiley Face 3" และ "Heart 3" โดยอัตโนมัติ ดูภาพหน้าจอ:

เปลี่ยนค่าในเซลล์ที่ระบุ ขนาดของรูปร่างจะเปลี่ยนแปลงโดยอัตโนมัติ

หมายเหตุ: ขนาดรูปร่างจะไม่เปลี่ยนแปลงอีกต่อไปเมื่อค่าของเซลล์มากกว่า 10


แสดงรายการและส่งออกรูปร่างทั้งหมดในสมุดงาน Excel ปัจจุบัน:

โครงการ ส่งออกกราฟิก ประโยชน์ของ Kutools สำหรับ Excel ช่วยให้คุณแสดงรายการรูปร่างทั้งหมดในสมุดงานปัจจุบันได้อย่างรวดเร็วและคุณสามารถส่งออกรูปทรงทั้งหมดไปยังโฟลเดอร์ใดโฟลเดอร์หนึ่งได้พร้อมกันดังภาพหน้าจอด้านล่าง ดาวน์โหลดและทดลองใช้ทันที! (เส้นทางฟรี 30 วัน)

ส่งออกรูปร่างทั้งหมดใน Excel ปัจจุบันโดย kutools


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

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!