Tag: 范围

如何从活动单元格中select未知范围?

我有一个数据块和空行之间的电子表格。 块大小不一。 我有一个公式,自动填充原始数据,然后将其复制到其他空行,直到它到达下一个块。 我如何得到它select下一个数据块,以便我的循环可以工作,因为块的大小总是在变化? 什么是理想的是某种当前区域属性,排除活动单元格后面的数据,因为当前状态中的循环将活动单元格作为每个迭代结束时新块中的第一个单元格。

将外部单元格地址转换为vba中的范围

我在单元格A1中有一个string,它是外部单元格的单元格地址(即另一个工作簿), '[data transfer utility.xlsb]Sheet1'!$B$5 在vba我想创build一个范围对象, myRange ,将对应于存储在单元格A1中的地址。 我尝试了各种解决scheme,但都没有工作。

VBA Excel 2010 – 使用范围时运行时1004错误

我有一个问题引用范围在我的VBA程序。 以下代码片段显示了我的原始代码: With Worksheets("Overall 6 mo") .Columns("A:G").ColumnWidth = 13.57 .Range("A1:Z100").Rows.RowHeight = 15 .Columns("F:G").NumberFormat = "0.00%" .Range("B3:G3") = Worksheets("TEMPLATE").Range("A3:F3").Value .Range("F4:G100") = Worksheets("TEMPLATE").Range("E4:F100").Formula .Range("A1").NumberFormat = "@" .Range("A1") = .Name End With 这会在通过第3行之后抛出“运行时1004应用程序定义或对象定义的错误”。于是我改变了 .Range("A1:Z100").Rows.RowHeight = 15 至 .Rows.RowHeight = 15 关键是要使我需要使用的细胞具有15的高度,所以这种改变不会伤害我的程序。 而现在,它将允许,但是然后在下一行再次引用相同的错误。 所以我想弄明白为什么它不允许我使用.range? 或者至less我可以修复它? 更新:我已经认识到,我不能在我的工作簿中的任何地方使用.Range方法(不只是在上面的实例中)。 什么会禁用我使用。范围无处不在? UPDATE2:它现在不再允许我在第二行中使用.Columns方法。 我没有做任何事情,只是通过它几次。 这个东西有什么问题? 更新3:似乎当我重新启动excel时,它将允许我运行工作表“总体6个月”的代码一次,然后开始抛出每次错误后。 我已经包含了表单其余部分的代码。 Option Explicit Private Sub Worksheet_Activate() Application.ScreenUpdating = […]

Excel VBA循环并将variables范围上的粘贴复制到variables范围

我有一个循环,改变复制单元格和粘贴单元格的范围。 这是与select – 但导致代码运行缓慢。 我怎样才能改善这个不使用select? Dim i As Long Dim x As Long Dim y As Long 昏暗的lastcell长 Dim countnonblank As Integer, myrange As Range Set myrange = Sheets("Label Create Worksheet").Columns("A:A") countnonblank = Application.WorksheetFunction.CountA(myrange) lastcell = Int(countnonblank / 9) + 1 For x = 0 To lastcell i = i + 1 y = y […]

复制和粘贴行和列取决于单元格的值

你好,我需要一些代码的帮助,基本上我有一个工作簿,其中有很多数据的产品附件列在行旁边列这些有所有单元格中的空白字段的产品,基本上是点这是当用户在任何这些单元格中键入“x”时,表格能够被过滤。 我已经做了一个总结表,我希望它看到这些特定的列,例如列EN,如果它包含一个“X”它将复制相应的行是A,B,C,D,并粘贴在这张汇总表一个接一个地从上面的行复制产品 例如 Column E has an x in E4,5,10,15,53 我希望它复制 ABCD4 ABCD5 ABCD10 ABCD15 ABCD53 以及产品名称,例如位于每一列的第一个空白框上方的“甜瓜”,在这种情况下,可以说E4是第一个空白,所以E3将是产品名称。 并将其粘贴在一张又一张的“总结表”中。 我知道这真的很混乱,但我希望你能帮助:) 代码我有:我现在有这个代码和即时通讯几乎在哪里我想成为我需要帮助就行了 Range("A5").Select 它给了我一个错误,但除非我select这个单元格,它随机粘贴在工作表上 Private Sub CommandButton9_Click() Range("A7:D7").Select Range(Selection, Selection.End(xlDown)).Select ' Go to last line ' Add a filter behavior Selection.AutoFilter Field:=5, Criteria1:="<>" Range("A7:D7").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy ' Paste data where you want Sheets ("Summary Sheet") Range("A5").Select […]

尝试查看数据点是否在SQL的多个date范围之一内

