Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6477|回复: 5

如何把表格中的字符串转成程序中的公式?

[复制链接]
发表于 2012-1-24 00:53 | 显示全部楼层 |阅读模式
例如:
表格的cells(1,1)处有一个公式 i=i+1

如何让它可以在程序中运行,
比如
for i=1 to 5
‘在这里把i=i+1转换成可以运行的表达。
next i

这样做的目的是程序内核心的运算公式在表格中表达出来,程序根据表格里的公式进行计算。改过表格里的字符串,就等于是改过程序里的运算公式了。

求解答,谢谢~~~


发表于 2012-1-24 11:41 | 显示全部楼层
有了for i=1 to 5 …… next,就不需要i=i+1了第一次运算i=1,next以后,i就是2了,再next,i=3;再next,i=4;再next,i=5;再next,i=6了就出了循环。
回复

使用道具 举报

发表于 2012-1-24 20:14 | 显示全部楼层
这样做,理论上是可以的。

但实际操作不赞成这样通过外部方式随意更改VBA过程代码的做法。

很容易引起混乱。

…………

你可以改一下思路。

在VBA过程中写好各种语句,用if或select case 方式,决定当前该使用那一句代码。



回复

使用道具 举报

发表于 2012-1-24 20:50 | 显示全部楼层
  1. Sub 执行单元格内容代码()
  2.     With CreateObject("ScriptControl")
  3.         .Language = "VBScript"
  4.         .AddObject "cells", Cells
  5.         ss = "Sub NewMacro()" & vbCr
  6.         Do Until ActiveCell = ""
  7.             ss = ss & ActiveCell.Text & vbCr
  8.             ActiveCell.Offset(1, 0).Select
  9.         Loop
  10.         ss = ss & " End Sub"
  11.         .addcode ss
  12.         .Run "NewMacro"
  13.     End With
  14. End Sub
复制代码

ExecuteMacro.rar

9.63 KB, 下载次数: 29

回复

使用道具 举报

发表于 2012-1-24 21:00 | 显示全部楼层
起初也想过这种代码写代码并执行之或替换某行某些行代码并执行之。
但细看楼主的,恐怕是想替换当前程序的某一行某些行,这就没试过不晓得成不成,且现实意义不大,就没去整了
回复

使用道具 举报

发表于 2012-1-24 23:49 | 显示全部楼层
本帖最后由 wenchduan 于 2012-1-25 21:29 编辑

    楼主既然会编程,相信肯定也会进入代码直接改;如果程序是给别人用的,那么可以设置一些Inputbox,或在某些单元格里放置一些程序要运行的关键参数、譬如循环次数什么等,让程序读取参数后再运行。不推荐直接在单元格里写整行代码、然后再让程序读取代码后运行的这种做法。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 11:56 , Processed in 0.359284 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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