ฉันจะแยกค่าของเซลล์ออกจากวัตถุช่วงได้อย่างไร ดูเหมือนว่ามันควรจะง่าย คำถาม Stackoverflow นี้และ คำตอบไม่ได้ช่วยอะไรจริงๆ นี่คือสิ่งที่ฉันต้องการทำ แต่ล้มเหลวทุกครั้งโดยมีข้อยกเว้นใน row.columns(0,0)
Dim rdr = oFindings.Range
For Each row As Excel.Range In rdr.Rows
Dim Account = row.Columns(0,0).value2.tostring
' Do other stuff
Next
เพื่อให้ได้ผล ฉันต้องใช้โค้ดนี้:
For Each row As Excel.Range In rdr.Rows
ndx = 0
For Each cell As Excel.Range In row.Columns
If ndx = 0 Then Account = NS(cell.Value2)
' Do other stuff
ndx += 1
next
Next
นั่นดูเหมือนเป็นเรื่องไร้สาระ ความลับคืออะไร?
0
ไม่ใช่ rowindex หรือ columnindex ที่ถูกต้องใน Excel VBA - person Ron Rosenfeld   schedule 02.09.2015Columns(0,0)
ไม่ใช่การอ้างอิงช่วงที่ถูกต้อง ฉันไม่แน่ใจว่าจะนำไปใช้กับปัญหาของ OP ได้อย่างไร แต่ฉันรู้สึกว่าอาจเป็นข้อมูลที่เป็นประโยชน์ - person Ron Rosenfeld   schedule 02.09.2015row
หรือcell
เป็นตัวแปร เนื่องจากRow
และCell
หมายถึงบางสิ่งโดยนัยสำหรับ VBA ฉันจะเปลี่ยนตัวแปรนั้นเป็นxRow
หรือcel
หรืออะไรสักอย่าง ไม่อยากให้เกิดความสับสนใดๆ ทั้งสิ้น! - person BruceWayne   schedule 02.09.2015rowindex
และcolumnindex
เป็นอาร์กิวเมนต์ที่มีชื่อสำหรับวัตถุช่วง VBA ต่างๆ ประเด็นของฉันคือ นอกเหนือจากสิ่งที่คุณได้ชี้ให้เห็นแล้วเกี่ยวกับความไม่ถูกต้องของวัตถุคอลัมน์ของ OP ที่มีสองอาร์กิวเมนต์ใน VBA อาร์กิวเมนต์นั้นต้องไม่เป็นศูนย์ - person Ron Rosenfeld   schedule 02.09.2015