Tag: 循环

如何在VBA中对excel表格进行sorting

嘿家伙我有一张表有不同类别的信息,但表格的布局方式不是按照一天的顺序,它可以是:M,T,F,W,M,F,T 如果你知道我的意思, 那么是否有一种方法来编码这张表来显示他们,顺序是这样的:M,T,W,R(R代表星期四),F 提前致谢

循环浏览除一个工作表外的所有行,并复制具有文本参考的select行

我已经find了下面的代码来复制一个新的工作表中的某一行,但我不能设法通过除“合并”之外的所有工作表循环。 剩下的工作表编号为1-40。 你们有想法吗? Sub CommandButton1_Click() Dim strLastRow As String Dim rngC As Range Dim strToFind As String, FirstAddress As String Dim wSht As Worksheet Dim rngtest As String Application.ScreenUpdating = False Set wSht = Worksheets("1") strToFind = InputBox("Enter Search Criteria") With wSht.Range("A:A") Set rngC = .Find(what:=strToFind, LookAt:=xlPart) If Not rngC Is Nothing Then FirstAddress = […]

Excel VBA – 循环播放文件夹中的文件,复制范围,粘贴在此工作簿中

我有500个Excel文件的数据。 我会将所有这些数据合并到一个文件中。 任务列表来实现这一点: 我想循环一个文件夹中的所有文件 打开文件, 复制这个范围“B3:I102” 将其粘贴到活动工作簿的第一个工作表中 重复,但粘贴下面的新数据 我已经完成了任务1-4,但是我需要帮助完成任务5,最后一点 – 在现有数据下粘贴数据并使其dynamic化。 我在代码中用'####'突出显示了这一点。 这是我从其他人的问题放在一起的代码:) 任何build议如何做到这一点? Sub LoopThroughFiles() Dim MyObj As Object, MySource As Object, file As Variant Dim wbThis As Workbook 'workbook where the data is to be pasted, aka Master file Dim wbTarget As Workbook 'workbook from where the data is to be copied from, […]

循环结束时的逻辑问题

我有一个填充string的列的电子表格。 有时有一个string的几个实例(我已经sorting,所以他们都分组在一起),所以我创build了一个macros,查看列中的当前行,确定它是否已经张贴在第二个工作表,如果有的话,它会移动到下一行,如果它没有发布它,然后继续前进。 它完美的工作,直到完全忽略最后一个条目的结尾。 最后一项是其中有几个相同的string的情况之一,所以问题几乎肯定不是它只是忽略最后一行。 无论重复多less次,它都完全无视最后一个条目。 新vba,所以任何帮助表示赞赏。 Sub RCFS() Dim ProfCtr As String Dim S2FreecellH As Long Dim ProfCenCellH As Long S2FreecellH = 3 ProfCenCellH = 2 ProfCtr = Cells(ProfCenCellH, 4) Worksheets("Sheet2").Cells(S2FreecellH, 1).Value = ProfCtr While IsEmpty(Cells(ProfCenCellH, 4).Value) = False If Cells(ProfCenCellH, 4).Value <> ProfCtr Then Worksheets("Sheet2").Cells(S2FreecellH, 1) = ProfCtr S2FreecellH = S2FreecellH + 1 ProfCtr […]

Excel VBA – 用于分隔工作表的文本文件:对象variables或未设置块variables

此代码(源代码)用于获取多个文本文件,全部位于同一个文件夹中,并在每个文件夹中创build一个单独的工作表。 它适用于一个文件,但是当在第二个文件上执行时,我会在标题中看到错误信息。 我相信所有的variables设置,我已经尝试在循环中设置variables,随着移动增量周围,并更改xTempWb.Sheets(1).Copy xTempWb.Sheets(1).Add 。 我也咨询了一些堆栈溢出问题和MSDN文档。 它跳转到error handling程序的行: xTempWb.Sheets(1).Copy Sub CombineTextFiles() 'update by ExtendOffice 20151015 Dim xFilesToOpen As Variant Dim I As Integer Dim xWb As Workbook Dim xTempWb As Workbook Dim xDelimiter As String Dim xScreen As Boolean On Error GoTo ErrHandler xScreen = Application.ScreenUpdating Application.ScreenUpdating = False xDelimiter = "|" xFilesToOpen = Application.GetOpenFilename("Text […]

