Tag: 循环

Excel VBA – 嵌套循环来格式化Excel表格列

到目前为止,我有一个macros,将4个新的表列添加到一个现有的表(“Table1”)。 现在,我想macros以格式的第三和第四行作为百分比。 我想包括在我的代码中已经列出的循环。 我已经尝试了几种不同的方法来做到这一点。 我不认为我很理解UBound函数是如何工作的,但希望你能理解我正在做的事情。 我也不确定是否允许继续在嵌套的For循环中使用WITH语句来处理我的'lst'variables。 @Jeeped – 我正在看你这个又一次…感谢基本上走过我的整个项目哈哈 Sub attStatPivInsertTableColumns_2() Dim lst As ListObject Dim currentSht As Worksheet Dim colNames As Variant, r1c1s As Variant Dim h As Integer, i As Integer Set currentSht = ActiveWorkbook.Sheets("Sheet1") Set lst = ActiveSheet.ListObjects("Table1") colNames = Array("AHT", "Target AHT", "Transfers", "Target Transfers") r1c1s = Array("=([@[Inbound Talk Time (Seconds)]]+[@[Inbound […]

VBA-遍历数组中的string值并确定它们是否与特定文本相同

我有一个excel的数据集很多列。 我正在使用UserForm条目来填充这些列。 但是我也希望能够在用户表单中编写一个现有的ID,并使用从表单中提取的相应数据自动填充useform。 列的顺序可能会改变,所以我不想使用偏移function来做到这一点。 我想在我的代码中做的是做一个数组与所有的列名称(它是相应的文本框中的条目forms命名相同)。 首先,我正在查找该行的ID。 然后我想遍历不同的列,并find它们下面的值对应的ID来填充我的表单。 问题是,我想使用“数组(我)”作为我的用户表单中的文本框的名称,但它不读取它。 例如: 如果我直接写入MRN =单元格(CSN_R,Changing_C),它会填充具有正确数据的条目表单,因为它select“MRN”或“Myarray(0)”下的id行和列号。 但是,如果我使用myarray(0)=单元格(CSN_R,Changing_C),它不….我不知道该怎么做,以使其工作。 Dim CSN_Find As Range Dim CSN_Existing As Range Dim CSN_New As Range Dim CSN_R As Integer Dim Changing_C As Integer ' Look for the CSN value Worksheets("Input Data").Activate Worksheets("Input Data").Rows(1).Find(What:="CSN", LookIn:=xlValues).EntireColumn.Select Set CSN_Find = Selection.Find(What:=CSN.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) ' If it's […]

Excelmacros复制循环中的数据,直到空白行命中错误

我正在试图用VBA编写一个macros,它将把表格中的数据从平铺到“Front End”的表格中复制到另一个名为“Raw Data”的表格中。 这两张表是下面的图片 现在我只是处理上面的绿色表格 这里是我的代码到目前为止复制和粘贴到下一个空行的另一张: Sub transfer() Dim x As Long 'set starting point at row 8 x = 8 Dim BlankFound As Boolean 'defines the sheet the data is being coppied from Dim sourceSheet As Worksheet: Set sourceSheet = ThisWorkbook.Worksheets("Front End") 'defines the sheet the data is being pasted into Dim destSheet As […]

循环单元偏移?

我对VBA非常陌生我已经做了几个macros来帮助加速车间里的工作stream程,使工作表自动化等等,所以请原谅任何冗长的代码,但是这个让我难住了。 我们有一个用于我们的机器的工具表,我想自动化它,当你把一个4位数的代码放到一个单元格中时,例如“1 4 AV”,它会用另一个参数工作表中的更详细的描述填写工具表的各个部分,这里是代码。 Sub toolsheet() 'START box 1—————————————– Dim Box1 As String Dim Box1Array() As String Box1 = Cells(6, "B").Value Box1Array = Split(Box1) 'TOOL DESCRIPTION —————————————- If Box1Array(0) = 1 Then Worksheets(1).Range("C7") = Worksheets(4).Range("G3") Worksheets(1).Range("B7") = 1 ElseIf Box1Array(0) = 2 Then Worksheets(1).Range("C7") = Worksheets(4).Range("G4") Worksheets(1).Range("B7") = 2 ElseIf Box1Array(0) = 3 Then Worksheets(1).Range("C7") […]

将文件循环到主工作表上,但数据保持自我覆盖

我试图在Excel中使用VBA来自动循环一组文件,将其数据粘贴到主电子表格中。 我认为我的代码是正确的,但是有一个大问题。 文件循环和数据拷贝,但是每当另一组数据被粘贴时,它将覆盖先前粘贴的数据。 我需要所有循环文件中的数据一个接一个地填充到主服务器上,而不是一个replace另一个。 我已经粘贴了我在下面使用的代码。 在此先感谢您的帮助! Sub LoopThroughDirectory() Dim MyFile As String Dim erow Dim Filepath As String Filepath = "V:\Purchasing\Grocery\Promos-DF and Grocery Assistants\HHL\HHL 2016\10-October 2016 HHL\Initial\New Folder\" MyFile = Dir(Filepath) Do While Len(MyFile) > 0 If MyFile = "zOctober Master.xlsm" Then Exit Sub End If Workbooks.Open (Filepath & MyFile) Rows("21:100").Copy ActiveWorkbook.Close erow = Sheet1.Cells(Rows.Count, […]

VBA:当提到另一个工作表时,它不被发现

新来的社区,所以请原谅任何错误。 使用VBA我试图在Excel中循环一些表(操作将在稍后添加)。 然而,当SH = 2时,它在第二行遇到了40036的错误,我无法解释。 也许别人可以? (顺便说一下,工作簿目前有5张) For Sh = 1 To ActiveWorkbook.Worksheets.Count If ActiveWorkbook.Worksheets(Sh).Name <> "Overview" Then MsgBox ActiveWorkbook.Worksheets(Sh).Name End If Next

在合并循环中删除错误的行

情况:我想要通过基于第一列值(项目ID号)对行进行求和来合并数据。 如果身份证号码匹配,我希望将行添加在一起,删除重复的行。 我已经写了下面的代码,我遇到了两个问题:1.第一次运行代码时,总是有一些没有被合并的重复项2.如果我再次运行代码,它总结和删除行,即使它们是不重复。 任何帮助将非常感激。 Sub ConsolidateRows() Dim WB As Workbook Dim WS As Worksheet Dim iRow As Long Dim iCol As Long Dim LastRow As Long Dim LastCol As Long Dim duplicate As String Dim dupRow As Long Dim cell As Range Dim i As Integer 'set Set WB = Workbooks("Book1") Set WS = WB.Sheets("Data") […]

我需要运行一个循环,将取出单元格的值,并将其存储在另一个,如果有什么,然后检查下一行

我有代码到目前为止我已经在下面张贴,但正如你可以看到它是非常不足的方法来做到这一点,并没有运行一个循环,不会帮助我,如果我结束不止A22以下的项目。 这里的代码是当我按下一个button时,它将通过工作簿中的每一张表单读取,如果单元格A5有“项目#:”,那么它会看到单元格A19是否有任何东西,如果它将采取什么单元格A19 ,C19,E19,F19和G19,并把它放在名为“数据表”的工作表上。 当前的代码有它,所以它通过A22处理,但我希望它是一个循环自动化,以便它检查单元格A5“项目#:”,如果它发现,然后它检查如果A19是空白的,如果它结束了循环。 如果它有任何types的文本,那么我希望它从列A,C,E,F和G的值,把它放在“数据表”。 然后它将循环到下一个(第20行),并重复它为前一个做的过程。 目前我的代码正确的工作,以获得数据的正确位置,但我的行19-22的IF-ELSE是效率低下,不知道如何编码循环。 Sub NonStoresItems() With Worksheets("Data Sheet") ' Clear previous data on the All projects page .Rows("141:" & Rows.Count).ClearContents For Each ws In ThisWorkbook.Worksheets If ws.Range("A5") = "Project # :" Then If Range("A19") = "" Then Else: x = .Range("A" & Rows.Count).End(xlUp).Offset(1).row .Cells(x, "A").Value = ws.Name 'classifying number .Cells(x, "B").Formula […]

Python:Excel到Web到PDF

我是编程新手,正在寻找从城市网站上抽取一系列水费账单的PDF的最佳方法。 我已经能够打开网页,并能够使用excel列表中的帐号打开帐户,但是,我无法创build循环来运行所有帐户而不重写代码。 我有一些想法,但我猜测存在更好的build议。 请参阅下面的介绍代码: import bs4, requests, openpyxl, os os.chdir('C:\\Users\\jsmith.ABCINC\\Desktop') addresses = openpyxl.load_workbook ('WaterBills.xlsx') type (addresses) sheet = addresses.get_sheet_by_name ('Sheet1') cell = sheet ['A1'] cell.value from selenium import webdriver browser = webdriver.Firefox() browser.get('https://secure.phila.gov/WRB/WaterBill/Account/GetAccount.aspx') elem = browser.find_element_by_css_selector('#MainContent_AcctNum') elem.click() elem.send_keys (cell.value) elem = browser.find_element_by_css_selector('#MainContent_btnLookup') elem.click() 感谢你的协助!

Excel VBA:如何通过基于名称的checkbox循环

我想用excel和vba来build立一个调查。 我有一个问题和答案表。 调查开始后,我的代码将通过覆盖表单上checkbox的标签来列出答案。 我将获取他们的答案,并通过使用checkbox的True或False值将它们写入列中。 variables“aRow”是每个问题的答案数。 “lastAns”是最后一个答案的行号。 根据答案的数量,一些checkbox将被隐藏,显示。 “CheckBox1”到“CheckBox4”是checkbox的名称。 下面的代码工作,但它太长,我想有一个更好的方法循环通过checkbox,并每次更改他们的标签。 请告诉我如何做到这一点! 非常感谢! `lastAns = Cells(qRow, 5).End(xlDown).Row + 1 aRow = lastAns – qRow If aRow >= 1 Then Me.CheckBox1.Visible = True Me.CheckBox1.Caption = Cells(qRow, 5) Else: Me.CheckBox1.Visible = False End If If aRow >= 2 Then Me.CheckBox2.Visible = True Me.CheckBox2.Caption = Cells(qRow + 1, 5) Else: […]