คำถามติดแท็ก named-ranges

1
วิธีที่สั้นที่สุดในการอ้างอิงแถวเดียว / คอลัมน์ของช่วงที่มีชื่อใน Excel?
ฉันมีช่วงที่มีชื่อ ( NamedRange1) และฉันต้องการอ้างอิงแถวแรกและคอลัมน์แรกของช่วงนั้นภายในสูตร ฉันมากับสิ่งต่อไปนี้: แถวแรก: INDIRECT("R" & ROW(UnpivotSource) & "C" & COLUMN(UnpivotSource) & ":R"& ROWS(UnpivotSource) +ROW(UnpivotSource) -1 & "C" & COLUMN(UnpivotSource),0) คอลัมน์แรก: INDIRECT("R" & ROW(UnpivotSource) & "C" & COLUMN(UnpivotSource) & ":R"& ROW(UnpivotSource) & "C" & COLUMNS(UnpivotSource) + COLUMN(UnpivotSource) -1,0) ดูเหมือนว่าจะยุ่งยากโดยเฉพาะอย่างยิ่งเนื่องจากโมเดลวัตถุของ Excel แสดงในRowsและColumnsVBA มีวิธีรัดกุมกว่าในการแสดงสิ่งนี้หรือไม่?

3
การสร้างแผนภูมิโดยใช้ช่วงไดนามิกที่มีชื่อใน Excel 2010
ฉันกำลังพยายามสร้างพล็อตกระจายใน Excel 2010 โดยใช้ช่วงที่ตั้งชื่อแบบไดนามิกและมีปัญหาในการทำให้มันทำงาน นี่คือตัวอย่างง่ายๆที่ล้มเหลว: เปิด Excel เพื่อเริ่มต้นสมุดงานใหม่ ป้อนข้อมูล: ในเซลล์ D1 ให้ป้อน: $A$1:$B$5. (ในแผ่นงานจริงของฉันสิ่งนี้คำนวณได้แบบไดนามิก แต่การป้อนข้อมูลด้วยตนเองยังคงมีปัญหา) บน Ribbon ให้คลิกสูตรกำหนดชื่อ กำหนดMyRange1เป็นชื่อชีตท้องถิ่นโดยใช้=INDIRECT(Sheet1!$D$1)ดังแสดงด้านล่าง: คลิกตกลงจากนั้นแทรกแผนภูมิกระจาย เปิดกล่องโต้ตอบ "เลือกข้อมูล" และป้อน ='Sheet1'!MyRange1 Excel ขัดข้อง ... ปัญหาเกิดขึ้นทั้งใน Windows XP และ Windows 7 ที่มี Excel 2010 ในทั้งสองกรณีสามารถทำซ้ำได้ทุกครั้ง ฉันยังลอง: การกำหนดช่วงแยกสำหรับข้อมูล x และ y และใช้กล่องโต้ตอบ Edit Series หลังจากป้อน='Sheet1'!MyXRangeในฟิลด์ค่า X แล้ว Excel จะหยุดการยอมรับการป้อนข้อมูลของแป้นพิมพ์และเมาส์ยกเว้นปุ่ม …

