Tag: for loop

用双“For”循环标记区域

我正在尝试执行以下操作:我想将不同区域(以黄色标记)存储在一个string中。 第一个黄色区域是F7:G8,第二个是I7:J8等,使得该串变为:“F7:G8,I7:J8,L7:M8,F10:G11,I10:J11,L10:M11”。 所以在这个例子中,我有三个区域在右边,两个在下面。 右边和下边的区域数量可能会有所不同,所以我想要编码,我只需要指定向右和向下的区域。 请注意,第一个区域始终是F7:G8,所以我可以使用它作为参考。 现在,在下一个区域之前跳过的列数可能会有所不同,并且在下一个区域之前跳过的行数可能会有所不同。 所以我需要考虑。 我有以下的VBA代码: Sub test() ' ' test Makro ' ' Dim i As Integer, j As Integer k = 2 'areas downwards' l = 3 'areas rightwards' Dim area As String Let area = "F7:G8" 'first area, always the same' Dim Upper_letter As String Let Upper_letter = "F" Dim […]

如何正确地写下面的嵌套For Each循环?

所以,我有一个数据sorting问题。 本质上,我必须排第2行的单元格在第1行的近似值之下。 数据通常会显示为: 但是我要求Row2的数据在它的Row1对象的近似值(在1.2之内)被sorting,如下所示: 我相信最好的办法是创build一个For Each循环的嵌套集合,如下所示: Dim F As Range Dim Q As Range For Each F In Range("A1:C1") For Each Q In Range("A2:C2") If Q.Cell.Value <= (F.Cell.Value + 1.2) Then F.Offset(1, 0).Value = Q.Cell.Value Exit For End If Next Q Next F 虽然这已被certificate是具有挑战性的 我的意图是反复检查Row1的值,并且,如果在Row2中find了具有必要条件的值,请将其置于Row1中的对应项下。 代码已经暂停,但是,由于“运行时错误'438':对象不支持此属性或方法”。 如何正确编写代码以避免这样或类似的错误? 非常感谢! 如果您有任何改进build议,请随时提出build议。 最好,

简单的Excel VBA循环需要

我试图在Excel VBA中创build一个简单的循环来抓取行中的信息,并根据特定单元格上的值将同一信息复制到下一行(或插入一个新行)。 例如,第1行有这些值(房屋1a,3级) 然后像这样在单元格H5上创build结果 (house 1a, bottom level) (house 1a, mid level) (house 1a, top level) 意味着房子1a的每一层被分成3排。 那么想象一下,我会随机选出10个不同级别的房子,名单不超过3个。 抱歉的括号,但这个编辑一直在想我正在写代码。 任何帮助将不胜感激。

保留不同的值VBA excel – 删除所有其余的

我有一个随机值的列,以某种格式重复数据: 第1栏 A A A A B B C C C A A D D E F F F G … 我试过使用 Dim i As Integer Dim noRows As Integer 'count rows noRows = Range("B2:B10000").Rows.Count 'delete row entries that are duplicates.. For i = 1 To noRows If Range("H2").Cells(i + 1, 1) = Range("H2").Cells(i, 1) […]

循环导入多个Excel文件并将文件中的每个工作簿转换为.dta

