VBA:如果N匹配模式中的数字,则执行某些操作

时间:2017-05-15 10:51:05

标签: vba design-patterns

周一早上的谜题:

我有一系列数字总是从1开始但可以是任何长度。什么是匹配符合我模式的数字的最佳方法?

有问题的模式如下(我想在粗体数字上做点什么)

1 下,2,3,的 4,5 下,6,7,的 8,9 下,10,11的 12 ,13 .....

我有一些想法,但他们都是凌乱/丑陋的。我真正想要的是在不手动创建数字列表的情况下解决问题的最优雅方法!

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:3)

如果我弄错了

If (N Mod 4) = 0 Or (N Mod 4) = 1 Then

答案 1 :(得分:-1)

这个宏获得了所需的模式。如果从第2行开始到最后一行,则每隔4行进行一次。第5次入场。

Sub Pattern()
Dim i, temp As Integer

l = Range("a65536").End(xlUp).Row
Cells(1, 1).Value = "*"
For k = 2 To l
 temp = temp + 1

    If temp = 3 Then
    Cells(k, 3).Value = "*" 'do something here
    End If
    If temp = 4 Then
    Cells(k, 3).Value = "*" 'do something here
    temp = "0"
    End If

Next


End Sub