Tag: 循环

更新string时调用循环vba excel的子

你好! 我在我的项目上有一个循环,在循环内,我调用一个子(Stcount)来计算一个元素的列号。 这个子进给一个string(ststring),每个循环都会改变。 但是,子(Stcount)似乎并不能识别string(ststring)中的更改。 首先,我首先定义一些我将用于这个序列的variables Public counterSt As Integer Public ststring As String Public rng As Range Public rng2 As Range 在这个子节中,我定义了将作为我的子基础的string Sub test() Dim Stx(9) As String Stx(1) = "Stx1" Stx(2) = "Stx2" Stx(3) = "Stx3" Stx(4) = "Stx4" Stx(5) = "Stx5" Stx(6) = "Stx6" Stx(7) = "Stx7" Stx(8) = "Stx9" Stx(9) = "Stx10" […]

VBA问题 – 遍历每个工作表

我有一个循环逻辑的macros,我从另一个stackoverflow / ms支持页面复制,但它似乎并没有工作。 我没有经验的VBA,所以我很难找出为什么'循环通过所有工作表'部分不起作用。 任何人都可以看看我的代码,并告诉我如何解决? Sub HideEmptyRows() Dim rngName As Range Dim cell As Range Dim ws_count As Integer Dim i As Integer ws_count = ActiveWorkbook.Worksheets.Count For i = 1 To ws_count Application.ScreenUpdating = False For Each Current In Worksheets ' This code hides the adv and group merch rows For Each cell In Range("eq29", […]

从Array数据访问网站页面,检索ElementID,填充新数组

