【问题标题】:Automate number entry in cells based on condition in Excel根据 Excel 中的条件自动在单元格中输入数字
【发布时间】:2018-10-17 10:52:00
【问题描述】:

我在列中有如下条目:

Col1  Col2  Col3  Col4  Col5
1      0     0      1    0 

如您所见,在“Col1 中的 1”之后的每第三个位置重复 1。我想写一个代码,如果我输入“4”,那么 1 应该在每个第 4 个位置重复......如果我写 2,那么它应该在每个第 2 个位置重复......

示例输出:我输入一个单元格:“4”

Col1  Col2  Col3  Col4  Col5
1      0     0      0    1

注意:我不知道如何在 StackOverflow 中创建表格,如果有任何帮助也会很棒:(

谢谢!!

【问题讨论】:

  • 应该持续多久?

标签: excel excel-formula excel-2010 vba


【解决方案1】:

这是带有“可选参数”的Sub 的一些示例:

Public Sub RepeatMe(Optional repeatEach As Long = 3, Optional repeatLen As Long = 20)

    Dim myCell  As Range
    Cells.Clear

    Dim cnt As Long
    Range(Cells(1, 1), Cells(1, repeatLen)).Value = 0

    For cnt = 1 To repeatLen Step repeatEach
        Cells(1, cnt) = 1
    Next cnt

End Sub

要运行它,go to the immediate window,写 RepeatMe 并按 Enter

【讨论】:

  • 不应该将repeatEach初始化为4吗?
  • 别介意我的第一条评论...我知道 OP 想要一种动态方法。
  • @ScottCraner - 我通常默认忽略0。 :)
【解决方案2】:

把它放在 A1 中并拖动/复制:

=IF(MOD(COLUMN(A:A)-1,$A$3)=0,1,0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多