小编Mri*_*rig的帖子

每行迭代中的逻辑运算

我正在更新基于可用性代码的容量表.特定范围内的可用性代码具有相同的容量(少数例外).每个可用性代码都列在"F"列中.相关容量将列在"I"列中.

该代码的目标是:

  • 读取单元格"F"中的可用性代码 - 可以是300-799中的任何nnn
  • 确定它下降的范围 - 300-499,500-599,600-699,700-799,除了762,763,764,765,768例外
  • 在单元格"I"中分配容量 - 当前正在使用 Row.Offset
  • 迭代一行并用数据重复到最后一个"F"单元格

    Sub Capacity()
    
    Dim ACNum As Range
    Dim WB As Workbook
    Dim WS As Worksheet
    
    Set WB = ActiveWorkbook
    Set WS = WB.ActiveWorksheet
    Set ACNum = WS.Range("F:F")
    
    For Each Row In ACNum.Cells
    Set AC = WS.Cells(WS.Rows.Count, "F").End(xlUp).Offset(1)
    If (AC = "762" Or AC = "763" Or AC = "764" Or AC = "765" Or AC = "768") Then
        Row.Offset(0, 3).Value = "72"
    ElseIf (AC >= "300" And …
    Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

1
推荐指数
1
解决办法
141
查看次数

For Loop超出参数VBA

我做了以下循环以使每个单元格下行,直到它到达与另一列中最后一个使用过的单元格齐平的单元格.然而,它远远超出了最后使用的细胞.它工作正常,但运行时需要更长的时间,特别是当它有30,000行时要通过!有没有人对这个有任何想法?

Dim i As Long
lMaxRows = Cells(Rows.Count, "K").End(xlUp).Row
For i = 1 To lMaxRows
    Range("D" & lMaxRows + 1).Select
    ActiveCell.FormulaR1C1 = "0:00:00"
    lMaxRows = Cells(Rows.Count, "E").End(xlUp).Row
    Range("E" & lMaxRows + 1).Select
    ActiveCell.FormulaR1C1 = "1"
Next i
Run Code Online (Sandbox Code Playgroud)

excel vba for-loop excel-vba

0
推荐指数
1
解决办法
96
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

for-loop ×1