Tag: 循环

我如何在工作表中search代码,现在只searchA行

Sub Sample() Dim oRange As Range, aCell As Range, bCell As Range Dim ws As Worksheet Dim ExitLoop As Boolean Dim SearchString As String, FoundAt As String On Error GoTo Err Set ws = Worksheets("Sheet3") Set oRange = ws.Columns(1) SearchString = "2" Set aCell = oRange.Find(What:=SearchString, LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If […]

需要循环增加到最后一列的公式

我环顾四周,但找不到完全符合我需要的function。 我基本上是做一个替代,但只有在一个X的单元格,并取而代之的是它自己的头的价值 Columns("B:B").Select Selection.Replace What:="X", Replacement:="=B2", LookAt:=xlPart, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Columns("C:C").Select Selection.Replace What:="X", Replacement:="=C2", LookAt:=xlPart, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Columns("D:D").Select Selection.Replace What:="X", Replacement:="=D2", LookAt:=xlPart, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 这一直继续下去,直到最后一列为止。 在这种情况下,它是CD。 这显然是不切实际的,并且是循环的一种方式,其中Replacement:=“= B2”的值在每次通过时只会增加一个列值就是理想的。

嵌套对…下一个循环复制和粘贴几次

我想复制单元格"A2:A" & patientprofiles + 1并将它们粘贴到列D中的第一个未使用的行中(即,列D中已有的内容与我要粘贴的内容之间应该没有空白单元格,但是我也不想粘贴已经有的东西)。 然后我想重复这个过程一个用户定义的次数(这个variables将被称为g1_observations )。 然后,我想将单元格"A" & patientprofiles + 2 & ":A" & 2 * patientprofiles + 1到列D中新的最后使用的行(即,考虑到我刚刚粘贴了patientprofiles个数的单元格g1_observations D列底部的次数。我想继续重复这个过程一个用户定义的次数(这个次数是由variablesnumberofgrids定义的)。 例如 :想象用户已经定义了将有三个网格。 网格1有2个观测值,网格2有3个观测值,网格3有4个观测值。 另外想象一下,病人档案已被设定为40。 如果是这样,单元格D1:D121中就已经有了值,所以我想在D122中开始粘贴。 我想粘贴单元格A2:A41(40个单元格,因为patientprofiles = 40)到单元格D122:D161; 我想粘贴单元格A42:A81到单元格D162:D201,再次粘贴到D:202:D241; 我想粘贴单元格A82:A121到单元格D242:D281,再次粘贴到单元格D282:D321,再粘贴到单元格D322:D361。 我将每个“网格”的粘贴时间less于该网格的观察次数,因为所有网格的第一组观察结果是单元格D2:D121中包含的内容。 最后的例子 我很确定我需要使用一个嵌套的For … Next循环来做到这一点,但我有麻烦的内部和外部循环。 我认为外循环应该是这样的: Dim i as long For i = 0 to numberofgrids – 1 [insert inner loop here] Next 就内循环而言,我并不确定自己在做什么,因为当我从两个网格中粘贴时,它会自动粘贴。 […]

试图通过VBA中的多个单元循环

我在网上search,发现了一些解决scheme,但没有一个对我有意义。 我想知道为什么这个具体不起作用: Dim rng As Range: Set rng = Range("A5:A10") For Each cell In rng Dim contents As String: contents = ThisWorkbook.Sheets("ROI's").Range("cell").Value MsgBox (contents) Next cell (顺便说一下,这是在一个更大的macros观工程) 它一直说错误在第三行

每次循环运行增加一次

每次循环遍历所有表单时,如何让单元格数量增加一个? 我得到它循环通过不同的工作表本身,但我不知道如何将+1添加到单元格值。 for sheet in sheetlist: wsX = wb.get_sheet_by_name('{}'.format(sheet)) ws2['D4'] = wsX['P6'].value 我试图让['D4']变成D5,D6,D7 ..等自动升级到25。

加快匹配值处理(如果… = …然后…)

所以我现在有这样的代码:我基本上是要检查,如果一个工作表的列B可以在另一个工作表的列C中find,那么我会在其他工作表的行中findB值, H列值并将其复制到当前工作表的AI列中。 B列中的每一行都将重复此过程。 我遇到的问题是,它的运行速度太慢,即使closuresscreenupdates等。这是有道理的,因为有超过50000值,它必须循​​环与所有值查找。 我真的很感激,如果有人可以看看它,并提出可能的方法,我可以加快这一进程。 谢谢。 Sub Calculation() Application.Calculation = xlCalculationManual Application.ScreenUpdating = False Application.DisplayStatusBar = False Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False Dim i As Long, LastRow As Long LastRow = Range("A" & Rows.Count).End(xlUp).Row For i = 5 To LastRow Set wb1 = ThisWorkbook Dim anyRow As Long For anyRow = 4 To 500 […]

如何运行一个input框的循环,将数据放在VBA中的不同行上

我有一个电子表格,您按下表格控制button,这将提示一个input框,要求您input非商店项目的名称。 然后,如果你在input框中input某个东西,它会把它放在单元格A19中,然后它会询问你项目的前置时间,并把它放在C19中。 如果您没有在非商店物料input中input任何内容,则不会在提货箱中显示提前期。 我想要发生的是我按下button,它会询问你是否有非商店项目,如果你input任何东西,它将分配给A19,然后问你一个交货时间,并将其分配给C19,然后返回询问你非商店材料的名称,如果你把任何东西都分配给A20,然后提前到C20。 如果您在询问非商店名称时input空白,它将会结束。 我也希望这能够input一些信息,然后你可以按下button,如果在A19有一些价值,它会把它放在下面的行。 这是我目前的代码: Sub Non_stores_material_entering() If ActiveSheet.Range("A19") = "" Then NonStores = InputBox("What is the Non-Stores Material?") Range("A19").Select ActiveCell.Value = NonStores Else: End If If ActiveSheet.Range("A19") = "" Then Else: LeadTimes = InputBox("What is the Non-Stores Material's Lead TIme?") Range("C19").Select ActiveCell.Value = LeadTimes End If End Sub 这是一个视觉目的。 非商店电子表格图片

使用范围中的下一个date循环sql代码

我正在使用以下VBA脚本根据工作表单元格值(“SOURCE”)。range(“C2”)中的date生成一些系统数据。 有没有办法循环sql脚本,并重复使用范围中的下一个date的代码(date将列在表“源”,列E)。 到达空白单元格时,循环应该结束? 每组数据应填充在“数据”表中的最后一组结果之下。 Sub DATA() Sheets("DATA").Select Cells.Select Selection.Delete Shift:=xlUp Range("A1").Select Dim SQL As String Dim orasession As Object Dim oradatabase As Object Dim dyprod As Object Dim Row As Long Application.ScreenUpdating = False Set orasession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraSession Object. ( Oracle ) Set oradatabase = orasession.DbOpenDatabase("thal_cnded.world", "bde_rep/report", 0&) 'Create the OraDatabase Object […]

把Excel循环放入Stata

我正在尝试从Stata到Excel中提取融入到Forvalues“Loop”中的值。 forvalues i = 20(5)40 { forvalues x = 0(5)10 { local xlsrow = 2 putexcel A`xlsrow'=("`i'_`x'") using results, sheet("individuals") modify local xlsrow = `xlsrow'+4 } } 在第一个阶段,我只想把variablesi和x的不同组合写入A列。不幸的是,我收到的唯一结果是A2行中的最后一个组合40_10。 所以不知何故,我必须在当地的xlsrow有一个问题,但我无法弄清楚。 帮助非常感谢!

通过数组高效循环

我有一列我想用首字母replace的全名。 我目前正在这样做: Dim n As Long Dim varray As Variant Dim FullNameRange As Range Dim FullName As String varray = Range(NDLstaffCol & FirstLineItemRow & ":" & staffCol & LastRow + 1) For n = FirstLineItemRow To UBound(varray, 1) Set FullNameRange = ActiveSheet.Range(staffCol & n) FullName = FullNameRange.Value FullNameRange = Left(FullName, 1) & Mid$(FullName, InStr(FullName, " […]