Tag: 循环

循环有一个做,但程序说,没有

对于我正在编写的一段代码,我有一个简单而令人愤怒的问题。 无论出于何种原因,它坚持说,尽pipe明确地处于顶端,我仍然没有为我的循环做好准备。 也许我在写if语句的时候做了一些事情,但是我不这么认为。 如果你能看到它,帮助我,这将是伟大的。 大部分的代码是一堆If,那么,GoTo语句就可以随意浏览它。 Do While Cells(i, "B").Value <> "" 'X Block If Cells(i, "B").Value = "U" Then GoTo U1: ElseIf Cells(i, "B").Value = "C" Then GoTo C1: ElseIf Cells(i, "B").Value = "A" Then GoTo A1: ElseIf Cells(i, "B").Value = "G" Then GoTo G1: End If 'UX Block U1: If Cells(i + 1, "B").Value […]

循环浏览工作表并检查单元格值

我试图遍历所有工作表并逐一检查,并执行以下操作:如果在选中的单元格中,E18的值= N / A,则在第一个工作表(名为Summary)中,将G23的值更改为N / A以及(然后做每个单元格,并在总结改变G23然后G24然后G25等)我写了下面的循环,它运行,但它什么都不做 Sub MyTestSub() Dim ws As Worksheet LastRow = Cells(Rows.Count, "G").End(xlUp).Row For X = 22 To LastRow For Each ws In Worksheets If ws.Range("E18").Value="N/A" then ThisWorkbook.Sheets("Summary").Range("G"&x).Value="N/A" Next ws Next x End Sub 任何帮助,将不胜感激!

循环macros复制和粘贴,然后打印

我需要为这个macros创build一个循环: Sub Site_No() ' Site_No Macro ' Keyboard Shortcut: Ctrl+Shift+J Range("D2").Select Selection.Copy Sheets("Spray Sheet").Select Range("F5:J6").Select ActiveSheet.Paste ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End Sub 理想情况下,我想循环从D2 – D79。 如果有人能告诉我在哪里放置循环,我会非常感激 奥利

尝试创build一个循环,根据单元格值将行移动到不同的工作表

我试图做一个循环检查string(由用户定义)在列“A”中的所有单元格,并削减单元格“A”不包含string,并将其移动到另一个工作表(Cml )我有下面的代码运行没有任何错误消息,但它似乎并没有做它应该的。 Sub PSFormat() Dim cb As Shape Dim Cml As Worksheet Dim Aud As Worksheet Dim z As Long, LastRow As Long Dim myDate2 As String Set Aud = Worksheets("CURRENT") Set Cml = Worksheets("OLD") myDate2 = InputBox("Please enter the date you are reviewing in yyyy-mm-dd format") With Aud LastRow = Aud.Cells(.Rows.Count, "A").End(xlUp).Row ' get […]

在VBA中循环单元格。

我正在努力使自己的代码更好,因为每个初学者都有问题使其更“系统化”,所以我想请教你如何去做。 我打开几个工作簿,所以现在我的macros看起来像这样。 Sub OpenWorkbooks() workbooks.Open Filename :="C/…/file1.xlsx" workbooks.Open Filename :="C/…/file2.xlsx" workbooks.Open Filename :="C/…/file3.xlsx" . . End sub 它相当丑陋,我想在一个单元格中的每条path。 假设从A1到A3并循环这个单元格以打开工作簿。 任何想法我怎么能做到这一点? 在我的代码的其他部分,很好地发现在网上,我有同样的问题。 我希望能够在我的电子表格的某处input我的path,然后从那里循环,而不是一个接一个手动input… 这是代码的第二部分,相当无知我该怎么做… Sub GetNumber() Dim wWbPath As String, WbName As String Dim WsName As String, CellRef As String Dim Ret As String Workbooks("file1").Close SaveChanges:=True wbPath = "C:/etc…." WbName = "file1.xlsx" WsName = "Sheet1" CellRef […]

VBA什么是循环增量的最佳途径

