Tag: 范围

使用Python和comtypes使用数组设置Excel范围?

使用comtypes来驱动Python,似乎有一些魔法发生在幕后,而不是将元组和列表转换为VARIANTtypes: # RANGE(“C14:D21”) has values # Setting the Value on the Range with a Variant should work, but # list or tuple is not getting converted properly it seems >>>from comtypes.client import CreateObject >>>xl = CreateObject("Excel.application") >>>xl.Workbooks.Open(r'C:\temp\my_file.xlsx') >>>xl.Visible = True >>>vals=tuple([(x,y) for x,y in zip('abcdefgh',xrange(8))]) # creates: #(('a', 0), ('b', 1), ('c', 2), ('d', 3), […]

如何在Excel中的一组值中find* most *平均值/最接近平均值的值?

这可能是一个很容易回答的问题,但现在已经让我烦恼了! 说我有一个列的值范围sorting如下: Sales: 1500 160 40 300 200 在这个范围内, 我知道平均值是440.我想要的是Excel在这个范围内find最平均的值(在这个范围内最接近440的值是300)。 那么我可以做些什么Excel来返回300作为该范围内的平均值的最接近的价值? 非常感谢!

确定多个单元格的Excel VBA代码范围

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("$C$17:$C$80")) Is Nothing Then Exit Sub Select Case Target Case "" Target = "Priority 1" Target.Interior.ColorIndex = 3 Case "Priority 1" Target = "Priority 2" Target.Interior.ColorIndex = 6 Case "Priority 2" Target = "Priority 3" Target.Interior.ColorIndex = 45 Case Else Target = "" Target.Interior.ColorIndex […]

Excel VBA函数根据范围内的单元格背景颜色返回True或False

我在工作时间和时间表上保存了一个电子表格,当我遇到并期望遇到某些里程碑时。 数据(date)从左到右存储,每个项目都有自己的行。 里程碑是permantely设置和占领范围(O:AA)。 我的数据颜色编码为绿色(完整),橙色(截止date),蓝色(不工作),红色(不适用)。 我想要做的是写一个函数,检查一个单元格是否包含橙色背景(颜色索引6),并返回TRUE或FALSE。 基本上我想汇总所有列的所有截止date。 最后,我想整合一个date检查,所以我可以看到哪些截止date即将到来。 Function ScanForColor(Dates As Range) as Boolean If ScanForColor.Interior.ColorIndex = 6 Then ScanForColor = True Else ScanForColor = False End Function 我想调用像= ScanForColor(O3:AA3)的单元格中的函数,我将AB栏中的ScanForColor函数来保存过滤文档的值。

VBA Excel:如何删除2列中的重复项

我有以下的下面,但我有问题的语法。 我想将当前select设置为一个范围,并且我想从该select中删除重复项。 我怎样才能做到这一点? 'remove duplicates Columns("B:C").Select Dim duplicates As Range Set duplicates = Selection ActiveSheet.duplicates.RemoveDuplicates(Columns:=Array(1, 2), Header:=xlYes)

使用目标识别单元位置

我碰到这个问题很多,而且很好奇,如果有人能告诉我为什么或者怎样写这个清洁剂。 下面是我的代码,它确实工作。 If Target.Row = rTime.Offset(0, 1).Row Then If Target.Column = rTime.Offset(0, 1).Column Then cboStatus.Activate End If End If 我怎么不能这样写呢? If Target = rTime.Offset(0, 1) Then cboStatus.Activate End If 如果目标已经是一个范围,那么为什么我需要指定个人行和个人专栏? 第二个代码将不起作用,我已经尝试了很多变化。 我甚至尝试了一些像If Target.Range = range(“C4”) Then或If Target.Range = cells(4, 3) Then ,但都没有工作。 我尝试了许多类似的东西的变化。 虽然,我不想使用像A4这样的特定范围,因为我想像使用示例中的rTime一样使用rTime ,但是我只是想弄明白这一点。 似乎没有什么工作,除了每次指定单独的行和列。 有人可以向我解释这个吗? 还有,还有比第一个例子更好的写法吗? 感谢任何减轻我的困惑的事情。

VBA水平读取联合范围

我正在尝试将这些值合并到一组单元格中。 我创build了一个范围如下: Dim rng As Range Set rng = Application.Union(Range("A1:A3"), Range("C1:E2")) For Each Address In rng Debug.Print Address.Address Next 我想按水平顺序读取单元格:A1,C1,D1,E1,A2,C2 …等。但是,他们正在读取A1,A2,A3,C1,C2等.. 我怎样才能水平读取它们? 谢谢

VBA:修改图表数据范围

我的“图表数据范围”是='sheet1'!$A$1:$Z$10 。 我想创build一个VBAmacros(或者如果有人知道我可以使用的公式,但是我不能指出一个),以便每次运行macros时将chart1的范围的结束列增加1。 所以基本上: chart1.endCol = chart1.endCol + 1 这个使用ActiveChart的语法是什么,还有更好的方法吗?

如何在Excel公式中使用命名列

我知道如何在Excel中创build一个命名范围。 我有一个电子表格,各种各样的列作为参数,然后最后一个单元格中的公式。 这在每一行中重复多次,每行都有一组不同的数据,并更新公式来引用正确的行索引。 然而,公式看起来像(3行值): =G2*(10*D2 + 20*E2 + 5*F2) =G3*(10*D3 + 20*E3 + 5*F3) =G4*(10*D4 + 20*E4 + 5*F4) 我想使用命名的范围,但我不能find一种方法来做类似的事情 =Count * (10*var1 + 20*var2 + 5*var3) 其中count,var1,var2和var3自动更新为当前行的特定列。 我可以为每个单元格创build一个命名的范围,但是这没有帮助。 我可以命名列的范围,但是我不能find一种方法来将公式中的偏移量。 这也是整个可读性的重点,所以如果它最终成为一些令人讨厌的复杂的公式函数调用,那可能不会有太大的帮助。

excel vba:范围给参数不可选错误消息

在Excel VBA我试着select一个范围的值开始单元格“O2”,(O从Oyster)直到表尾,我试着: Range("O2", Range.End(xlDown)) 但是这个失败了, Argument Not Optional 。 我究竟做错了什么? 我正在使用Excel 2010。