Tag: foreach

通过我的checkbox,For Each Next循环的顺序是什么

我有大约20个矩形布置的checkbox。 我如何知道我的代码通过For Each循环循环的顺序是什么? 我已经确认它不是CheckBox1,CheckBox2,CheckBox3等

使用VBA循环浏览工作簿中的所有图表

我正试图循环遍历工作簿中的所有图表。 为什么选项1工作,但选项2不是? '选项1 For Each sht In ActiveWorkbook.Worksheets For Each cht In sht.ChartObjects MsgBox (cht.Name) Next cht Next sht “OPTION2 Dim oChart As Chart For Each oChart In Application.Charts MsgBox (oChart.Name) Next oChart End Sub

VBA excel:对于..下一个不会通过选定的范围?

我正在尝试运行我的代码: Sub Test() Dim vuosi As Integer Dim kk As Integer Dim cF As Range Dim c As String Dim cell As Range vuosi = Application.InputBox(Prompt:="Syötä vuosi, jota haluat tarkastella.") kk = Application.InputBox(Prompt:="Syötä kuukausi(1-12), jota haluat tarkastella.") If vuosi = 2014 Then c = "BU" ElseIf vuosi = 2015 Then c = "CG" ElseIf vuosi […]

total = total + ActiveCell.Value不适用于每个循环

我有这个代码,我想在另一个工作表中查找一些单元格,如果他们匹配条件,然后添加一个相邻的单元格总数,返回到单元格函数被调用。 Function collectUtfall(A1 As String, Ax As String) Dim rng As Range Dim total As Long: total = 0 Set rng = Sheets("Utfall").Range("M2:O272") Dim cell As Range For Each cell In rng If StrComp(cell.Offset(0, 1).Text, Ax, vbTextCompare) = 0 Then total = total + ActiveCell.Value Else End If Next collectUtfall = total End Function 问题是执行时出现“循环引用”错误。 […]

VBA:对于wRange中的每个wCell

我遇到For Each循环的问题。 我试图使用循环: wRange = Range(Cells(5, countryCol), Cells(lastrow, countryCol)) For Each wCell In wRange If wCell = "Unknown" Then wCell.Offset(0, 3).Value = "Follow up with receiving" wCell.Offset(0, followUp – countryCol) = "Send to receiving" End If Next 当我将variables定义为: Dim wRange As Range Dim wCell As Range 我得到一个运行时错误的Object variable or With block variable not set在行上 wRange […]

Excel VBA:在“For Each”块中合并迭代组

我发现两个数组的连接/附加对于我的例子来说太麻烦了。 但是如何在单个块中使用For Each遍历两个表单数组(如何缩短下面的代码)? arr1 = Array("Sheet2", "Sheet3") arr2 = Array("Sheet5", "Sheet6") For Each sh In Sheets(arr1) sh.Visible = True Next sh For Each sh In Sheets(arr2) sh.Visible = True Next sh

SSIS:ForEach循环容器:使用Uniforn列循环显示Excel工作表,但工作表名称不同

如果Excel中的所有数据和列都是统一的,但每个工作表都有不同的名称,这是否会破坏我的ForEach Loop Container ?

更改公式中的引用对于循环中的每个单元格

我有一个子程序将索引/匹配应用到7个单元格的范围内,查找一个命名范围,并将不同的索引值应用到每个单元格中的公式。 我有一个工作的版本,但我想减less我的代码,所以我没有一个漫长而笨拙的子。 我确信有一种方法可以让它在For Each Cell循环中工作,但是对于我来说,我无法弄清楚它是如何工作的。 我可以使用vlookup来解决这个问题,但是我相信当查看大范围的数据时,索引/匹配是一个更好的解决scheme(我的命名表超过了10k行) 以下是我的实际工作,但有点长: Range("C38:F38").Select Selection.MergeCells = True Selection.Formula = ("=IFERROR(INDEX(MAIN_DATA[NAME],MATCH($D$10,MAIN_DATA[PURCHASE_ORDER_ID],FALSE),0),"""")") Range("C39:F39").Select Selection.MergeCells = True Selection.Formula = ("=IFERROR(INDEX(MAIN_DATA[infodyn_DELIVERY_ADDRESS.ADDRESS_1],MATCH($D$10,MAIN_DATA[PURCHASE_ORDER_ID],FALSE),0),"""")") Range("C40:F40").Select Selection.MergeCells = True Selection.Formula = ("=IFERROR(INDEX(MAIN_DATA[infodyn_DELIVERY_ADDRESS.ADDRESS_2],MATCH($D$10,MAIN_DATA[PURCHASE_ORDER_ID],FALSE),0),"""")") Range("C41:F41").Select Selection.MergeCells = True Selection.Formula = ("=IFERROR(INDEX(MAIN_DATA[infodyn_DELIVERY_ADDRESS.ADDRESS_3],MATCH($D$10,MAIN_DATA[PURCHASE_ORDER_ID],FALSE),0),"""")") Range("C42:F42").Select Selection.MergeCells = True Selection.Formula = ("=IFERROR(INDEX(MAIN_DATA[infodyn_DELIVERY_ADDRESS.TOWN],MATCH($D$10,MAIN_DATA[PURCHASE_ORDER_ID],FALSE),0),"""")") Range("C43:F43").Select Selection.MergeCells = True Selection.Formula = ("=IFERROR(INDEX(MAIN_DATA[infodyn_DELIVERY_ADDRESS.COUNTY],MATCH($D$10,MAIN_DATA[PURCHASE_ORDER_ID],FALSE),0),"""")") Range("C44:F44").Select Selection.MergeCells = True Selection.Formula = […]

