การระบุชื่อเวิร์กชีทที่จำเป็นเมื่อระบุเซลล์ตามชื่อใน Excel 2007


1

ฉันไม่รู้ว่านี่เป็นการเปลี่ยนแปลงในรุ่นหรือไม่ แต่ในปี 2546 สิ่งนี้เคยทำงานใน Access VBA:

Dim xlSheet As Excel.Worksheet
xlSheet.Range("RangeName").Value = 100

ก่อนหน้านี้ฉันไม่จำเป็นต้องระบุแผ่นงานเพราะ "RangeName" ไม่ซ้ำกัน Excel 2007 ไม่พิจารณาว่าเป็นค่าที่ไม่ซ้ำใครและต้องการให้มีการระบุเวิร์กชีทหรือไม่

[แก้ไข] นี่คือข้อผิดพลาดใน Access 2007 VBA: "ข้อผิดพลาด 1004 (วิธี 'ช่วง' ของวัตถุ '_Worksheet' ล้มเหลว" กำลังพยายามหลีกเลี่ยงการตั้งชื่อแผ่นงาน

ฉันใช้ตัวจัดการชื่อใน Excel ชื่อไม่ซ้ำกันและขอบเขตเป็นสมุดงาน

alt text

เมื่อฉันพยายามแก้ไขชื่อมันไม่อนุญาตให้เปลี่ยนขอบเขต alt text

หมายเหตุ: เวิร์กบุ๊กนี้เป็นเทมเพลตที่อนุญาตให้มาโครและชื่อต่างๆยุ่งเหยิง


คุณจะกำหนดแผ่นงานที่ไหน ชอบตั้ง xlSheet = ...
dkusleika

@dkusleika - ถึงแม้ว่าบรรทัดของรหัสนี้จะใช้ได้ แต่ฉันไม่ชอบเพราะฉันอ้างถึงชื่อระดับสมุดงานและฉันทำสิ่งนี้มากกว่าหนึ่งครั้ง
JeffO

บางทีฉันไม่ได้พูดถูก คุณมีตัวแปร xlSheet แต่คุณไม่ได้ตั้งค่าเป็นอะไร ตามรหัสที่คุณแสดง xlSheet จะเป็นอะไรก็ได้ คุณควรได้รับข้อผิดพลาด 91 สำหรับสิ่งนั้น แต่ฉันแค่พยายามที่จะเข้าใจรหัสของคุณ
dkusleika

@dkusleika - การคาดเดาของฉันอยู่ก่อน Office 2007 วัตถุนี้มีค่าเริ่มต้นเป็นแผ่นงานของป้ายชื่อ ตอนนี้สามารถตั้งค่าขอบเขตที่ระดับแผ่นงานซึ่งจะอนุญาตให้มีค่าป้ายชื่อซ้ำกันและจำกัดความสามารถของ Excel 2007 ในการใช้แผ่นงานเริ่มต้น
JeffO

1
เวิร์กชีตเป็นสมาชิกของคอลเล็กชันที่สามารถระบุโดยดัชนีหรือไม่
David W. Fenton

คำตอบ:


1

RangeName เป็นช่วงที่ไม่ซ้ำกันและกำหนดเป็นชื่อสากลไม่ใช่เฉพาะกับแผ่นงานหนึ่งแผ่นหรือมากกว่า

เครื่องมือจัดการชื่อของ Jan Karel Pietersen เป็นเครื่องมือฟรีที่ยอดเยี่ยมสำหรับการดูจัดการและแก้ไขชื่อซึ่งอาจช่วยแก้ไขได้หากนี่เป็นปัญหาของชื่อมากกว่ารหัส

http://www.jkp-ads.com/officemarketplacenm-en.asp


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