目的 提取各种货币的汇率数据。 APPROACH select活动工作表并将待转换货币复制到数组中(例如[“EUR”,“GBP”,“USD”] 打开浏览器并访问货币转换网站 循环使用不同的货币并提取货币转换因子 将转换因子附加到数组 用最新的转换因子重新devise优秀 码 Sub retreiveCurrencies() Dim ws As Worksheet Dim locals() As Variant Dim exchangeArray() As Variant Dim i As Long Dim IE As Object 'Select currencies to convert Sheets("APPENDIX – CURRENCY CONVERTER").Activate locals = Array(ActiveSheet.Range("B2:B15")) 'This should return locals = ["EUR", "GBP, "USD"] 'Prep Internet Explorer Set IE […]

Excel循环VBA递增行

嗨,我有一段代码,我正在尝试写一个循环,但我正在努力如何去做。 这部分代码运行良好。 但我实际上有4个单元格,即C26,C91,C156和C221。 (请参阅代码中的容器1注释) 我设法让它循环,但是我的下面的引用(如B33,C33,D33等)只是写在上面。 反正有写一个循环,可以递增所需的65行所有的后续代码? 我真的很想学习如何做到这一点,而不是复制和粘贴4次,手动更新引用! Private Sub RunStabSetup() ' Confirmation of Entry to Form If MsgBox("Have you double checked your data is correct and ALL test points have been selected before entering on the spreadsheet?", vbYesNo) = vbNo Then Exit Sub Application.ScreenUpdating = False Application.Worksheets("Req Sheet").Range("C83") = " " If Container1CB.Value > "" […]

MS Excel VBA – 循环遍历行和列(如果为空则跳过)

你好,stackoverflow社区, 我必须承认我主要是在MS Access中的代码,并且对MS Excel VBA有非常有限的经验。 我目前的目标是这样的,我有一个费用报告发送给我与扣除在另一个国家的货币,这个报告有很多列不同的帐户名称可能会填充或可能为空。 我目前有一个macros,将打开一个input框,并要求HostCurrency /美元汇率,我的下一步将开始在第一个logging(第14行;列AK包含扣除个人信息),然后跳到第一个扣除科目(扣除科目开始在列L和跨度列DG)检查每个单元格是否为空,如果它继续向右移动,如果它包含一个值,那么我想乘以我的FX利率variables在input框中input,并用收敛来更新单元格。 一旦最后一列(DG)被执行,我想移动到下一行(第15行),并一直重新开始这个过程,直到我的“已用范围”中的“LastRow”。 我非常感谢任何反馈,解释或链接,可能指向我的目标。 提前感谢您花时间阅读这个!

清除范围内的所有隐藏的单元格

非常简单的问题。 我不断收到错误消息和Excel崩溃。 我的代码有什么问题: Sub Clear() Dim c As Range For Each c In ActiveSheet.Range("HeatPump1").Cells If c.EntireRow.Hidden = True Then c.Clear End If Next c End Sub

使用行范围来调暗数组,并使用数组遍历For循环

请看我的示例数据和代码,以了解我正在尝试做什么。 我需要使用Cells(,3)的值来定义一个范围来填充一个Trialnumber(18)数组。 我需要数组遍历一个For循环, 对每个试验的 H列中的已填充单元格进行计数,并在每个试验 的最后一行的列T 中打印计数。 我将来还需要这个数组进行进一步的数据分析(除非有人能想出更好的解决scheme)。 目前我正在试验3个代码模块,试图获得所需的解决scheme。 模块2是唯一一个没有错误,并打印在正确的单元格中的值,但它是打印总填充细胞计数(562),而不是每个试验 (预期值= 1或2)。 模块1如下: Sub dotcountanalysis() Dim startpoint As Long startpoint = 1 Dim lastrow As Long lastrow = Cells(Rows.Count, 3).End(xlUp).Row Dim i As Long With Worksheets("full test") For i = 1 To 18 For n = startpoint To lastrow + 1 If Cells(n, 3).Value <> […]

将剪贴板粘贴到新的工作簿VBAmacros

我试图循环浏览文件夹中的文件,从每个文件复制未知大小的数据,并将它们全部粘贴到一个新的工作簿中。 我似乎无法得到剪贴板粘贴正确,因为它总是给我一个运行时错误9,下标超出范围。 Sub LoopThroughFiles() Dim StrFile As String StrFile = Dir("filepath") Dim wb As Excel.Workbook Dim itemized As Excel.Workbook Dim dump As Excel.Workbook Do While Len(StrFile) > 0 MsgBox StrFile Set dump = Workbooks.Open("dump.xlsx") Set wb = Workbooks.Open("StrFile") Set wb = ActiveWorkbook Worksheets("DATA2").Visible = True Worksheets("DATA2").Activate Application.Goto Reference:="R1C1:R98C1" Selection.EntireRow.Delete Range("A1").Select ActiveCell.CurrentRegion.Select Selection.Copy Application.Wait DateAdd("s", 1, […]

MS Excel VBA – 循环遍历行和列

你好,stackoverflow社区, 我必须承认我主要是在MS Access中的代码,并且对MS Excel VBA有非常有限的经验。 我目前的目标是这样的,我有一个“费用报告”被发送给我扣除,这个报告有许多列不同的帐户名称可能会填充或可能为空。 我的第一步是从第一条logging开始(第14行; AK列包含有关扣除的个人信息),然后跳到第一个扣除科目(扣除科目开始于列L并跨越列DG),检查每个单元格是否为空如果存在价值,则需要将其复制到从第2行(J栏扣除本身)开始的外部工作簿“工资单模板”中,并将其中的某些个人信息与该扣除有关的“费用报告”中的原始行(currRow:从“费用报告”到“工资模板”栏B,C,D的C,E,F列)。 然后向右移动,直到下一个单元格包含一个值,然后在“工资单模板”中的新行上重复此过程。 一旦最后一列(DG)被执行,我想移动到下一行(第15行),并一直重新开始这个过程,直到我的“已用范围”中的“LastRow”。 我非常感谢任何反馈,解释或链接,可能指向我的目标。 提前感谢您花时间阅读这个! 代码的当前状态: `< Sub LoadIntoPayrollTemplate() Dim rng As Range Dim currRow As Integer Dim UsedRng As Range Dim LastRow As Long Set UsedRng = ActiveSheet.UsedRange currRow = 14 Set wb = ActiveWorkbook '"Expense Report" Set wb2 = MyFilepath '"Payroll Template" 'Copied from another procedure, […]

ReDim不在里面for循环,没有数组大小的重述

我有下面的代码,问题是数组大小“varray”没有更新每次插入一个新行,我知道这通过检查varray的值每次通过Excel中的代码插入一个新行。 这意味着代码将停在固定数组的末尾。 我试图在多个点,以查看是否工作,但它没有。 Sub test() Dim i As Long Dim numbers() As Integer Dim varray As Integer varray = Sheets("Original").Cells(Rows.Count, "A").End(xlUp).Row ReDim Preserve numbers(varray) For i = 10 To varray ReDim numbers(varray) If Cells(i, 16).Value <> "" Then Cells(i + 1, 16).EntireRow.Insert Cells(i + 1, 1).EntireRow.Value = Cells(i, 1).EntireRow.Value Cells(i + 1, 6).Value = Cells(i, […]