每个循环的Excel VBA跳过checkbox

我在Excel中正在做的待办事项列表有问题。 目前,我正在尝试创build一个VBA代码,只要单元格中的值发生更改,就会更新单元格内部填充颜色。 换句话说,F列包含项目的到期date。 如果该项目到期,那么整行的颜色应该是红色的。 如果该项目从那时起超过30天,应该是绿色的,并在两者之间不同的停留。 待办事项列表应该是dynamic的。 即用户可以随时添加新的行。 由于VBA无法知道最后一行数据的位置,因此我已将代码设置为依赖列表最左侧的checkbox的位置。 我会张贴一个图片,但是我刚刚开始,所以我还没有这个能力。 本质上,行2中有一个标题行,从列B开始有6个列,转到列G,“检查,状态,任务,注释,到期date”。 有12个参赛作品的列表。 条目1-11工作正常,并代表一行可以11种不同的可能颜色。 第12行从第11行拖放,并包含所有function和checkbox。 在调用VBA时,行12不会更新。 我的代码使用For Each循环遍历列表中的每个checkbox,并根据截止date更新颜色。 对于大多数的checkbox,它的工作正常,并始终位于msgbox表明它正在通过循环罚款。 但是,当我添加一个新行时,通过select整个行并在工作表中拖动它,VBA代码停止只识别新的checkbox。 它可以遍历所有的框,除了新的框。 我也附加了我的VBA代码。 如果任何人可以告诉我如何解决无法识别的(非爱)checkbox,我将不胜感激! 检查更新的代码此代码位于VBA的Worksheet1部分中,不在其他模块中。 Private Sub Worksheet_Change(ByVal Target As Range) Application.Volatile True Application.ScreenUpdating = False Call Checkbox_Due_Color Application.ScreenUpdating = True End Sub 代码设置范围和作为决策处理程序我相信问题是在这个代码中的循环。 MsgBox myCheckboxLoc.Address最后一个checkbox不会触发。 这位于第2单元。 Option Explicit Sub Checkbox_Due_Color() '=============================================================== 'Determines how to update the color […]

对每个循环使用Range Cells和UsedRange

我有xlsx数据库提取。 我写了一个代码遍历工作表,并将各个单元格/字段写入pipe道分隔的文本文件。 首先,代码忽略了以“空白”值开始的行之后的所有行。 我纠正了使用UsedRange。 然后,另一个问题开始 – 文件具有“固定”的列数,但有时,最后3个单元格是空白的。 在这种情况下,它不起作用 – 它会在最后忽略空白单元格。 我相信这个问题是在每个循环的第二行(与myField); 我花了5个小时的search,使用帮助,尝试与范围,单元格,结束(xxx)不同的组合,并不能解决它。 谁能帮忙? 最后,代码必须遍历整个matrix,但是在第一列和最后一列可能有空白值。 我粘贴下面的代码部分。 For Each myRecord In myWkSheet.Range("A1:A" & myWkSheet.UsedRange.Rows.Count) With myRecord For Each myField In myWkSheet.Range(.Cells, myWkSheet.Cells(.Row, myWkSheet.Columns.Count).End(xlToLeft)) RplcText = myField.Text RplcText = Replace(RplcText, "|", "/") 'Replaces pipes from input file to slashes to avoid mismatches during ETL sOut = sOut & […]