1
ชื่อของช่วงที่ตั้งชื่อสามารถเป็นแบบไดนามิกได้หรือไม่?
ฉันต้องการชื่อของช่วงที่มีชื่อใน excel ให้เป็นแบบไดนามิก (ตรงข้ามกับช่วงของตัวเอง!) ฉันต้องการทราบว่า / ฉันสามารถกำหนดชื่อช่วงโดยใช้สูตรหรือเซลล์อ้างอิงได้อย่างไรเพื่อให้ชื่อเปลี่ยนไปเมื่อเนื้อหาของเซลล์อ้างอิงเปลี่ยนไป เช่นถ้าฉันเขียนรายการในคอลัมน์และเขียนชื่อของรายการที่ด้านบนของคอลัมน์เช่น: A 1 *Colours* 2 Red 3 Yellow 4 Blue จากนั้นตั้งชื่อช่วงเซลล์ของรายการ (A2: A4) หลังชื่อเรื่องของรายการ (A1) ฉันต้องการให้ชื่อช่วงเปลี่ยนโดยอัตโนมัติหากชื่อของรายการเปลี่ยนแปลง (เช่นชื่อช่วง = A1 และ การเปลี่ยนแปลงชื่อหากเนื้อหาของการเปลี่ยนแปลง A1) ข้อมูลเพิ่มเติมเกี่ยวกับกรณีเฉพาะของฉัน: ฉันกำลังใช้ช่วงที่ตั้งชื่อไว้เพื่อสร้างรายการแบบเลื่อนลงที่ขึ้นอยู่กับแบบไดนามิกและหลายรายการในสเปรดชีต Excel ที่ให้ผู้อื่นใช้ ทุกอย่างถูกตั้งค่าเพื่อให้ผู้ใช้ต้องการเพิ่มรายการลงในรายการที่มีอยู่ (ในแผ่นงานรายการที่รองรับ) จากนั้นรายการแบบเลื่อนลง (ในแผ่นงานตารางหลัก) จะเปลี่ยนโดยอัตโนมัติ อย่างไรก็ตามความท้าทายต่อไปของฉันคือการทำให้ผู้ใช้สามารถเพิ่มรายการใหม่ได้ง่าย แผนของฉันคือการจัดเตรียมคอลัมน์รายการอะไหล่ (ในแผ่นงานรายการที่สนับสนุน) ตั้งค่าไว้แล้วดังนั้นเมื่อกรอกแล้วจะเปลี่ยนเป็นรายการแบบเลื่อนลงโดยอัตโนมัติ (ในแผ่นงานตารางหลัก) สูตรการตรวจสอบความถูกต้องของข้อมูลทั้งหมด (ใช้ช่วงที่มีชื่อ) ถูกตั้งค่าเพื่อสร้างรายการแบบเลื่อนลงในแผ่นงานตารางหลักขั้นตอนที่ขาดหายไปคือการตั้งชื่ออัตโนมัติของช่วงรายการเมื่อผู้ใช้ป้อนชื่อรายการใหม่ ฉันจะขอบคุณมากสำหรับคำแนะนำใด ๆ !

