Tag: 范围

循环遍历一列中的范围

我有一张带订单和时间戳的工作表。 我想根据右侧列中的时间戳对这些行进行sorting,但是我想保留它们的分组位置。 就像我想要sorting的第4行,但留在第4行,然后我想sorting第8和第9行,但让他们留在那里。 我已经设法select了两个范围,并省略“中间”,但除非关键单元格在一个范围内,否则.sort方法将不起作用。 所以我想也许如果我循环通过列中的不同范围或类似的东西。 这是我现在的代码,以为我不认为这会有所作为。 Dim LR As Long, cell As Range, rng As Range With Sheets("Ark1") Dim start As Range Set start = Range("N16") LR = .Range("N" & Rows.Count).End(xlUp).Row For Each cell In .Range("N16:N" & LR) If cell.value <> "" Then If rng Is Nothing Then Set rng = cell Else Set rng […]

“运行时错误'438':对象不支持此属性或方法。”Range.values = Range.values

我正在尝试将Excel工作簿中的一系列数据复制到另一个工作簿,而无需在此过程中select任何工作簿并使用工作表对象名称。 我想这样做是因为select过程: Windows(“SourceWorksheet”)。激活 – 工作表(“SourceSheet”)。select范围(“SourceRange”)。 )。糊 与之相比非常慢 DestinationWorkBook.DestinationSheet.Range(“DestinationRange”)。Value = SourceWorkBook.SourceWorkSheet.Range(“SourceRange”)。Value 我已经使用表单名称和字母范围这个工作: Workbooks(DestinationWorkBook).Sheets("DestinationSheet").Range("A:C").Value = _ Workbooks(SoureceWorkBook).Sheets("SourceSheet").Range("A:C").Value 还使用半dynamic范围和工作表的名称: lastRow = Cells(Workbooks(Limits_Name).Sheets("SourceSheet").Rows.Count, _ "A").End(xlUp).Row Workbooks(DestinationWorkBook).Sheets("DestinationSheet").Range("A1:C" & lastRow).Value = _ Workbooks(SourceWorkBook).Sheets("SourceSheet").Range("A1:C" & lastRow).Value 当我使用图纸对象名称而不是图纸名称或单元格而不是范围时,我的问题就开始了。 在那些情况下,当我得到这个错误: Workbooks(DestinationWorkBook).shtDestinationSheet.Range("A:C").Value = _ Workbooks(SourceWorkBook).Sheets("SourceSheet").Range("A:C").Value OR lastRow = Cells(Workbooks(SourceWorkBook).Sheets("SourceSheet").Rows.Count, "A").End(xlUp).Row lastCol = Cells(1, Workbooks(SourceWorkBook).Sheets("SourceSheet").Columns.Count).End(xlToLeft).Column Workbooks(DestinationWorkBook).Sheets("DestinationSheet").Range(Cells(1, 1), Cells(lastRow, lastCol)).Value = _ Workbooks(SourceWorkBook).Sheets("SourceSheet").Range(Cells(1, 1), Cells(lastRow, lastCol)).Value OR […]

使用'RefEdit'控件来检查特定的范围

我有一个用户表单,用户被要求使用RefEditselect一个单元格区域。 我试图将相应的范围存储在范围variables中,以便可以在该范围上运行多个检查(无空单元格,有效input…)。 现在我试图用它(正如我见过很多人在互联网上这样做): Dim Data_Range as Range Set Data_Range = Range(RefEdit_DataRange.Value) 但它只是以一个错误结束: “对象”_Global“的错误1004:方法”范围“失败。 (近似翻译) 我在MsgBox中打印了RefEdit_DataRange.Value ,它是一个string格式化的Sheet!Cell1:Cell2所以它看起来像我期待的,但它不工作。 有没有人遇到同样的问题?

在Excel公式中创builddynamic单元块引用