我有一个文件,其中包含超过60 Excel的工作簿,我想将它们中的每一个转换为。stat文件中的.dta文件。 我searchnetworking,但找不到一个体面的方式做一个循环。 我写了一个需要专家帮助的代码。 在一个目录中,并且想要创build一个循环来将它们保存为.dta文件。 代码如下 forvalues i=1/60{ import excel "D:\Okay\""`i'.xlsx", sheet("Sheet1") firstrow clear save "D:\Okay\""`i'.dta" }

为什么在运行elseif语句时收到types不匹配错误

所以我试图运行下面的代码,但收到“types不匹配错误”行ElseIf Cells(x, 1) <> "" And Cells(x, 2) <> "" And Cells(x, 15).Value <= 0 Then ,我猜这是和if语句在for和next语句中没有正确的嵌套for ,但是它们看起来都很好,我花了好几个小时来尝试debugging,但没有成功。可以告诉我,我的代码出了什么问题? Dim x As Integer For x = 4 To 100 If Cells(x, 1) <> "" And Cells(x, 2) <> "" And Cells(x, 6).Value <= 0 Then Cells(x, 16).Value = 6 Cells(x, 17).Value = -0.3179688 ElseIf Cells(x, 1) […]

在Excel中使用For和Next循环存储求解器结果

我想用重复求解器51次,并将解算器的每次计算结果存储在Excel中的一个单独的单元格中。 下面是我的VBA脚本。 但是,我遇到了脚本的问题。 存储结果只显示第51个,最后一个计算结果。 这是一个简单的脚本,但我可以找出我做错了什么地方。 感谢您的帮助! Private Sub Button1_Click() Dim j As Integer For j = 1 To 51 Range("m4") = j solversolve UserFinish:=True solversolve(UserFinish:=True) = Range("Q" & j + 3) Next j End Sub

excel vba通过行更快

下面的代码工作100%。 它扫描列B中的匹配项,并在find匹配项时复制并重命名一组单元格。 然而, For lRow = Sheets("HR-Calc").Cells(Cells.Rows.count, "b").End(xlUp).Row To 7 Step -1其中step -1将扫描行从纸张的底部开始排列直到find匹配。 如果步骤设置为“ End.(xlUp)而不是-1 ,则会更容易。 End.(xlUp)会大量减less运行时间,因此search每一行都是过度的。 是这样的可能吗? Sub Fill_CB_Calc() M_Start: Application.ScreenUpdating = True Sheets("summary").Activate d_input = Application.InputBox("select first cell in data column", "Column Data Check", Default:="", Type:=8).Address(ReferenceStyle:=xlA1, RowAbsolute:=True, ColumnAbsolute:=False) data_col = Left(d_input, InStr(2, d_input, "$") – 1) data_row = Right(d_input, Len(d_input) – InStr(2, d_input, […]

嵌套For循环和过滤的数据

问候乡亲。 寻找人指点我正确的方向,以帮助我继续寻找信息…我想我正在接近错误的问题,这可能是我的术语或我正在寻找的东西。 我正在使用一组vba代码来计算数据转储中的特定值,并使用它来在“Tracker”工作表(基于filter和条件)上填充表格/表格。 我已经能够得到正确的匹配值的数量,使用这样的代码: LastRow = Sheets("Colums").Range("AC" & Rows.Count).End(xlUp).Row: vD14 = 0 For Each c1 In Sheets("Colums").Range("AC1:AC" & LastRow) If c1.Value = "Wired" Then vD14 = vD14 + 1 End If Next c1 Sheets("Tracker-Import Data").Range("D14").Value = vD14 'paste the count value into D14 of this sheet 但是,我们无法find一种方法来“嵌套”多个条件并计算重新提炼的filter数据。 作为一个例子,我试图用一些嵌套调整上面的代码,进一步钻取,使用(这是行不通的)。 编辑编辑 – 澄清 – filter数据在多列。 因此,“有线”在AC列中,进行中可能在E中。 ' […]

Excel VBA For-Next Loop将数据从一个WB提取到另一个WB

我正在做一个for循环,根据第12列中的string提取整行数据,等于“机票”。 这个想法是复制第12列(EXPENSE_TYPE)为Airfare的数据行并将其粘贴到第二个工作簿中。 我的代码如下所示,不能正确循环所有120行数据。 当我运行我的macros,它只提取符合我的标准的第一行数据。 让我知道如果你能find我的问题。 谢谢! Sub exportDataToOtherWorkbook() Dim lastRow As Long Dim i As Long Dim p As Integer Dim q As Integer Dim erow As Long lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row For i = 2 To lastRow If Cells(i, 12) = "Airfare" Then Range(Cells(i, 1), Cells(i, 16)).Select Selection.Copy Workbooks.Open Filename:="C:\users\andrew.godish\Desktop\Practice Files\masterPracticeExtractDataWBtoWB.xlsx" p = […]