我有两张桌子,一张桌子上有一系列的事件,另一张上面有关于事件主题的人口统计信息。 人口统计数据包括对象有资格参加事件的数据范围,并且事件数据包含具有事件date的字段。 每个科目有多个date范围,因为科目经常失去/重新获得资格。 有些事件不属于主题的资格期限,我正在尝试向事件表添加一个列,如果事件处于资格阶段,则显示“0”,否则显示“1”。 基本上,我的桌子是这样的: Events Subject Date of Event A 1/1/2012 A 3/4/2012 B 2/2/2012 B 3/4/2012 Demographics Subject Start End A 1/1/2012 1/15/2012 A 3/1/2012 3/31/2012 B 2/1/2012 2/29/2012 B 4/1/2012 4/30/2012 我运行一个简单的CASE WHEN语句,如果事件date在开始date之前或结束date之后,则返回“0”,否则返回“1”。 结果是: Subject Date of Event Start End Value A 1/1/2012 1/1/2012 1/15/2012 1 A 1/1/2012 3/1/2012 3/31/2012 0 A […]

运行时错误1004出现在文件的副本中,但不是原始的

我有一个先进的filter,使用定义的范围(在所有工作表的名称pipe理器中可见)从单独的工作簿(稍后打开)中提取数据。 我有数据后,我希望能够保存工作簿的副本以供参考。 Range("stresslist").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ Range("stressfind"), CopyToRange:=Range("stressout"), Unique:=True 这在圣诞节前工作正常,但现在所有的副本给“对象”_global“失败”的运行时错误1004方法'范围',我已经缩小到 Range("stresslist") 这是另一个工作簿由3列组成的范围。 有没有人知道为什么它只是在副本失败,或者我可以使它在副本和原始的工作方式? 谢谢 马特 整个代码 Sub findstress() datafile = "Datafile.xlsx" calcfile = ThisWorkbook.Name dataopen = False frontend = ActiveSheet.Name Application.DisplayAlerts = False 'Application.ScreenUpdating = False 'Open Data workbook On Error Resume Next Workbooks(datafile).Activate If Err.Number <> 0 Then Err.Clear Application.Workbooks.Open ThisWorkbook.Path & "\" & […]

excel AVERAGEIF函数中的不规则范围

我想做一个像这样的线获得“X”的AVERAGEIF函数: gen1 vgen1 gen2 vgen2 gen3 vgen3 2nmean 2n 2 1n 1 2n 2,2 X 但我不能select不规则的范围,这是我在“X”单元格中的代码: = AVERAGEIF(GEN1,第二代,GEN3; “= * 2n” 个; VGEN1,VGEN2,vgen3) 在Excel中应用(Excel 2010): = AVERAGEIF(A2,C2,E2; “= * 2n” 个; B2,D2,F2) 干杯。

Excel VBA:将硬编码列更改为dynamic范围以自动填充到最后一行

你好,从一个没有经验的VBA用户..我尝试使用列命名范围时,自动填充到最后一行代码的麻烦。 一切似乎工作正常,当我使用硬编码的列,在这种情况下列CW,我需要的是用命名的范围replace此列CW,以便macros添加或删除工作表中的列时仍然工作。 我使用了以下命名范围: First_Date:这是其中一列的标题单元格(在这种情况下是AP5) Second_Row:这是我想复制公式的列的范围(AP7:CW7) Second_Cell:我要开始自动填充的单元格(AP7) Last_Column:这是我想在代码中使用的CW列。 自动填充将由此栏到最后一行。 在不同的线程search后,我想出了下面的代码似乎很好。 如何将列CW更改为命名范围? 或者我需要更改代码? Dim Lr As Integer Lr = Range("First_Date").End(xlDown).Row 'Searching last row Rows(Lr).Insert Shift:=xlDown 'Inserting new row Range("Second_Row").AutoFill Destination:=Range(Range("Second_Cell"), Range("CW" & Lr)) 任何人都可以在这里协助我吗?

Excel函数查询使用范围和2列 – 非常卡住

使用下面的例子,我想要一个公式,对于任何给定的Work ID将通过列表计数并返回每个Category值的结果数量。 (不幸的是,如果可以的话,我真的需要在Excel中做这个)。 例如,在工作ID = C和类别= P3的情况下,我预计结果为5.对于工作项目A /类别P1,结果将是0。 (第一个例子): IF(A9="C",B9="P3"),1,0) (当然返回1),但我不知道如何写一个范围。 Work ID Category A P3 A P4 A P4 A P4 A P4 B P4 C P5 C P3 C P4 C P3 C P3 C P3 C P3 非常感谢任何人谁可以为我破解这个 – 你是一个救星:o)