摘要:
以前一直搞不明白,VBA中的数组到底是什么,尤其是数组中的维度问题,更是感觉乱的很,总搞不清楚维度到底是按行定义还是按列定义,比如myArr(1 to 5, 1 to 3)数组,它是几维的?以前一直以为既然是5行3列,所以应该是5维的,这种认识当然是错误的了,但不知道什么原因,一直按这样来理解着用它来解决问题,但也一直没有出错.现在终于明白,一维就是数学上的x轴坐标系;二维数组(先定义行,后定义列)就是数学上的xy坐标系;三维就是数学上的xyz坐标系(有点类似,行/列/表的集合).至于上面提到的1 to 5,只是行数为5行,而1 to 3只是列数为3列而已.'------------- 阅读全文
摘要:
昨天晚上弄的,算是对这几天辛苦啃书的总结Sub VBATest003() Dim i As Single, j As Single, k As Single Dim Result As Single i = 45.33 j = 19.24 Result = myFunction(i, j) Debug.Print Result Debug.Print "子过程中的i=" & iEnd SubRem=之所以会出现所谓的形参/值参或按地址和按值传递参数的说法就是因为Rem=在函数过程中与数学上的函数还不真的一样,因为数学上的函数表达式只一个,只要给了自变量... 阅读全文
摘要:
速度奇快!!感觉好爽!!!再一次体会到了对象的魅力.Sub 合并工作表中数据至同一工作簿中() '清除掉除标题行外的所有数据 Worksheets("成绩").Activate Range("2:65536").Clear '又学会了一种表示落围的方法 '借助工作表对象进行合并 Dim Wb As Worksheet, myRng As Range For Each Wb In Worksheets With Wb If .Name "成绩" And .Name "成绩备份" Then .. 阅读全文
摘要:
program fbnq;{输出菲波拉契数列的前10项}var a:array[1..10] of integer; i:integer;begin a[1]:=1; a[2]:=1; for i:=3 to 10 do a[i]:=a[i-1]+a[i-2]; for i:=1 to 10 do begin write(a[i],' '); end; readln;end. 阅读全文
摘要:
受命编写考试成绩的对比分析程序.一个下午写完,发现程序运行时间太长,竟然需要将近10分钟的时间(可能是电脑配置太低).不再过多解释,直接上程序吧,一看就知道太麻烦. 1 Option Explicit 2 Option Base 1 3 Sub A上线数据分析() 4 Dim i As Integer, j As Integer, mySheet() As String, k As Integer, m As Integer 5 Dim bjshu As Integer, dkcj(), totalR As Integer, fs() As Double, mc() ... 阅读全文
摘要:
前面已经写过两个成绩处理程序了,但运行速度实在太慢,处理一个年级的成绩约需5分钟,根本没法体会到在VFP中的那种快感,现在又重新改写了原程序,在前面编写学分认定的程序时,慢慢体会到了在VBA中应用数组的方便与简洁,所以这次出发点从数组的角度考虑问题.由于没做界面所以也没法让用户(其实用户就是我自己)选择,只能做一点点的硬性要求:将原始成绩放置到第1个工作表,第1列必须是班级号,从第4列起为依次为单科和总分成绩,(第2列/第3列为姓名/考试号).工作表的名称随便起,存储成绩分析的工作表名字必须为"成绩分析",否则报错.以下是源程序: 1 Option Base 1 2 Sub 阅读全文
摘要:
Option Base 1
'此为对字串进行分列处理,将每个学生的每个小题的选项进行分列。 Sub 分列操作()
Dim i As Integer, totalR As Integer, j As Integer
totalR = Range("A65536").End(xlUp).Row
For i = 2 To totalR
For j = 1 To Len(Cells(i, 5).Va... 阅读全文
摘要:
学了一周多点的时间自己试着编了一个平抛曲线的动画,但是心里并没有像当年第一次写出自己的VBA程序那样兴奋了。不知啥原因。package{import flash.display.Sprite;import flash.events.Event;import flash.events.MouseEvent;public class Ex026 extends Sprite{private var vx:Number=12;private var vy:Number=0;private var ay:Number=0.5;private var arrow:Arrow;public functio 阅读全文
摘要:
使用Flash Builder在ActionScript中嵌入资源:[Embed(source="图片2.jpg")];public var Picture:Class;此时编译器会提示如下错误“元数据需要关联的定义”,其实是因为第一行最后多了个分号,改为下面的即可:[Embed(source="图片2.jpg")]public var Picture:Class;如果此时编译器显示”无法转换代码“图片2.jpg””或者”无法解析用于转换代码的“图片2.jpg””等错误,则表明在src文件夹下未找到0.jpg文件,注意是src文件夹而不是bin-debu 阅读全文
摘要:
上一篇中提到了一个问题:就是如何实现对类的重用。现在对面向对象有点感觉了,只是用起来还有些生硬。关于类的重用,现在掌握的方法就是将类文件与项目文件放在同一目录下,即可以自动添加到项目中,从而实现代码重用。一、类构建(因为经常要用到这个箭头进行一些验证性的工作,所以把其做成类。)package{import flash.display.Sprite;public class Arrow extends Sprite{public function Arrow(){init();}public function init():void{graphics.lineStyle(1,0,1);graph 阅读全文
摘要:
package{import flash.display.Sprite;import flash.events.Event;public class Ex010 extends Sprite{public var jt:Sprite;public function Ex010(){init();}public function init():void{jt=new Sprite();addChild(jt);jt.graphics.lineStyle(1,0,1);jt.graphics.beginFill(0xffff00);jt.graphics.moveTo(0,-25);jt.grap 阅读全文
摘要:
解决了如何搜索指定目录下的文件及如何更改文件名并添加学生个人信息 Option Base 1 Sub 添加学生个人信息() Dim MyFile As String, MyPath As String, i As Integer, Arr() As String, j As Integer Dim wb As Workbook, xm As String, dz As String, MyRang... 阅读全文
摘要:
在前面已经用过Split函数了,可以方便的获取指定单元格的行标或列标,具体的用法可以参见以下代码: Sub 获取指定列的字母() Debug.Print Cells(1, 27).Address Debug.Print Split(Cells(1, 27).Address, "$")(1) End Sub 下面是关于Split函数的一些认识,肯定不全,但也得记下来,不然以后怎么再复习呢。切记:好记... 阅读全文
摘要:
改进主要集中在标准答案选项的组合提取;各题得分的判断. ①将学生答案进行分列处理: 原效果图: Sub 分列操作() Dim i As Integer, totalR As Integer, j As Integer totalR = Range("A65536").End(xlUp).Row For i = 2 To totalR For j = 1 To Len(Cells(i, 4).Val... 阅读全文
摘要:
问题提出:由于阅卡机的原因,导致无法提取单科成绩,这个程序就是解决这个问题. 代码如下: (1)取得标准选项的各种组合 需要准备的数据:题号及标准选项,C列及后续列为程序生成. Sub 取得标准选项的各种组合() Dim totalR As Integer, i As Integer Worksheets("答案").Activate totalR = Range("A65536").End(xl... 阅读全文