ฉันมีแผนภูมิหลายชุดที่อ้างอิงชุดข้อมูลหนึ่งชุด แผนภูมิแต่ละชุดมีจำนวนชุดที่แตกต่างกัน แต่ละชุดอ้างถึงแถวหนึ่งของชุดข้อมูลสำหรับคอลัมน์จำนวนหนึ่ง (เช่น A1: Z1) ในระหว่างการอัปเดตฉันต้องการเปลี่ยนข้อมูลสำหรับทุกซีรี่ส์ตาม 1 คอลัมน์ (เช่น A1: Z1 - & gt; B1: AA1) ตัวเลือกคอลัมน์สำหรับทุกซีรี่ส์จะเหมือนกัน
แนวทางของฉันตอนนี้คือการดูแผนภูมิทั้งหมดในแต่ละแผนภูมินับจำนวนชุดสำหรับแต่ละชุดบันทึกหมายเลขแถวและอัปเดตด้วยคอลัมน์ใหม่
ปัญหาของฉันอยู่ที่การดึงหมายเลขแถว ฉันพยายามทำ
foo = ActiveChart.SeriesCollection(1).Values
ด้วยความตั้งใจที่จะดึงหมายเลขแถวออกจากสตริง (ซึ่งยอมรับว่าไม่สวยงาม) แต่คุณสมบัติค่าไม่ส่งคืนสตริงแม้ว่าเมื่อตั้งค่ามันจะใช้เวลาในสตริงเช่น:
ActiveChart.SeriesCollection(1).Values = "=Data!$A$1:$Z$1"
วิธีการที่ดีที่สุดจะเป็นอย่างไร ฉันควรใช้ช่วงที่ตั้งชื่อแบบไดนามิกสำหรับแต่ละซีรี่ส์หรือไม่
ขอบคุณ.
คุณเคยลอง Named Ranges แล้วหรือยัง? ดูเหมือนว่าจะง่ายกว่าการจัดการกับ VBA นอกจากนี้ข้อมูลของคุณเป็นตาราง Excel หรือเพียงแค่เติมเซลล์หรือไม่
—
dav
ฉันกำลังมองหาช่วงชื่อแบบไดนามิกในขณะนี้ น่าเสียดายที่ข้อมูลของฉันไม่ใช่ตารางเนื่องจากส่วนหัวอยู่ในคอลัมน์ A แทนที่จะเป็นแถว 1 และฉันต้องการเก็บข้อมูลในลักษณะนั้น
—
csg
จัดการเพื่อละทิ้ง VBA และใช้ช่วงที่ตั้งชื่อแบบไดนามิกแทน ขอบคุณ
—
csg
เยี่ยมมากดีใจที่คุณได้ทำงาน คุณควรเพิ่มสิ่งที่คุณทำไว้เป็นคำตอบและทำเครื่องหมายให้เป็นที่ยอมรับเพื่อให้คนอื่นที่พบคำถามนี้สามารถรับแนวคิดในการแก้ปัญหาที่คล้ายกัน
—
dav