Tag: 循环

遍历目录中的所有xls文件,复制范围,并粘贴到docx文件?

我在一个目录中有大约500个Excel文件。 所有文件在第一张表(相同的大小)上有一个表。 我的客户希望他们都在一个字的文件。 我不是一个VBA专家,尝试使用我在网上find的代码。 我到目前为止已经遍历了目录中的所有文件。 它也select和复制特定范围。 但是,我如何获得转移到word文件? 这是我做的: Sub LoopAllExcelFilesInFolder() Dim wb As Workbook Dim myPath As String Dim myFile As String Dim myExtension As String Dim FldrPicker As FileDialog 'Optimize Macro Speed Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual 'Retrieve Target Folder Path From User Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker) With FldrPicker .Title […]

Excel VBA循环直到

if代码使用F1的值过滤col A和col B ,则使用以下代码 一旦sorting,我将过滤后的值复制到col A ,并将它们粘贴到范围值下。 然后我移动到下一个范围,并使用不同的范围值重复filter(在这种情况下,单元格G1)。 我需要从单元格F1到单元格AH1重复此操作。 我可以使用循环来做到这一点? If Range("F1").Value <> "" Then Selection.AutoFilter ActiveSheet.Range("$A$2:$B" & LastRow).AutoFilter Field:=2, Criteria1:=Range("F1").Value Columns("A:A").Select Application.CutCopyMode = False Selection.Copy Range("F2").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.AutoFilter Range("A1").Select End If If Range("G1").Value <> "" Then Selection.AutoFilter ActiveSheet.Range("$A$2:$B" & LastRow).AutoFilter Field:=2, Criteria1:=Range("G1").Value Columns("A:A").Select Application.CutCopyMode = False Selection.Copy Range("G2").Select ActiveSheet.Paste Application.CutCopyMode = […]

Excel / VBA:如何从多个Excel文件复制数据

