我需要得到“范围命名的”为一个特定的单元格中输入值,获得命名的范围为特定的细胞从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”
所有的值是这是很有帮助的/你正在寻找?由于我不太确定你的问题到底是什么,我想我会尽可能多地得分。