Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1616|回复: 8

[已解决]向右隔一格斜连,用VBA一直循环到下没有数据 。

[复制链接]
发表于 2017-10-1 11:04 | 显示全部楼层 |阅读模式
本帖最后由 爷们679 于 2017-10-1 12:28 编辑

向右隔一格斜连,用VBA一直循环到下没有数据
向右隔一格斜连    如果是两个号码斜连的话,那么用填充颜色为红色。
向右隔一格斜连    如果是三个号码斜连的话,那么用填充颜色为黄色。
向右隔一格斜连    如果是四个号码以上(含四个号码)斜连的话,那么用填充颜色为蓝色。

最佳答案
2017-10-1 17:19
原來VBA稍修改就可以
Sub test()
    Dim m&, n&, k&, rag As Range, ragA As Range
    Application.ScreenUpdating = False
    Range("k6").CurrentRegion.Offset(5, 0).Interior.ColorIndex = -4142
    For Each rag In Range("k6").CurrentRegion.Offset(5, 0)
        If rag <> "" And rag.Interior.ColorIndex = -4142 Then
            Set ragA = rag: m = 1
            Do Until rag.Offset(m, m * 2) = ""
                Set ragA = Application.Union(ragA, rag.Offset(m, m * 2))
                m = m + 1
            Loop
            If m = 2 Then ragA.Interior.ColorIndex = 3
            If m = 3 Then ragA.Interior.ColorIndex = 45
            If m > 3 Then ragA.Interior.ColorIndex = 23
            m = 0
            Set rag = Nothing
        End If
    Next
    Application.ScreenUpdating = True
End Sub

0000.zip

406.43 KB, 下载次数: 12

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-10-1 17:19 | 显示全部楼层    本楼为最佳答案   
原來VBA稍修改就可以
Sub test()
    Dim m&, n&, k&, rag As Range, ragA As Range
    Application.ScreenUpdating = False
    Range("k6").CurrentRegion.Offset(5, 0).Interior.ColorIndex = -4142
    For Each rag In Range("k6").CurrentRegion.Offset(5, 0)
        If rag <> "" And rag.Interior.ColorIndex = -4142 Then
            Set ragA = rag: m = 1
            Do Until rag.Offset(m, m * 2) = ""
                Set ragA = Application.Union(ragA, rag.Offset(m, m * 2))
                m = m + 1
            Loop
            If m = 2 Then ragA.Interior.ColorIndex = 3
            If m = 3 Then ragA.Interior.ColorIndex = 45
            If m > 3 Then ragA.Interior.ColorIndex = 23
            m = 0
            Set rag = Nothing
        End If
    Next
    Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

发表于 2017-10-1 11:43 | 显示全部楼层
還是沒看到附件,大哥,週日愉快,沒放假啊
回复

使用道具 举报

 楼主| 发表于 2017-10-1 12:31 | 显示全部楼层
idnoidno 发表于 2017-10-1 11:43
還是沒看到附件,大哥,週日愉快,沒放假啊

已补发,工作表中有个宏可以参考。大哥,週日愉快
回复

使用道具 举报

发表于 2017-10-1 13:06 | 显示全部楼层
大哥,您這類型算是第二題了,第一題好像到現在還沒有人提供代碼,我一直苦思不得其門而入
回复

使用道具 举报

 楼主| 发表于 2017-10-1 13:11 | 显示全部楼层
idnoidno 发表于 2017-10-1 13:06
大哥,您這類型算是第二題了,第一題好像到現在還沒有人提供代碼,我一直苦思不得其門而入

这个代码是热心网友写的。然后我想修改成新的代码(适合本工作表的宏),大哥,能帮我处理
回复

使用道具 举报

发表于 2017-10-1 17:29 | 显示全部楼层
樓上的已經給出
關鍵在於(m,m)------->(m.2*m)
呵呵
回复

使用道具 举报

发表于 2017-10-1 17:33 | 显示全部楼层
原代碼又學到了,真的,有學到,大哥謝謝提供解決的代碼方案
回复

使用道具 举报

 楼主| 发表于 2017-10-1 18:07 | 显示全部楼层
idnoidno 发表于 2017-10-1 17:33
原代碼又學到了,真的,有學到,大哥謝謝提供解決的代碼方案

中间的一段我看不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 13:10 , Processed in 0.314533 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表