开元周游
德国频道
楼主: hubeck
打印 上一主题 下一主题

想成立一个Excel联盟,大家有没有兴趣?

[复制链接]
21#
 楼主| 发表于 13.8.2008 12:47:38 | 只看该作者
楼上的问题说的不是太清楚,我先按照我的猜测说一下 s4 Q* K0 g: C: i4 Q* C' R z! v4 Q- a& H) ]2 _1,你说的分数形式是不是类似4/5这种没计算出结果的文本格式?如果是的话可以用Mid(中文或者英文Excel)或者teil(德文版Excel)公式取得分子和分母,然后计算就行了,估计用时两分钟。 0 b1 V/ \4 Y, ^$ W* U9 B' G( S, f- m 2,如果我理解正确的话,这个貌似不用程序。第一行是你的48个数字,下一行求他们的平方根,然后随便什么地方sum一下就行了吧?还是你们要求一定要用VBA写点儿什么?
回复 支持 反对

使用道具 举报

22#
发表于 13.8.2008 13:51:20 | 只看该作者
感谢您的及时回复,您对我的问题的理解完全正确,您说的mid是啥,我咋不会操作呢, 8 O1 |5 \6 I! C, n关于第二个问题您的回答我已理解,我想最好还是在一行里用个命令解决,谢谢您!
回复 支持 反对

使用道具 举报

23#
 楼主| 发表于 13.8.2008 19:58:55 | 只看该作者
mid是一个公式,点插入公式,搜索mid,不会用的话就点F1看帮助。 % S8 E/ c9 K( ^0 b , R$ X: ~- T7 ]第二个问题你一定要在一行内解决的话,可以找个单元格敲等于号,然后老老实实的写公式,或者也可以用宏,如果以后这个操作要重复,但也工作量也差不多。还是建议原来的答案。
回复 支持 反对

使用道具 举报

24#
发表于 13.8.2008 21:39:18 | 只看该作者
'第二个问题的答案/ [" s" V) Y) W8 n5 Z/ z '计算平方根,然后求和 + A8 D+ Q$ @, ^) l: D5 |5 xSub aaa() & W0 Y7 s8 d" \% N. X Dim i As Long9 N. A: ^2 q C/ M- J6 d2 M+ V Dim Sht As Worksheet1 M$ u6 L, E/ P% W8 y8 L7 d Dim SqrResult As Double - |+ L8 r* [* F9 l2 [! y# q, b Set Sht = ThisWorkbook.ActiveSheet 2 E; U/ P& y" A) G SqrResult = 03 g! ?+ {0 x8 B2 p For i = 1 To 48 7 D/ _4 i4 x* ]) D4 R3 ~" Z! R6 @ SqrResult = SqrResult + Sqr(Sht.Cells(1, i))2 P8 s* j3 l! o' p- Y0 U1 ^ Next i # W' N) w2 O0 a1 N _! o( X, g' y Sht.Cells(1, 49) = SqrResult '将结果写入第一行的第49列 1 H4 s" _* F3 fEnd Sub
回复 支持 反对

使用道具 举报

25#
发表于 13.8.2008 22:06:14 | 只看该作者
'第一个问题的解决方法,写一个循环,对每个单元格进行操作,比如说处理范围是: 100*100, 如下: 4 s4 V; ^% A, ~Sub bbb() 4 i; l1 ~+ g8 W8 G6 g2 D/ V Dim i As Long, ii As Long, curStr As String, pos As Long, curValue As Double 3 a) i/ k8 {5 ^0 F1 i Dim Sht As Worksheet . l/ |; ~6 Z* n; n * Q2 i$ w$ }' U. N Set Sht = ThisWorkbook.ActiveSheet 6 m( F8 P3 W- O5 h# k4 I4 Z# b For i = 1 To 100; ~3 G' D8 Z$ T, R For ii = 1 To 100 ' ^2 ]' ]% E/ k' C7 V! ^$ W6 Z" j6 b) W curStr = Sht.Cells(i, ii) 0 b( x4 q% c. K8 M If Len(curStr) > 0 Then! k6 t- {. C; y9 O- h3 ?) } pos = InStr(curStr, "/")2 Z- s* t! E M7 U) h Z2 s5 u9 s If pos > 0 Then* ~) P5 a7 G7 n- Z; }9 l8 G# Y! t+ { curValue = CDbl(Left$(curStr, pos - 1)) / Right$(curStr, Len(curStr) - pos)& O& X& b, L. F! @) }3 y Sht.Cells(i, ii) = curValue1 R: D3 P1 w* } p, E% W End If 5 x' Y4 v% X$ V4 o# L End If 4 }! c1 m) h! v' x& X/ f* A. U4 j Next ii : T+ H& q5 D- ?5 L+ C- A) I' i Next i3 N# l( s5 V* Q/ |2 P% }2 f# U4 O6 x End Sub0 q2 h% q/ C4 [8 @ & ]8 A6 E& z5 i! d& N1 ]" l1 w 不怎么会用excel, 所以代码可能麻烦了,如果哪位高人有更简单的转换方法,欢迎赐教。- {2 M: w/ X8 D! `7 W - I5 c. D/ ?+ b2 j* m1 \ [ 本帖最后由 kangson 于 13.8.2008 23:13 编辑 ]
回复 支持 反对

使用道具 举报

26#
发表于 13.8.2008 22:06:52 | 只看该作者
回复 支持 反对

使用道具 举报

27#
发表于 13.8.2008 22:26:49 | 只看该作者
好感动呀,大家这么热心!由衷感谢!我的是中文版的,楼上写的我看不懂呀,我不怎么会德语!
回复 支持 反对

使用道具 举报

28#
发表于 13.8.2008 22:28:44 | 只看该作者
回复 支持 反对

使用道具 举报

29#
发表于 13.8.2008 22:45:29 | 只看该作者
代码对任何版本都适用。 \1 J1 F G$ n/ `另外, 除了·viel spass·这两个跟问题无关的词以外,我没有写任何德语阿 6 S' f6 M% u Z# f8 b0 k/ o' h6 ~% a+ J* t: d1 a- o h6 D [ 本帖最后由 kangson 于 13.8.2008 23:47 编辑 ]
回复 支持 反对

使用道具 举报

30#
发表于 14.8.2008 05:40:57 | 只看该作者
再次感谢hubeck和kangson!好人好报!+ E$ d0 N4 y# D# ~+ i 昨晚仔细研读二位的指点,发现以下问题,关于问题1,我的意思是上百个单元格的分数变成数值,我现在的做法是一个个弄等号,然后得出,我找到了mid,虽然没有成功运用,但我想楼上还是以为我要把一个单元格的文本变成数值,我的意思是上千个文本,也许我没把mid就是干这个的,我研究了半天感觉好像不是,请赐教! " n/ U' t7 }' w3 ]& g关于问题2,我试了SUM(SQRT(A1):SQRT(Z1))不好用,我想肯定是我的书写有问题,也许就这样一个简单命令,就可以在一行中解决?
回复 支持 反对

使用道具 举报

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

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 3.1.2025 14:10

关于我们|Apps

() 开元网

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