例如,我需要x将范围B11:复制到G20,然后将其粘贴到C10作为第二个循环,这将是一个很好的方法来增加每个范围。 每个variables有不同的增量。 我使用Excel 2010 任何帮助表示赞赏,因为我与Visual Basic可怕。 Dim i As Range, j As Range, k As Range Dim x As Range, y As Range Dim Num As Integer Num = 94 Set x = Sheets("Sum Data").Range("B1:G10") Set j = Sheets("PNA Physical Needs Summary Data").Range("C4") Set i = Sheets("PNA Physical Needs Summary Data").Range("B4:B9") Set k = Sheets("Sum […]

Excel VBA:循环在ActiveSheet中的单元格

我试图循环通过指定数量的单元格(由宽度和高度定义),但我遇到了问题在这里。 它一直在拖延我,然后感到不安: If .Cells(11 + row, col).Value > maxVal Then 它给了我一个“应用程序定义或对象定义的错误” 任何人都可以告诉我,我的错在哪里我的代码: Sub ApplyFilter() Dim maxVal As Double Dim minVal As Double maxVal = ActiveSheet.Range("D10").Value minVal = ActiveSheet.Range("D11").Value Dim width As Integer Dim height As Integer width = ActiveSheet.Range("L3").Value height = ActiveSheet.Range("L4").Value Dim row As Integer Dim col As Integer ActiveSheet.Select With Selection row = […]

与求解器VBA循环

您好我有以下的代码,运行一个单一的优化,通过求解器,我想循环运行。 单个运行代码是: Sub Macro4 SolverReset SolverOk SetCell:="$D$36", MaxMinVal:=2, ValueOf:="0", ByChange:="$D$7:$R$7" SolverAdd CellRef:="$S$7", Relation:=2, FormulaText:="1" SolverAdd CellRef:="$D$7:$R$7", Relation:=1, FormulaText:="$D$6:$R$6" SolverAdd CellRef:="$D$7:$R$7", Relation:=3, FormulaText:="$D$5:$R$5" SolverAdd CellRef:="$D$37", Relation:=2, FormulaText:="$D$41" SolverOk SetCell:="$D$36", MaxMinVal:=2, ValueOf:="0", ByChange:="$D$7:$R$7" SolverSolve UserFinish:=True SolverFinish KeepFinal:=1 Range("D37").Select Selection.Copy Range("E41").Select ActiveSheet.Paste Range("D36").Select Application.CutCopyMode = False Selection.Copy Range("F41").Select ActiveSheet.Paste Range("D36").Select Range("D7:R7").Select Application.CutCopyMode = False Selection.Copy Range("I41").Select ActiveSheet.Paste End […]

如何使用VBA中的Do Until循环来select当前date的第一行

我有一个Excel格式的date在6/27/2013格式的每行的Excel表。 我希望能够select今天的当前date开始的工作表中的所有行,所以我写了下面的代码: CurrentD = Format(Now(), "M/DD/YYYY") Workbooks("01 StatorLine.xlsx").Sheets("Downtime tracking").Activate Range("A4").Select Do ActiveCell.Offset(1, 0).Select Loop Until ActiveCell.Value = CurrentD 它select具有数据的第一行,然后继续向下移动行,直到到达具有今天date的第一行。 唯一的问题是,尽pipe格式完全相同,循环从不识别date。 我尝试将CurrentD更改为一个数字,然后将该数字input到电子表格中。 当我在这种情况下运行macros时,它会停止在这个数字,但由于某些原因,当涉及斜杠时,它不会识别单元格值,并继续循环。 我以前从来没有使用VBA,所以任何帮助将不胜感激。 看起来像解决scheme应该是非常简单的。 谢谢!

使用双循环在VBA excelmacros中加快运行时间

我实际上有一些工作代码,虽然我有大量的数据和编写代码的方式,但运行需要一个多小时,而且我仍然需要添加相当多的代码才能真正分析数据。 我正在使用一个双循环,并且在我添加screenupdating = false之前,它似乎嵌套在内部的循环是什么花了这么长时间。 这是我有: Sub LReview() Dim SecX As Workbook, LipR As Workbook Dim ws As Worksheet, Xws As Worksheet, Fsheet As Worksheet Dim i As Long, XwsRows As Long Path = ThisWorkbook.Path & "\" Set LipR = ThisWorkbook Set SecX = Application.Workbooks.Open(Path & "SecurityXtract_Mnthly.csv") Windows("SecurityXtract_Mnthly.CSV").Activate Set Xws = Sheets("SecurityXtract_Mnthly") With Xws XwsRows = […]