我不知道如何在Excel公式中创builddynamic单元格块引用。 举一个简单的例子,如果我有5个id ,每个block有scores ,我需要对每个block的分数进行sorting,那么创build公式的最简单的方法是什么? 我知道你可以使用相对引用(即=RANK.EQ(B#, B2:B6) )在前5个单元格中创build公式,复制这些单元格并粘贴到突出显示15个单元格的范围内。

在EXCEL中对单元格进行math运算也是可以的

我有一系列的细胞,我想要做一些math。 但我也希望这些单元格包含一些文本。 例如,我想要A1和B1的总和,其中A1包含数字10,“z001”和B1包含数字20和“Z004”。 然后我想要公式忽略文本,只是想出了30。 这可能吗?

“RemoveDuplicates”方法更改select,而不仅仅是Range对象

我有一个Range对象,其中包含来自select的唯一列的数据。 我想在这个范围对象上使用RemoveDuplicates方法来获得唯一的值。 我的问题是:工作表上的select也被RemoveDuplicates方法更改。 我只需要范围对象进行更改。 这是我的代码: Dim rngTst As Excel.Range Set rngTst = Range(Cells(2, 1), Cells(65000, 1)) With rngTst .RemoveDuplicates 1, xlYes 'remove duplicated values End With

更新:通过几个范围循环?

更新:我稍微修改了尼克build议的代码。 最初,这个带有Rng.Offset的代码花费了大量的数据来制作雷达图表。 例如:从(A1:E1):(A2:E2)(这首先是罚款),但是然后:(A1:E1):( A3:E3),(A1:E1):( A4:E4) ,(A1:E1):( A5:E5)等等…而是我试图每次只select一个附加的行,因此:(A1:E1)+(A3:E3),(A1:E1 )+(A4:E4),(A1:E1)+(A5:E5)。 Sub MultipleRadarCharts() Dim i As Integer Dim Rng As Range Set Rng = Sheets("Indices4Pilares (4)").Range("A1:E1") For i = 2 To 36 ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlRadarMarkers 'ActiveChart.SetSourceData Source:=Sheets("Indices4Pilares (4)").Range(Rng, Rng.Offset(i – 1, 0)) 'ActiveChart.SetSourceData Source:=Sheets("Indices4Pilares (4)").Range(Rng, Range(Cells(i, 1), Cells(i, 5))) ActiveChart.SetSourceData Source:=Sheets("Indices4Pilares (4)").Union(Range(Cells(1, 1), Cells(1, 5)), Range(Cells(i, 1), […]

从ListObject表的特定列中selectSpecialCells(xlCellTypeVisible)

我正在试图获取一个ListObject表的某些列的可见单元格到一个范围对象。 这似乎并不奏效。 dim rng as range with activesheet.listobjects("Tab_data").databodyrange set rng=.specialcells(xlcelltypevisible) end with 但是这个工程,当我select整个范围,然后抵消第一列,以select其他2所需的列! dim rng as range with activesheet.usedrange Set rng = .Offset(1, 1).Resize(.Rows.Count-1, .Columns.Count-1).SpecialCells(xlCellTypeVisible) end with 但我不能在公式中使用上面的公式,因为我的公式只涉及下面显示的listobject中的2列: 工作表上的UDF公式: =TagCloud(RngWrdLst as Range) 我正在使用它: =TagCloud(tab_data[[Brands]:[Index]]) 从图像中可以看到,我只想要“Brands”和“Index”列中的可见单元格范围,而不是“COLUMN”列中的单元格。 所以我想要的可见范围是: "$B$2:$C$3,$B$45:$C$45,$B$75:$C$78" 编辑@Jeeped: 如果我有一个从工作表单元格调用的UDF函数,并传递列B&C(只有这些列,而不是整个数据)的ListObject范围,那么我将如何findRngWrdLst可见范围? 例如 从工作表中调用: =TagCloud(tab_data[[Brands]:[Index]]) function定义: Function TagCloud(RngWrdLst As Range) Dim VisibleRng As Range With RngWrdLst Set VisibleRng […]

使用VBA使用多个Excel工作表创build多个文本文件

所以我想要做的是从我的Excel文件中的每个工作表创build一个文本文件,只导出列D 到目前为止,我有一个macros导出列D ,但只在活动工作表上。 这是我目前的macros: Private Sub CommandButton21_Click() Dim userName As Variant userName = InputBox("Enter your six character user ID") Dim userNamePath As String userNamePath = "C:\Users\" & userName & "\Desktop\Device Configurations\" MkDir userNamePath Dim filename As String, lineText As String Dim myrng As Range, i, j filename = userNamePath & "test.txt" Open filename For Output […]

VBA – 确定单元格值(string)是否与指定范围内的值(string)相匹配

如果这已经被回答,但是我已经search和search没有运气道歉。 简而言之,即时尝试更改单元格的颜色,如果单元格的值不匹配指定范围内的值。 我已经尝试了一些方法,虽然没有任何工作对我来说,任何来自vba大师的帮助将不胜感激。 基本上我有sheet1(创build)G2上的值的列表:我需要知道,当他们不匹配sheet2(列表)上的值S2:S64 < – 这有一个命名的范围的Make。 请在下面看到我目前的代码的副本 Sub testMake() Dim MkData As Range, MkVal As Range Dim MKArray As Variant Set MkData = Worksheets("Create").Range("G2:G5000") Set MkVal = Worksheets("Lists").Range("Make") For Each MyCell In MkData If MyCell.Value <> Range("MkVal") Then MyCell.Interior.ColorIndex = 6 Else MyCell.Interior.ColorIndex = xlNone End If Next End Sub 感谢大家提前给予的帮助,我已经看了几天了,似乎没有比刚开始的时候更近。