Tag: do loops

如何限制Do While循环中的循环次数?

所以我写了一个函数,它使用文本框input在另一个工作表中search相应的值。 问题是,如果它没有find一个匹配进入一个无限循环。 我可以限制循环,使其不会崩溃吗? 如果还有其他的解决scheme,而不是限制循环,那么我就是耳朵。 以下是我正在处理的内容: Function Most_Recent_Deployment(Label1 As String, Label2 As String, Label3 As String) As Long Dim all_rows As Range Dim row As Range Dim LastCell As Range Dim LastCellRowNumber As Long Set LastCell = Sheet7.Cells(Sheet7.Rows.Count, "A").End(xlDown).End(xlUp) LastCellRowNumber = LastCell.row + 1 Set row = Sheet7.Range("A:A").Find(Label1, LookIn:=xlValues, After:=Cells(LastCellRowNumber, "A"), SearchDirection:=xlPrevious) Do While row.row > […]

Excel的VBA – 我的代码本身运行良好,但在一个更大的代码,不

我有一个do循环,它使用一个数组来查找单元格中的关键字,并用相应的MachineNames数组值replace它们。 当我自己运行这个,它完美的作品。 当我在一个更大的代码中运行它时,它似乎循环了每个数组项(我使用断点来观察这个),但由于某种原因,它不再“看到”单元格中的值。 它只是循环遍历所有的关键词,决定没有发现它们(即使一个在细胞中)…任何想法或帮助表示赞赏! 'MACHINENAME (if it is written in the description.) Dim Keywords As Variant Dim MachineNames As Variant Keywords = Array("Robot", "Robot 1", "Robot 2", "Robot 3", "Robot 4", "Robot 5", "Robot 6", "FA ", "FA 1", "FA1", "FA 2", "FA2", "FA 3", "FA3", "FA 4", "FA4", "FA 5", "FA5", "FA 6", "FA6", […]

VBA:表边界和溢出错误6

我正在尝试使用VBA获取Excel表的边界。 我已经使用C#做了这个,但是现在我需要尝试把这个代码翻译成VBA。 一个问题是,语法似乎是如此不同,以至于代码看起来并不相似,即使它们只是在做同样的事情! 我觉得我很接近找出一个表的维度,但我得到这个Run-time error '6': Overflow消息。 代码如下: Dim currentRow As Integer Dim totalRow As Integer Dim column As Integer currentRow = 2 Do ActiveCell.Offset(1, 0).Select totalRow = totalRow + 1 Loop Until IsEmpty(ActiveCell.Offset(0, 1)) = False 一旦它接近完成Do loop就会发生错误。 我读另一个论坛的回应是说VB很慢,而且一个潜在的错误是Do loop过快,从而导致溢出。 如果是这样,我完全不确定如何解决这个问题。 有没有人有办法解决溢出问题?

如何通过VBA中的variables数据进行select

我试图继续这个过程,直到单元格结束,但是select需要按照设定的顺序改变。 代码如下: ' C_P Macro ' copies from worksheet & pastes in new sheet ' Keyboard Shortcut: Ctrl+Shift+L Dim rng1 As Range Dim Look As String Dim iRow As Integer With Windows("Audubon-Crest-Rent-Roll-201502-1.xlsx").Activate Set rng1 = Range("A:A") ActiveCell = Range("A228") Do Windows("Audubon-Crest-Rent-Roll-201502-1.xlsx").Activate Range("A228:A239").Select Selection.Copy Windows("Audubon Crest Rent Roll 20150219-altered.xlsm").Activate Range("B17").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, […]

If Then和Do Loop的组合(我认为)

对于熟悉VBA的人来说,这可能是一个简单的问题,但作为一个新手,我完全是空着的。 我有两张表,一张是我已经使用代码从项目中拉出的原始数据,没有问题。 另一个是输出表。 在数据表上,我有3列(A,E和H)。 列A具有任务列表,列E具有描述,列H具有会计年度和季度。 在输出页面上,我有十年的财政年度。 我想要做的是扫描任务的某种types的任务,然后一旦我find任务,我输出描述信息在正确的相应财政年度。 我觉得这将需要一个DO循环和一个如果然后,但我所尝试的是不工作的组合。 下面是我开始,很快就知道这是行不通的。 Do Until Worksheets("Project Data").Range("A1").Offset(Row, 0).Value = Empty If Worksheets("Project Data").Range("A1").Value = "Task example*" Then If Worksheets("Project Data").Range("H1") = "FY15*" Then If Worksheets("Project Data").Range("E1") = "" Then Worksheets("Output").Range("C5") = 1 ElseIf Worksheets("Project Data").Range("E1") = "description 1*" Then Worksheets("Output").Range("C5") = 2 ElseIf Worksheets("Project Data").Range("E1") = "description 2*" Then […]

火花线和DO循环

我有几张工作簿。 其中一张“Calc”汇总了我根据汇总页面上input的员工ID号在摘要页面上显示的8条火花线的数据。 我有一个创build的DO循环macros,用员工ID#来运行这个汇总表,然后转换成PDF并保存ID号。 像魅力工作,并节省数小时(字面)。 麻烦是两个火花线不会更新。 我觉得Excel会快速让他们更新。 我试图延迟, Application.Wait(Now + TimeValue("00:00:01")) ,并已上涨了两分钟…没有运气。 有任何想法吗? Option Explicit Sub PDFtool() On Error GoTo errorHandle: Dim i As Integer i = 2 Dim main, dataname, path, filename, ID As String path = Cells(5, 4) main = ActiveWorkbook.Name filename = ActiveWorkbook.path & "\" & "PDF files " & Format(Now(), "yyyy mm […]