我想遍历文件夹中的所有Excel文件,以便对每个文件执行一些操作(所有文件的布局和Sheet1数据都是相同的)。 到目前为止,我有下面的代码给我一个特定文件夹中的Excel文件列表。 我无法弄清楚自己是如何从每个文件复制数据 – 具体而言, 我需要从每个文件中复制范围A10:E50中的数据,然后将其粘贴到当前文件中的页面上 (全部在下面)。 有人可以帮我弄这个吗 ? 我目前的代码: Sub FindFiles() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim ws As Worksheet Set objFSO = CreateObject("Scripting.FileSystemObject") Set ws = Worksheets.Add Set objFolder = objFSO.GetFolder("C:\Users\mo\Desktop\Test-Import\") 'ws.Cells(1, 1).Value = "The folder " & objFolder.Name & " contains the following Excel files:" […]

多个嵌套循环和数组,SubScript超出范围

仍然习惯于处理数组和循环。 有人会用这个来指出这个问题吗? 为了检查它,它是一个简单的循环,检查表1中的a1:a100,并在每张表中检查b1:b100,然后返回表Sheet1中的计数!c1:c100 提前致谢 Private Sub TheLoops() Dim SearchArray() Dim SheetArray() Dim ColumArray() Dim ReturnArray() Dim ModCount As Long SearchArray = Sheet1.Range("a1:a100") SheetArray(0) = Sheet1 SheetArray(1) = Sheet2 SheetArray(2) = Sheet3 ColumArray = ActiveSheet.Range("b1:b100") ReturnArray = Sheet1.Range("c1:c100") ModCount = 0 For I = LBound(SearchArray) To UBound(SearchArray) For L = LBound(ReturnArray) To UBound(ReturnArray) For J = […]

在VBA中使用行parsing器

我试图使用求解器来find182个单元的根,每个单元只依赖于另一个variables,输出单元从O2到O183,可变单元从P2到P183。 我正在尝试更改可变单元格以使输出单元等于1.代码有效,但结果不收敛。 因为我只想要一个固定值1,所以我没有设置MaxMin值。 代码是: Sub Solver() Dim setcellrange As Range, bychangerange As Range Dim i As Long For i = 3 To 5 Set setcellrange = Sheets("AshfordPierce").Cells(i, 15) Set bychangerange = Sheets("AshfordPierce").Cells(i, 16) SolverReset SolverOk SetCell:=setcellrange.Address, ValueOf:=1, ByChange:=bychangerange.Address, Engine:=1, EngineDesc:="GRG NONLINEAR" SolverSolve Next i End Sub 当我使用VBA的解算器function时,它工作,但VBA结果不会收敛。 任何帮助表示赞赏。

初始化N个类对象; VBA

在Excel VBA中工作,我试图初始化类“CUserType”的几个对象的数组,但我有一些麻烦。 我试着在循环中这样做: For count = 1 To size Dim myArray(count) As CUserType Next 但是,看起来VBA希望数组索引是一个常量整数。 现在我试图用一个单独的函数来做到这一点: Sub ititUsers(num As Integer) Dim myArray() As CUserType Redim myArray(1 to num) If num = 1 Then Dim myArray(1) As CUserType ElseIf num = 2 Then Dim myArray(1) As New CUserType Dim myArray(2) As New CUserType ElseIf num = […]

Python,从Excel中拉取语句的循环

我仍然是新的python。 只是想知道是否有一个更简单的方法来完成我的任务。 这是我现在的代码 win = visual.Window([800,800],monitor="testmonitor", units="deg") msg = visual.TextStim(win, text='hello this is a test',pos=[0,+1],color='white') msg.draw() win.flip() core.wait(2) msg = visual.TextStim(win, text='statement 1',pos=[0,+1],color='white') msg.draw() win.flip() core.wait(2) msg = visual.TextStim(win, text='statement 2',pos=[0,+1],color='white') msg.draw() win.flip() core.wait(2) msg = visual.TextStim(win, text='statement 3',pos=[0,+1],color='white') msg.draw() win.flip() core.wait(2) 有没有办法从excel文件中提取语句? 例如:我将有一个循环继续进行,每一轮它将拉动文件中的下一行,而不是必须复制代码,并每次写一个新的语句?

macros复制并粘贴使用循环

我正在试图通过从不同的工作表中复制信息到摘要工作表来做一个总结。 更具体地说,我试图将sheet3中的单元格O3和O4分别复制到sheet1中的单元格D3和E3中。 然后,我想继续前进,并将单元格O3和O4从表单4分别复制到单元格1中的单元格D4和E4,等等通过我的所有表单。 我是macros观编码全新的,所以非常感谢任何帮助,谢谢。 我假设一个人将不得不使用一个循环。 PS工作表是以公司的名字命名的(例如“DataGroup”而不是“Sheet3”)会影响代码吗?

无论if满足,bottom-to-top循环都会删除excel中的每一行

我已经尝试了几种不同的下面的代码来尝试find一个可能的方法。 我最后一次迭代离开了我: Dim D As Range Dim x As Integer, c As Long, lre As Long c = Range("A" & Rows.Count).End(xlUp).Row lre = Sheets("Exception Report").Cells(Sheets("ExceptionReport").Rows.Count, "A").End(xlUp).Row Range("D2:D" & lre).TextToColumns Range("F2:F" & lre).TextToColumns For x = c To 2 Step -1 If -0.1 < CDbl((Cells(x, "D").Value) – (Cells(x, "E").Value)) < 0.1 And -0.1 < CDbl((Cells(x, "F").Value) […]

VBA向上循环一个单元格,直到单元格不等于“”,单元格包含两个中频函数

我对VBA是全新的,我自己也在学习。 这是问题: 在这里input图像说明 所以对于列E如果B =“S”那么E =“”// null 如果B =“F”,那么E =(反向秩x 先前调整秩+故障no + 1)/(反向秩+ 1) 或在公式excel格式 E5 =((D5 * E4)+($ K $ 1 + 1))/(D5 + 1) 所以问题在于以前调整的排名在公式中。 说,要得到E5的价值,它需要E4的价值,但如果E4 =“”,所以它必须向上一个单元格。 如果一个单元向上也是=“”,则它必须再次向上一个单元,直到不等于“>”“。 问题是我不知道什么function是正确的使用。 我认为这将是IF和LOOP,但我不明白如何写条件。 就像我说的,我是全新的,时间的限制让我焦虑不安。 另外,如果你注意到,列E有两个IF函数我想? 一个是E依赖于B列。 如果范围(“B2:B”&lastRow)=“S”或“F”,一个是E =“”或“>” 我如何融入?