Excel - ฉันสามารถตั้งค่าเซลล์ให้เท่ากับค่าหนึ่งได้ไม่ว่าจะพิมพ์อะไรลงไป


61

นี่คือการเล่นเรื่องตลกกับใครบางคน ... ไม่แน่ใจว่ามันเป็นไปได้ที่จะทำสิ่งที่ฉันต้องการ เรากำลังหมุนเวียนไฟล์ Excel ในหมู่เพื่อน ๆ เพื่อเลือกผู้เล่นสำหรับทัวร์นาเมนต์กอล์ฟ ฉันต้องการตั้งค่าเซลล์ (เรียกว่า A1) เพื่อแสดงชื่อที่แน่นอน (เรียกว่า Joe) ไม่ว่าใครจะพิมพ์อะไรก็ตาม

A1 ควรว่างเปล่าจนกว่าจะมีคนพยายามพิมพ์ชื่อลงไป เมื่อมีคนพิมพ์ชื่อ - ชื่อใด ๆ - มันจะเปลี่ยนเป็นโจโดยอัตโนมัติหลังจากกด Enter

การจัดรูปแบบตามเงื่อนไขไม่ทำงานตามที่ปรากฏเท่านั้นที่อยู่ลักษณะของค่าในเซลล์ A1

สูตรไม่ทำงานเพราะพวกเขาจะเห็นบางสิ่งในเซลล์

แก้ไขอัตโนมัติ - ในขณะที่มันจะมีผลแน่นอนฉันกำลังมองหา - ไม่ทำงาน b / c ที่เก็บไว้ในคอมพิวเตอร์ของฉันและจะไม่ถ่ายโอนกับไฟล์

ความคิดใด ๆ

คำตอบ:


110

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

"Joe";"Joe";"Joe";"Joe"

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

[positive];[negative];[zero];[text] 

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


12
นี่คือมหากาพย์และเฮฮา ตอนนี้ฉันต้องไปหาเป้าหมาย ...
ไมเคิล McGriff

3
นี่คือประเสริฐอย่างแน่นอน ตอนนี้ผมต้องการที่จะคิดค้นสิ่งที่เพียงแค่มีข้ออ้างที่จะทำมันกับใครสักคน :)
Kaz

1
การเพิ่มข้อมูลว่าทำไมการทำงานของรูปแบบจึงทำให้คำตอบนี้เป็นตัวเอก
Raystafarian

22
จริงๆทำให้คนคิดว่าแผ่นงาน Excel ของพวกเขาคือผีสิงลองข้อความŽ̙̐a̴̺̯̝̜̦̣͆͟l̞̬̖̬͎̦͚ͭ̄̿̇ͨ̈̕͢g̶̼̺͓͉̫͍͕̭ͤ̈͑͝o͚̭̬̹ͮͨ̅̌͌ͤ̇เช่น"J̼̼̝̟͇̺͖̹̄̋͌̽oe";"J̼̼̝̟͇̺͖̹̄̋͌̽oe";"J̼̼̝̟͇̺͖̹̄̋͌̽oe";"J̼̼̝̟͇̺͖̹̄̋͌̽oe"(ดูเหมือนว่าจะทำงานด้วยตัวอักษรอย่างใดอย่างหนึ่งเท่านั้น)
user568458

1
ฉันคิดว่าภายใต้กล่องสีเทาของคุณคุณหมายถึง "สี่" แทน "สำหรับ" ฉันไม่สามารถแนะนำการแก้ไขหนึ่งอักขระ
Ross Millikan

9

วางแมโครเหตุการณ์ต่อไปนี้ในพื้นที่รหัสของเวิร์กชีท:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
   Application.EnableEvents = False
      Range("A1").Value = "Joe"
   Application.EnableEvents = True
End Sub

9
แมโครจะไม่ถูกปิดใช้งานโดยค่าเริ่มต้นเว้นแต่ผู้ใช้เปิดใช้งาน หากมีการแบ่งปัน
Kieran Dunn

@ KieranDunn คุณถูกต้องคุณต้องเปิดใช้งานแมโครเพื่อใช้กลอุบาย
นักเรียนของ Gary
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.