循环浏览文件夹中所有Excel工作簿中的所有工作表,以更改所有单元格中文本的字体,字体大小和alignment方式

在我的硬盘上我有一个文件夹包含一些Excel工作簿。 我想要遍历该文件夹中每个Excel工作簿中的所有工作表,以更改所有单元格中字体,字体大小和文本alignment方式。 从我自己有限的VBA知识和从这里阅读其他相关的问题,我已经拼凑了我已经存储在Personal.xls下面的macros。 现在,它似乎循环了工作簿,但它不是在任何文本格式化。 Sub Format_Workbooks() 'This macro requires that a reference to Microsoft Scripting Routine 'be selected under Tools\References in order for it to work. Application.DisplayAlerts = False Application.ScreenUpdating = False Dim fso As New FileSystemObject Dim source As Scripting.Folder Dim wbFile As Scripting.File Dim book As Excel.Workbook Dim sheet As Excel.Worksheet Set source […]

循环遍历同一文件夹中的工作簿,并为所有VBA执行相同的Excel任务

我有超过50个文件需要创build数据透视表和每个文件具有相同的确切forms与不同的内容。 到目前为止,我已经完成了创build数据透视表的代码,并且它在单独运行时工作得非常好,但是,当我尝试在同一个文件夹中运行所有工作簿的代码时失败了。 我不知道发生了什么,为什么它一直显示没有文件可以被发现,尽pipepath名没有错。 Sub DoAllFiles() Dim Filename, Pathname As String Dim WB As Workbook Pathname = "D:\Reports" Filename = Dir(Pathname & "\*.xls*") Do While Filename <> "" Application.DisplayAlerts = False Application.ScreenUpdating = False Set WB = Workbooks.Open(Pathname & Filename) 'open all files PivotX WB WB.Close SaveChanges:=True Application.DisplayAlerts = True Application.ScreenUpdating = True Filename = Dir() […]

循环通过床单不起作用

我正在使用下面的代码 Sub WMC() Dim wb As Workbook Set wb = Workbooks.Open(Filename:="G:\filedirectory.xls") With wb For i = 1 To Sheets.Count Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 4), TrailingMinusNumbers:=True Next i End With ActiveWorkbook.Save ActiveWorkbook.Close End Sub 出于某种原因循环运行,但不会从一个工作表移动到下一个 – 我认为它只是在工作簿中的第一个工作表上运行相同的代码约10倍(因为我有10张)。 如果我删除循环它运行一次并closures,所以代码识别循环,它只是不遵循它。 我已经尝试过上述的变体,但每次都得到相同的问题。 任何想法将不胜感激。 丹科 雷切尔

为什么我的VBA循环开始倒退?

我的代码目前为: Sub delsheets() For i = 1 To 9 Step 1 Worksheets(i + 3).Delete Next i End Sub 我的工作簿总共有12张。 我已经进入了macros,并看到macros执行删除工作表倒退,并在步骤2即使我已经指定步骤1 – 即删除的进展:工作表12,工作表10,工作表8,工作表6,工作表4。 我不知道为什么发生这种情况,我想我的macros以正常的方式执行。 我非常感谢为什么发生这种情况的细分!

从多个CSV文件中抓取一个特定的列并合并成一个

我只想抓取所有csv文件中第4列的数据,并将数据写入单个文件。 每个第4列都有一个唯一的标题名称,其中根文件夹的名称+ csv名称(如FolderA1 FolderA / 1.csv |INFO INFO INFO FolderA1 INFO Apple Apple Apple Orange Apple 2.csv |INFO INFO INFO FolderA2 INFO Apple Apple Apple Cracker Apple 3.csv |INFO INFO INFO FOLDERA3 INFO Apple Apple Apple Orange Apple 我怎么能得到只有第四列的数据过滤到一个.xlsx文件,并有下一个文件夹csv放在一个新的工作表,或从以前的文件夹csv的分开? concentrated.xlsx | FOLDERA1 FOLDERA2 FOLDERA3 FOLDERB1 FOLDERB2 FOLDERB3 ORANGE CRACKER ORANGE ORANGE CRACKER ORANGE