|
'第一个问题的解决方法,写一个循环,对每个单元格进行操作,比如说处理范围是: 100*100, 如下:/ y' i+ d1 o+ K a9 Z
Sub bbb(); s- V" C0 i" ^, e. r+ n
Dim i As Long, ii As Long, curStr As String, pos As Long, curValue As Double
: r; y3 R& o5 n Dim Sht As Worksheet- u% R! q1 u- I; B/ B
$ E0 X! O8 p/ r1 o+ R( N+ Q
Set Sht = ThisWorkbook.ActiveSheet
; N, F0 D4 m* l) u# n For i = 1 To 100
8 z7 Z! u! ~# f& ` For ii = 1 To 100
# r# D9 O* F( N$ [ f; p curStr = Sht.Cells(i, ii)) `7 n& S; U! s" y% R
If Len(curStr) > 0 Then
% R& K% s/ _% t( v: H" S; m pos = InStr(curStr, "/")
* H) _3 _$ g: V8 r; N If pos > 0 Then
+ U# h- h* J+ Z) ` curValue = CDbl(Left$(curStr, pos - 1)) / Right$(curStr, Len(curStr) - pos)
' \2 H6 f! [! v% m4 ]% k Sht.Cells(i, ii) = curValue
; v, ^$ @& |+ r0 [ End If) J& j$ e: ^. p
End If7 ~) y! k1 V# I- n* i
Next ii
4 v+ Y( I7 M+ H2 L& v) ` Next i
. Y6 f! H. c( G0 f) |, fEnd Sub
( S; U. a/ ~, K* d$ Y
2 Y" D# F, |1 f不怎么会用excel, 所以代码可能麻烦了,如果哪位高人有更简单的转换方法,欢迎赐教。" H2 c9 O+ c/ _3 i2 C+ O
B2 e6 e! r- k1 l$ y! v[ 本帖最后由 kangson 于 13.8.2008 23:13 编辑 ] |
|