<p> 要求返回A列最接近100的数字,并提示它所在的单元格位置,如下图 </p><p></p><p><br/> 大家先把自已的代码贴上来吧</p><p>参考答案: <br/>Sub test()<br/> Dim x%, v1%, v2% '<font color="#0808e7">声明变量<br/></font> For x = 1 To Range("a65536").End(xlUp).Row ''<font color="#0808e7">在A列循环</font><br/> If v1 = 0 Or v1 > Abs(Cells(x, 1) - 100) Then '<font color="#0808e7">如果V1还没有赋值或V1大于当前单元格与100的差异</font><br/> v1 = Abs(Cells(x, 1) - 100) '<font color="#0808e7">满足上面的条件(找到更接近的)重新给V1赋值</font><br/> v2 = x '<font color="#0808e7">用变量v2记录下最接近值的行数</font><br/> End If '<font color="#0808e7">结束判断</font><br/> Next x '<font color="#0808e7">结束循环</font><br/> MsgBox "最接近100的值是" & Cells(v2, 1) & ",单元格地址为" & Cells(v2, 1).Address <font color="#0808e7">根据V2的值得到最接近的值和单元格地址</font><br/>End Sub</p><p>总结:<font color="#0808e7"><font color="#a91313">本练习题的出题用意有两个</font>:</font></p><p><font color="#0808e7"> 1、常握在VBA中可以用ABS计算绝对值</font></p><p><font color="#0808e7"> 2、利用循环得到最值</font></p>
[此贴子已经被作者于2008-6-21 14:55:37编辑过] |