注册 登录
编程论坛 Excel/VBA论坛

请教老师:将颜色单元格放到对应标题下面?

lygyjt 发布于 2018-11-15 08:09, 2264 次点击
各位老师好!想请教的问题:如何将指定标题及其下面绿色单元格里的数据,放到AM:AT中。
解释:A:AI第一行是标题行,每列最多100个数据(不包括标题)。在AK列,输入标题行里的任意数值(最多输入8个),在A:AI中,把这些“任意数值”标题及其下面绿色单元格里的数值,放到AM:AT中。比如:AK列第一个数是06,在A:AI标题行中,把06及其下面绿色单元格数字,放在AM下面;AK列第二个数是09,在A:AI标题行中,把09及其下面绿色单元格数字,放在AN下面。
上面是手工标准答案。
绿色单元格形成:在A:AI标题行下面,只要有与AK列中相同的数字,单元格就变绿。具体请见例子:
只有本站会员才能查看附件,请 登录
7 回复
#2
icecool2018-12-14 16:49
如果你的格式是固定的,这个很好弄的

#3
icecool2018-12-19 08:29
程序代码:
Private Sub CommandButton1_Click()

Call CommandButton2_Click
For i = 1 To 8
    Cells(1, 38 + i) = Cells(i, 37)
    For m = 1 To 35
        For n = 1 To 25
            If Cells(n, m) = Cells(i, 37) Then
               Cells(n, m).Interior.Color = 32768
            End If
        Next
     Next
Next

For k = 1 To 8
        z = 2
    For y = 1 To 35
        If Cells(1, y) = Cells(1, 38 + k) Then
           For w = 2 To 22
               If Cells(w, y).Interior.Color = 32768 Then
                   Cells(z, 38 + k) = Cells(w, y)
                   z = z + 1
               End If
           Next
        End If
    Next
Next

End Sub

Private Sub CommandButton2_Click()
For m = 1 To 25
    For n = 1 To 35
        Cells(m, n).Interior.ColorIndex = xlNone
    Next
Next
For x = 1 To 8
    For y = 1 To 8
        Cells(x, 38 + y) = ""
    Next
Next
End Sub


只有本站会员才能查看附件,请 登录
#4
lygyjt2019-01-14 22:06
回复 3楼 icecool
icecool老师,实在太过意不去了!写后,由于接着忙别的事了,就一直没看。白白浪费了您的一番好意,我也不知怎么能补偿或表达。在现实中,一定会请您喝酒赔罪。可在这里。。。,敬重的向您说声:谢谢!
#5
icecool2019-01-17 12:22
回复 4楼 lygyjt
能满足你的需求就好
#6
lygyjt2019-01-17 22:22
回复 5楼 icecool
再次谢谢icecool老师的回复!完全能满足要求了。小声说句:不知老师您能有时间帮我解下新发的帖子吗?放好几个论坛了,都没人能解。
#7
icecool2019-01-19 20:13
不好意思,回老家了没带电脑弄不了。你发到VB6版应该没问题的!
#8
lygyjt2019-01-20 11:39
回复 7楼 icecool
呵呵,看来icecool老师您 是回家过年啦,提前祝老师春节快乐,来年心想事成!
1