Tag: 无限循环

符合条件时循环不会结束

我有一个名为“小计”的工作表,我正在识别2行要减去1和2(行与“2”应从行中减去“1”)。 我需要在“2”行下面插入一行,以便在所需的单元格中添加正确的公式。 我select包含条件(1,2)的列,然后对“2”执行查找命令,然后使用offset属性select下面的单元格并插入一行。 这很好,但是当我应用循环时,它不会停止。 我已经指出,如果活动单元格=“2XXXXX”,则退出“执行”。 我已经尝试了几个变化,并以相同的无限循环结束。 谁能告诉我我做错了什么? 这是我的代码: Sub insert_row_1() ' Range("D1").Select Selection.End(xlDown).Activate ActiveCell.Offset(1, 0).Activate ActiveCell.FormulaR1C1 = "2XXXXX" Range("A1").Select Columns("D:D").Select Selection.Find(What:="2", After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate Do If ActiveCell.Value = "2" Then ActiveCell.Offset(1, 0).Activate ActiveCell.EntireRow(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ElseIf ActiveCell.Value <> "2" Then With Columns("D") Selection.FindNext(After:=ActiveCell).Activate ActiveCell.Offset(1, 0).Activate ActiveCell.EntireRow(1).Insert Shift:=xlDown, […]

循环不断重置

我有以下代码 Sub Split_data() ' Split_data Dim iCtr As Long Dim Total As Long Dim Iterations As Long Dim FilePath As String ' Save path for new files FilePath = "C:\DataFiles" ' Create folder to store files If FileFolderExists(FilePath) Then ' Delete first row with obsolete data Rows("1:1").Select Selection.Delete Shift:=xlUp Else MkDir (FilePath) ' Delete first […]

在excel VBA上简单的Tic Tac Toe

我试图做一个非常简单的井字游戏,我有一个class,而不是X和O你的颜色单元格内部蓝色(用户)和红色(macros),没有人工智能。 但是每当我想到它就会陷入无限循环 Sub Tic() Dim r1 As Integer Dim r2 As Integer Do r1 = Int(Rnd * 3) + 1 r2 = Int(Rnd * 3) + 1 If Cells(r1, r2).Interior.Color = xlNone Then 'with colorindex instead of color it fills before crashing Cells(r1, r2).Interior.Color = vbRed End If Loop While Cells(r1, r2).Interior.Color = vbBlue Or […]

试图了解差异

我希望没有人会因为我提出一个关于工作代码的问题而感到不高兴。 不过,有人告诉我,这也是为了学习,所以我希望这样可以。 我想要的是试图理解我写的两个代码之间的区别,一个是工作的,一个是失败的。 此代码是一个失败的版本: Sub Lowercase() Dim Seq As Range Set Seq = Range(Range("A2"), ActiveCell.SpecialCells(xlLastCell)) For Each cell In Seq cell.Value = LCase(cell.Value) Next cell End Sub 它确实把事物放在小写字母中,但它会一直循环,直到closures或最小化Excel为止。 思考一个较旧的代码,我将代码更改为: Sub Lowercase() Dim Seq As Range, v As Variant Dim L As Long, i As Long Set Seq = Range(Range("A2"), ActiveCell.SpecialCells(xlLastCell)) For Each cell In Seq […]