vba - 如何填充列循环? VBA Excel

标签 vba excel

所以我想创建一个循环,在所有工作表中自动填充同一列。我记录了宏,但显然这是很多代码。我尝试使用循环,但是我想自动填充的一些变量在末尾有数字(例如“ULA2”),因此使用自动填充它会使整个列 ULA2、ULA3、ULA4、... 如何我可以纠正这个吗?这是我的代码:

Sheets("ULA2").Select
    Range("F2").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F4").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F5").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F6").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F7").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F8").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F9").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F10").Select
    ActiveCell.FormulaR1C1 = "ULA2"
    Range("F11").Select

LastRow = Cells(Rows.Count, "F").End(xlUp).Row
Range("F2").AutoFill Destination:=Range("F2:F" & LastRow), Type:=xlFillDefault

Sheets("BO").Select
    Range("F2").Select
    ActiveCell.FormulaR1C1 = "BO"
    Range("F2").Select
    Selection.AutoFill Destination:=Range("F2:F"), Type:=xlFillDefault
    Range("F2:F").Select

最佳答案

这应该可以解决问题。它将遍历所有工作表并设置行 F (在页眉之后并向下)等于工作表的名称

Dim i As Long
Dim LastRow As Long

For i = 1 To Worksheets.count
    With Sheets(i)
        LastRow = .Cells(Rows.count, "F").End(xlUp).row
        .Range("F2:F" & LastRow).Value2 = .Name
    End With
Next i

关于vba - 如何填充列循环? VBA Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51678702/

相关文章:

vba - 'Open myFile For Append' 的日志记录策略(VBA Excel)

vba - 打印动态命名范围

sql-server - Excel 2010 vba mssql帮助: can not get table headers (alias)

vba - VBE 导入代码模块作为错误类型通过

excel - VBA 连接切片器(寻找代码改进)

python - 如何在 excel 或 python 中提取单词周围的文本?

将值转换为日期时需要 vba 对象

vba - Excel OnTime 事件调度程序

excel - VBA 创建和重命名表

vba - 根据另一个表中的内容删除一个表中的顶部行