Tag: 范围

使用Win32com Python中的Range和Union方法

一个新的Python程序员在这里。 我有一个问题,希望你能帮助我。 我正在做的是我通过Python在Excel工作表中标记单元格。 假设我在需要使用联盟的时候为一个巨大的单元格定义了一个名称。 所以这将是一个范围的联盟。 现在我正在查看VBA代码,并使用win32com将它们翻译成Python语法。 如果范围是几个单元格说50左右,我不需要联盟,但对于大的细胞我没有。 问题在哪里。 我已经拿出了下面的代码,但我最终得到了 “TypeError:Python实例无法转换为COM对象”错误。 from traits.api import HasTraits, Str, Int, Button,CStr, List from win32com.client import gencache import win32com.client,sys,os class cellTagging(HasTraits): wb = "" Data = CStr parameter = Str read_Write = Str sheet = Str cell_No = List cell_Value = Str excel = win32com.client.gencache.EnsureDispatch('Excel.Application') def _cell_No_changed(self): path=os.getcwd() fName = […]

使用CreateNames表单名称vba

我在用 ActiveCell.CurrentRegion.CreateNames top:=True, left:=False 这对命名顶部的列是有效的。 我需要使这些命名的范围本地的工作表。 有没有办法做到这一点与CreateNames而不是Names.Add? 任何帮助将不胜感激。

带有隐藏工作表名称的dynamic范围

我正在尝试为某些手动input创build归档选项。 我有这个工作,但是当存档被隐藏时,我遇到了一些问题。 Sub Archive() Dim sDumpRange As String Dim sDumpSheet As String sDumpSheet = "Active archive" If Range("C6") <> Empty Then pRow = Sheets(sDumpSheet).Range("I1") If pRow > 1 Then Range("A2:E" & pRow).Delete Shift:=xlUp Else End If sDumpRange = "'" & Sheets("Active archive") & "'!" & "A" & Range("A5000").End(xlUp).Row + 1 ' sDumpRange = "A" & […]

如何操作Applescript范围引用对象来确定行数?

一个单元格的范围可以作为一个Excel对象从一行返回,如: set the_range_to_measure_size to used range 和一条线一样: get address of the_range_to_measure_size — >result "$A$1:$D$56" 将返回一个范围作为文本 返回范围对象的“维度”的最简单方法是什么? 宽度(在列中) 高度(按行) 开始行(如整数或string) 开始列(作为整数或string)

如何添加dynamic计算作为标准?

假设在A列中,我有一个开始date列表,在B列中,我有一个结束date列表。 我希望构build一个公式(不添加额外的列),计算结束date从开始date起超过120天的时间。 我在C1中尝试了下面的公式: =COUNTIF(B:B,A:A-120) 但它不起作用,因为COUNTIF公式的第二个属性是一个标准,似乎并不接受一个范围。 它把A:A当作A1,因为我把我的公式放在C1中。 注意:只需要一个公式即可解决,不能添加额外的列或数组,也不能添加VBA。 更新:有些行在没有可用date时写入“NULL”,因此它不适用于=SUMPRODUCT(–(A:A<B:B-120))

获得列B中的第一个/最后一个值,其中列A中的date是X

想象一下Excel中的2列。 列A有date,sorting,不唯一。 列B作为这些date的值。 示例数据: 列A列B 31/03/2014 -342 31/03/2014 -338 31/03/2014 -335.8 31/03/2014 -333.8 31/03/2014 -338.8 31/03/2014 -314.2 31/03/2014 -311 31/03/2014 -305 01/04/2014 -298.8 01/04/2014 -290.8 01/04/2014 -287 2014年4月1日-285.6 2014年4月1日-315.6 01/04/2014 -304.6 01/04/2014 -301.9 01/04/2014 -278.9 01/04/2014 -548.9 01/04/2014 -591.9 01/04/2014 -562.5 01/04/2014 -247.4 01/04/2014 -293.9 现在,我需要显示在新单元格中: 列A中给定date的第一次出现的值是X A列中给定date最后一次出现的列B的值为X. 在MySQL中,例如它会是一件很好很容易的事:“SELECT Column_B FROM db WHERE Column_A LIKE'x'LIMIT […]

无法将自动筛选的范围值转换为数组 – 只做第一个

只返回已过滤单元格的返回列表的第一个值。 否则工作,如果我不使用过滤的单元格: Dim tmp, tmpfilter As Variant ' returns the list of cell values tmp = teamRosterSheet.Range("D2", teamRosterSheet.Range("D2").End(xlDown)).Value ' returns 3 Debug.Print teamRosterSheet.Range("D2", teamRosterSheet.Range("D2").End(xlDown)).Cells.SpecialCells(xlCellTypeVisible).Count ' but only returns the first cell value and not all three other cells in my example (filtering is working ok as I can see the 3 non-contiguous rows only been […]

在Range.select中遇到variables问题

任何人都可以给我一个线索,为什么我似乎无法得到一个variables在我的Range.select函数? 正如您从注释中看到的,我已经尝试了许多不同的语法和命令,但是我总是得到一个运行时错误1004,对象全局范围失败 我试图从特定部分中的表单中获取数据,并将其复制到表格2中当前行中的特定单元格(按循环计数)。 忽略未完成的循环,一直没有能够让它运行,所以我还没有完成编写循环。 Sub PutDataSht2() Dim rowVal As Integer rowVal = 1 ' ' PutDataSht2 ' ' 'ThisWorkbook.Activate 'Sheets("Sheet1").Activate Sheets("Sheet1").Select Range("A38:H38").Select Selection.Copy 'Sheets("Sheet2").Activate Sheets("Sheet2").Select 'Range("A1:H1").Select Range("A[XrowVal]:H[XrowVal]").Select 'Range("A & rowVal:H & rowVal").Select 'Application.Goto ActiveWorkbook.Sheets("Sheet2").Range("A & rowVal:H & rowVal") 'ActiveSheet.Range(Cells(1, rowVal), Cells(8, rowVal)).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Sheets("Sheet1").Activate Sheets("Sheet1").Select Range("B85:H85").Select Application.CutCopyMode = False […]

在Excel中计数行

我想要一个for循环遍历excel电子表格上列b的填充部分。 我几乎肯定我有代码正确,但由于某种原因,它给了我一个无效的限定符错误在下面的代码.Row点。 我真的不确定我哪里错了,任何帮助将不胜感激。 Set rng1 = Range("B2") Set rng2 = Range("B2").End(xlDown) For i = 1 To Sheet2.Range(rng1, rng2).Row.Count

价值查询和四舍五入的问题

我有一个单元格的值,我想在一个定义的范围内查找该值,然后抓取大于查找单元格范围内的最接近的值。 示例:单元格包含37.24 ,范围有: 2.75 5.5 8.25 11 16.5 22 28 34 40 46 … 对于这个例子,公式应该返回40作为值。 如果原始字段是40.1 ,则会返回46 。