Tag: 循环

VBA脚本复制下一个工作表中的列并粘贴到第一个工作表中的下一个空列

我需要为以下情况写一个简短的VBA脚本。 工作簿包含多个工作表。 第一张是汇总表。 汇总表后面有不规则数量的表单,其中包含我想要在汇总表上显示的信息。 信息总是在“B栏”中。 该脚本应复制每张纸的“B列”,并将其粘贴到汇总表中的下一个空列。 换句话说,它应该复制“工作表2”中的“B列”并将其粘贴到“工作表1”中的下一个空列,然后复制“工作表3”中的“B列”并再次粘贴到下一个空列“Sheet 1”等 所有的帮助表示赞赏,谢谢!

“对于每个”如果语句循环问题

*这是Excel的VBA这可能只是我的一个愚蠢的逻辑错误,但我一直在这个工作了几个小时,我似乎无法弄清楚: 我有一个需要访问两个链接的网页。 这两个链接每天都在变化,但始终有相同的开始顺序(例如…. Google网站几乎总是以“ http://www.google.com ”开头) 我有代码search所有“a”的HTML标签的链接,其中有一定的文字(如“谷歌”)。 如果find链接,我需要点击链接,然后返回 (通过objIE.Back)并继续循环顺序而不重置 。 这是我遇到的最后一部分。 我的代码抓住了它看到的第一个链接,做我希望它做的事情,然后回来, 但似乎并没有记住它已经处理了第一个链接 ,它只是不断重复第一个链接的发现。 任何人都可以看看我有什么,并告诉我哪里出了错? 编辑:我已经用我当前的代码更新了愚蠢的循环和“结束”删除。 同样的事情正在发生。 我哪里做错了? Sub Button17_Click() Dim objIE As SHDocVw.InternetExplorer Dim OrgBox As HTMLInputElement Dim ticketnumber As String Dim Error As String Dim subaccnum As String Dim IEURL As String Dim button As Object Dim ele As Object Dim NodeList As […]

在Excel VBA中引用公式数组中的string

在索引公式数组中需要一些引用string的帮助 我的代码如下: Sub Loop_Test2() Dim i As Long Dim j As Long Dim CountAll As Long Dim CountXL As Long Dim CustomerName As String ActiveSheet.Range("A1").Activate CountAll = ActiveSheet.Range("A35") For j = 1 To CountAll i = 2 CountXL = Cells(i, j).Value For i = 1 To CountXL CustomerName = Cells(1, j).Value 'MsgBox CustomerName Cells(i + […]

在索引单元格属性中引用Excel VBA中的string值

VBA新手这里有一个基本的问题,我一直在努力寻找答案: 我试图在VBA中查找一个string(或单词)的循环,如果find这个单词,一个指定的字母必须出现在它旁边列的单元格中。 当我使用一个特定的单元格引用(例如Cells(72,10))时,这个工作正常,但是当我尝试使用一个索引(例如Cells(i,10))来循环它时,它给出了错误13-types的不匹配。 我正在查找的“string”是从Excel中作为基本计算函数写入的另一个macros的输出(“峰”或“谷”)。 错误是由于尝试引用不同于“单元格”function可识别的数据types的结果吗? 还是有更好的方式来运行我的循环? 以下是macros和我的循环。 Function FTrough(tmin2, tmin1, t, tplus1, tplus2) If t < tmin2 And t < tmin1 And t < tplus1 And t < tplus2 Then FTrough = "Trough" Else FTrough = "" End If End Function 和循环“: Sub Lookup() Dim i As Integer Dim j As Integer Dim c As […]

如果满足条件,则循环剪切和粘贴

我试图循环以下 Dim x As Integer Dim y As Integer x = Range("AE4") y = Range("AD4") If x >= y Then Range("AE4").Select Selection.Copy Range("AD4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Else End If 一旦这个单元格AE4已被检查,然后复制或不复制它是更大或= AD4我希望这个,然后移动到AE5,AE6等到数据集的末尾。 任何想法接下来我需要做什么? 我现在已经执行了脚本的其余部分,然后再检查一个单元格date是否低于4周,然后是5周,6周大到10周。 并正在按预期方式工作,检查单元格的date,然后检查和复制数据中的第一个单元格。 完整的脚本如下。 Sub Test() Range("AE4").Select ActiveCell.Formula = _ "=IF(RC[-2]>=TODAY()-28,""1"",IF(AND(RC[-2]<TODAY()-28,RC[-2]>=TODAY()-35),""4"",IF(AND(RC[-2]<TODAY()-35,RC[-2]>=TODAY()-42),""5"",IF(AND(RC[-2]<TODAY()-42,RC[-2]>=TODAY()-49),""6"",IF(AND(RC[-2]<TODAY()-49,RC[-2]>=TODAY()-56),""7"",IF(AND(RC[-2]<TODAY()-56,RC[-2]>=TODAY()-63),""8"",IF(AND(RC[-2]<TODAY()-63,RC[-2]>=TODAY()-70),""9"",IF(RC[-2]<TODAY()-70,""10""))))))))" Range("AE4").Select Selection.AutoFill Destination:=Range("AE4:AE200") Range("AE4:AE200").Select Dim x As Integer Dim […]

遍历列和行

我有一个由多列组成的Excel工作表。 在每一列中有多行 – 不总是相同的行数,但从来没有更多,然后从第8行到第208行。我需要在新列中的每列的所有值作为一个有序列表,从第3列开始(是C )直到第23栏(即Z)。 我需要这个新的列(位于同一张表的AB位置)与所有值和没有空行,因为它是一个下拉列表的来源。 这是,我到目前为止,但它不起作用: Sub createDDICListe() Dim c Dim counter Dim cnt Dim Start Dim Ende Start = 8 Ende = 208 counter = 8 cnt = Start Set Spalten = ["C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", […]

IF声明的第一部分被忽略

我在VBA中有下面的IF语句,但是语句的“删除”部分或者ElseIf之前的那个部分被完全忽略了: For i = 3 To (customerNum + 3) If Sheets("Reports").Range("L" & i).Value = "A" Then Sheets("Reports").Range("G" & i & ":M" & i).Select Selection.Delete Shift:=xlUp ElseIf Sheets("Reports").Range("L" & i).Value <> "A" Then Sheets("Reports").Range("J" & i).Value = form1_1 & i & form1_2 Sheets("Reports").Range("J" & i).NumberFormat = "d-mmm-yy" Sheets("Reports").Range("M" & i).Value = form2_1 & i & form2_2 […]

范围循环,其中一个单元格的值是空白的

我已经设定了一个范围。 该范围中的一些单元格具有值,且很多单元格不具有值,它们是空白的。 我有一个范围循环需要时间,因为它处理每个单元格: For Each cel1 In rngsh1 以上处理范围内的所有单元格。 范围循环只处理非空白单元格的确切语法是什么? 就像For Each cel11 in rngsh1 and not nothing我知道这个语法是错误的,但我正在寻找一个正确的。

不能为循环分配数组错误

我想要这个代码过滤出一些不同的值,并将结果复制到一个新的电子表格中,将其保存为个人姓名(带有date),然后将其作为附件发送。 我有两个数组,一个包含名称,另一个包含电子邮件。 不过,我遇到了一些问题。 我得到一个错误'不能分配给数组':JCMails = Array(“x@rvant.co.uk”,“Y@rvant.co.uk”)。 Sub LOOKUP() Dim myFilename As String Dim JCNames(2) As String Dim JCMails(2) As String JCNames = Array("x", "Y") JCMails = Array("X@rvnt.co.uk", "Y@rvnt.co.uk") Dim i As Long Dim j As Integer j = 0 For i = 0 To UBound(JCNames) myFilename = JCNames(i) & Format(Now(), "ddmmyyyy") Range("G1").Select ActiveSheet.Range("A:N").AutoFilter Field:=7, Criteria1:=JCNames(i) […]

创build循环来创buildPostgreSQL列

我有一个csv文件中的320列的数据集,其中头是简单的旅行的数量。 每一列代表一次旅行,一条从A到B的街道名称路线(这是一个简单的列表,我用excel转换来创build行程号码)。 我想将其导入到PostgreSQL表中。 我看到以前的类似问题 ,但因为它只有320,我不知道这是否是最好的结构,如果是的话,如何循环创build列以便通过pgAdmin插入数据。 我想到目前为止,这返回错误信息: DO $do$ BEGIN FOR i IN 1..320 LOOP INSERT INTO runs (col_i, col_id) — use col names SELECT i, id FROM tbl; END LOOP; END $do$; 非常感谢