2
การแปลง / แปลงผลรวม (A1: D1) เป็น A1 + B1 + C1 + D1 ใน Excel
ดังนั้นสถานการณ์คือสิ่งนี้ฉันต้องการทราบว่ามีวิธีการแปลงผลรวมของช่วงของเซลล์เป็นผลรวมจากการเพิ่มแต่ละเซลล์แยกจากกันตามที่แสดงในชื่อเรื่อง ตัวอย่างเช่นสมมติว่าคนมีการคำนวณนี้ในเซลล์E1 , E1 = SUM(A1:D1)และต้องการที่จะแยกมันออกเป็นผลรวมของเซลล์ส่วนประกอบแยกเหมือนในE1 = A1 + B1 + C1 + D1 นอกจากนี้หากเป็นการดีถ้ามีคนระบุวิธีทำเช่นนี้สำหรับช่วงของเซลล์เช่นในกรณี: E1 = SUM (A1:D2)การแปลงเป็นE1 = A1 + B1 + C1 + D1 + A2 + B2 + C2 + D2 แก้ไข: มีคนแนะนำว่าฉันใช้ VBA และฉันก็คิดเช่นกัน หากใครมีคำแนะนำเกี่ยวกับเรื่องนี้ก็จะได้รับการชื่นชมอย่างมาก (ฉันไม่ดีในการเขียนโปรแกรมใน VBA แม้ว่าฉันรู้พื้นฐานและฉันจะลองด้วยตัวเอง

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

1
การสร้างอาร์เรย์แบบไดนามิกที่ไม่ซ้ำกันขึ้นอยู่กับหลายเกณฑ์หรือชุดย่อยของข้อมูล
ฉันมีโครงสร้างตารางในลักษณะนี้: City Region Date Value ABC 123 Jan1 10% DEF 999 Feb1 7% ตารางถูกป้อนโดยรายการผู้ใช้แต่มีกฎที่สำคัญ: ไม่มีภูมิภาคใดสามารถมีวันที่เดียวกันมากกว่าหนึ่งค่าแม้ว่าค่าจะแตกต่างกัน เพื่อควบคุมสิ่งนี้ฉันใช้สองสูตร: Dynamic Named Range ที่สร้างรายการวันที่ไม่ซ้ำ กฎการจัดรูปแบบตามเงื่อนไขที่ตั้งค่าสถานะรายการที่มีวันที่ซ้ำกัน ฉันมีปัญหากับ # 1 # 2 ฉันได้ทดสอบว่าทำงานได้ดี ความพยายามของฉันคือการสร้างช่วงที่มีชื่อนี้เรียกง่ายๆว่า UniqueDates =OFFSET( OFFSET(Table!$C$9,0,0,1,1), MATCH(0, COUNTIF(Table[@Region],Entry[Region]),0) -1,0, SUM(COUNTIFS(Table[Region],Entry[@Region])) ) ฉันได้ทดลองกับการลองใช้ชุดค่าผสมที่แตกต่างกัน แต่ดูเหมือนจะไม่สามารถสร้างรายการของวันที่ที่ไม่ซ้ำกันซึ่งได้ป้อนไปแล้ว แต่ฉันได้รับวันที่ผิดหรือผลที่ไม่ชัดเจน เป็นสิ่งสำคัญที่จะต้องทราบว่าผลลัพธ์ของสูตรนี้จะไม่ถูกเก็บไว้ในการตรวจสอบข้อมูล ฉันใช้มันโดยตรงกับกฎการจัดรูปแบบตามเงื่อนไข

1
VBA สามารถลบช่วงที่มีชื่อโดยอ้างอิงตามค่า RefersTo หรือไม่
ฉันกำลังล้างเวิร์กบุ๊ก Excel ที่ป่องและพยายามลบช่วงที่มีชื่อเป็นจำนวนมากซึ่งอ้างถึงเวิร์กบุ๊กในไดรฟ์ C ของใครบางคน มีจำนวนมาก และพวกเขาไม่ได้ถูกใช้ในสมุดงานนี้ 'C: \ blahblah \ ... \ ... \ ... \ ... \ ... \ [WorkBookName.xls] Sheet1! $ E $ 28 รหัสด้านล่างช่วยฉันลบช่วงที่มีชื่อซึ่งชื่อของพวกเขามี 'ไอคอน' (ตัวอย่าง) อย่างไรก็ตามฉันต้องลบช่วงเมื่อมีเส้นทางตามที่แสดงด้านบน โปรดจำไว้ว่าชื่อเวิร์กบุ๊กหรือแผ่นงานอาจเปลี่ยนแปลงได้เช่นกันแต่ไดรฟ์ยังคงเหมือนเดิม Sub deleteNamedRangesSpecific() For Each NR In ActiveWorkbook.Names If NR.NameLocal Like "*" & "icon" & "*" Then NR.delete Next …

0
วิธีสร้างช่วงไดนามิกที่มีชื่อซึ่งมีเซลล์ว่างอยู่
ฉันกำลังพยายามกำหนดช่วงไดนามิกที่มีชื่อ แต่เซลล์บางเซลล์ว่างเปล่า แต่ฉันยังต้องการช่วงเพื่อรวมเซลล์เหล่านี้ ฉันควรใช้ฟังก์ชันอะไร ฯลฯ เพื่อทำสิ่งนี้? ฉันได้ลอง OFFSET และ COUNTA ไปแล้วและดูเหมือนจะไม่ทำงาน

1
วิธีการโทรหาช่วง namer โดยใช้ตัวแปรเพื่อกำหนดชื่อ
ตามเอกสารประกอบชื่อข้อความที่ยกมาใด ๆ สามารถกำหนดโดยตัวแปรถ้าฉันกำหนด Set xlsDataSource = Application.Workbooks("New_TOR_V1.xlsm").Names("MyRange").RefersToRange มันทำงานได้ตามที่คาดไว้ถ้าฉันใช้ Dim S as string S="MyRange" Set xlsDataSource = Application.Workbooks("New_TOR_V1.xlsm").Names(S).RefersToRange มันยังทำงานได้ดี แต่ใช้ Dim Arr() as string Arr(1)="MyRange" Set xlsDataSource = Application.Workbooks("New_TOR_V1.xlsm").Names(Arr(1)).RefersToRange ให้ข้อผิดพลาด และนอกจากนี้ยังมี Set xlsDataSource = Application.Workbooks("New_TOR_V1.xlsm").Names(Cstr(Arr(1))).RefersToRange ให้ข้อผิดพลาด ทำไมองค์ประกอบอาเรย์ทำให้เกิดข้อผิดพลาดและฉันจะแก้ไขได้อย่างไร ฉันจำเป็นต้องใช้อาร์เรย์หรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.