我需要得到「範圍命名的」爲一個特定的單元格中輸入值,獲得命名的範圍爲特定的細胞從Excel中。如何使用python
我進入「範圍命名的」在Excel(A4,B4)單元格的值,以讀取單元格的值,我們使用sh.cell(行,列),但如何獲得該單元的名稱範圍值。
我沒有得到該怎麼辦......
幫助我..謝謝提前
我需要得到「範圍命名的」爲一個特定的單元格中輸入值,獲得命名的範圍爲特定的細胞從Excel中。如何使用python
我進入「範圍命名的」在Excel(A4,B4)單元格的值,以讀取單元格的值,我們使用sh.cell(行,列),但如何獲得該單元的名稱範圍值。
我沒有得到該怎麼辦......
幫助我..謝謝提前
不幸的是,我沒有足夠的代表處發表評論,所以我會盡我所能,從我所從你的問題中瞭解。
所以如果我有這個權利,你有一個工作表上的命名範圍,其中由sh.Range(「A4:B4」)引用的範圍的名稱是'name_a_range'(我包括下劃線,因爲你名稱中不能有空格)。
你可以從Sheets.Cells(行,列).value的值,但是你想通過命名範圍內做到這一點。
好,要做到這一點:
Dim valA as Variant, valB as Variant
Dim valArray() as Variant
'' To get the value in Cell "A4"
valA = sh.Range("name_a_range").Cells(1,1).Value
'' To get the value in Cell "B4"
valB = sh.Range("name_a_range").Cells(1,2).Value
'' Or if you have a Variant() array already Dim'ed (like above)
valArray = sh.Range("name_a_range").Value
工作表的Range對象可以乘坐:
'' Expression for a range: "A4" to "B4" , using Cells
sh.Range(sh.Cells(4,1), sh.Cells(4,2))
'' Expression for a range: "A4" to "B4" , using xlA1 format
'' *Which is the most familiar
sh.Range("A4:B4")
'' Expression for a range: "A4" to "B4" , using name
sh.Range("PreviouslyNamedRange")
對於任何範圍,你可以把它看成是自己的數組(從位置1開始)。 而如果範圍的大小(尺寸)是未知的,你可以使用內置的範圍功能:
sh.Range("name_a_range").Rows.Count '' returns 1
sh.Range("name_a_range").Column.Count '' returns 2
至於從標題Python的方面,您將使用完全相同的語法:
雖然,我不使用xlrd,而是我使用win32com.client驅動的Excel通過蟒蛇
from win32com.client import Dispatch
app_xl = Dispatch("Excel.Application")
wb = app_xl.Workbooks.Open("Path\\To\\Your\\Workbook.xlsx")
range = wb.Sheets(1).Range("name_a_range").Value
例如,我跑這對我的牀單之一:
>>> from win32com.client import Dispatch
>>> app_xl = Dispatch("Excel.Application")
>>> wb = app_xl.Workbooks.Open("C:\***\***\excel_vba_tests\getinfo.xlsx")
>>> rangeValues = wb.Sheets("Summary").Range("avgVolume").Value
>>> rangeValues
((u'Avg/Wk',), (Decimal('791517.25'),), (Decimal('796369'),), (Decimal('769922.8846'),), (Decimal('743311.549'),))
在這裏,我打開工作簿,「getinfo.xlsx」,並從我的命名錶「摘要」我能得到我的命名範圍「avgVolume」
所有的值是這是很有幫助的/你正在尋找?由於我不太確定你的問題到底是什麼,我想我會盡可能多地得分。