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

or

จะแสดงกล่องข้อความได้อย่างไรหากค่าของเซลล์เปลี่ยนแปลงภายในช่วงใน Excel

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

ป๊อปอัพกล่องข้อความหากค่าของเซลล์เปลี่ยนแปลงภายในช่วงด้วยรหัส VBA


ป๊อปอัพกล่องข้อความหากค่าของเซลล์เปลี่ยนแปลงภายในช่วงด้วยรหัส VBA


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

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

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน ดับเบิลคลิกที่ชื่อแผ่นงาน (มีช่วงที่ระบุอยู่) ในแถบด้านซ้ายเพื่อเปิด รหัส จากนั้นคัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่าง

รหัส VBA: กล่องข้อความป๊อปอัพหากค่าของเซลล์เปลี่ยนแปลงภายในช่วง

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (Application.Intersect(Range("A1:E19"), Target) Is Nothing) Then
        MsgBox "Cell " & Target.Address & " has changed.", vbInformation, "Kutools for Excel"
    End If
End Sub

หมายเหตุ: คุณสามารถเปลี่ยนช่วงที่ระบุ A1: E19 ในรหัสเป็นช่วงที่คุณต้องการ

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

ในตอนนี้เมื่อค่าของเซลล์ในช่วง A1: E19 เปลี่ยนไปกล่องข้อความจะปรากฏขึ้นโดยอัตโนมัติ ดูภาพหน้าจอ:


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

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.
    Marcelo · 1 months ago
    Hi everyone & thanks for help!!!!

    How could I modify the VBA to show the excel cell informattion in MsgBox......?????
  • To post as a guest, your comment is unpublished.
    ipalierakis@gmail.com · 3 years ago
    Hi everyone & thanks for help!!!!

    How could I modify the VBA and say that if the Range B1:B50 is less than or equal to Range A1:B50 then MsgBox......?????
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Good Day,
      Do you mean the total sum of range b1:b50?
  • To post as a guest, your comment is unpublished.
    igp · 3 years ago
    Hi everyone & thanks for the VBA.

    I was just wondering how to modify the VBA in case that I want the MsgBox only if for example the cell value B1 is <= than A1


    Thanks for your assistance!!!
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      Good Day,
      Please try below VBA code:

      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error GoTo ExitSub
      Dim One As Long
      Dim Two As Long
      One = Range("A1").Value
      Two = Range("B1").Value
      If Not (Application.Intersect(Range("A1:B1"), Target) Is Nothing) Then
      If (One > Two) Then
      MsgBox "Range(""A1"") > Range(""B1"")", vbInformation, "Kutools for Excel"
      End If
      End If
      ExitSub:
      End Sub
  • To post as a guest, your comment is unpublished.
    naveenruppa@gmail.com · 3 years ago
    Considering the above example.(VBA code: pop up message box if cell value changes within a range)

    when the value of D14 has changed we get a pop up, in the similar way how to get the ID of that (column A of the same row (A14)).
    Thanks in advance, any response is appreciable.
  • To post as a guest, your comment is unpublished.
    Naveen · 3 years ago
    considering the above output there is a question.
    we got a pop message when the D14 has changed, in the similar can way can we get the ID (data of the same row of the column A) in the pop up message??