Excel精英培训网

 找回密码
 注册
查看: 1695|回复: 0

VBA80集第24集中示例文件代码执行有些问题

[复制链接]
发表于 2012-8-1 11:38 | 显示全部楼层 |阅读模式
我用的是EXCEL2010,我把VBA80集第24集中示例文件中“数组方法”的代码复制到我自己的excel中并执行代码,发现有些小问题。我要达到的效果就是D列数据大于15000时,该行数据填充红色。由于我把D列数据弄得很大,从第一个数据大于15000以后,后面所有数据都大于15000,结果每填充25行后,就有一行没有填充。有谁可以解释一下为什么?4 F% g: W- i6 Q- J! A6 W
Sub 清除颜色()  K! A5 U" G: H
Range("a:d").Interior.ColorIndex = xlNone# ]2 B1 M$ R& Z, G, ]3 |
End Sub
( n. |; @, L* a* J3 D! G
  c- |  l* }+ `+ l7 B4 U* n/ D3 XSub 数组方法0()
0 ^  @# Q6 S' l: ~5 M Dim arr, t
/ ?( W' f4 y3 w! Y1 [# H/ ]2 ^# l+ U Dim x As Integer6 {3 z% {& ]# p/ V5 e. n( h9 P
Dim sr As String, sr1 As String
- R$ H0 B+ d6 M 清除颜色) k, p1 f0 c! B% ]
t = Timer- O% C9 C* K! S1 q$ _
arr = Range("d2:d" & Range("a65536").End(xlUp).Row)
8 H, l/ w- a- D8 h9 V9 V For x = 1 To UBound(arr)5 |+ g# Q& ^+ Q3 G
   If x = UBound(arr) And sr <> "" Then Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3: k0 m: J6 i. a
   If arr(x, 1) > 15000 Then
/ p8 H# D& A% y: \2 s% d      sr1 = sr
7 R( R2 [+ n+ ]3 J4 I% w; H6 B# P2 x      sr = sr & "A" & x + 1 & ":D" & x + 1 & ","
0 z' p( V; }  q  k$ _) _' W' a      If Len(sr) > 255 Then& P  h- B5 t, }# f* |. j$ T
        sr = sr1( r. R3 @: E$ Y. @3 G* F
        Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
8 t) i3 u! J3 M4 k* [        sr = ""0 ^+ @; W9 ]: Q1 [9 D
      End If
/ q, v  H# M  P   End If
" I6 i# ^0 U$ _9 i/ d Next x+ E$ }- n) @3 S( |5 A3 c, t
MsgBox Timer - t0 c- m6 V7 ^0 l
End Sub& M% b  F- P5 y" K8 r' i' a

4 i7 g* b" l1 ]) i

新建 Microsoft Excel 工作表.rar

28.87 KB, 下载次数: 7

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

GMT+8, 2025-8-16 14:03 , Processed in 0.108716 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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