Function MySin(ByVal x As Double) As Double
Dim k As Integer
Dim nowSinx As Double
Dim temp As Double
Dim tol As Double
k = 1
tol = 000001
nowSinx = x
temp = x
Do
temp = -temp (x x) / (2 k + 1) / (2 k)
nowSinx = nowSinx + temp
k = k + 1
Loop While Abs(temp) > tol
MySin = nowSinx
End Function
'本程序改编自计算方法 C++作业。已在VB环境编译通过。
'可以用上一次计算的结果,没必要定义阶乘函数。
'MySin(2)结果是:0909297。。和Sin(2)差不多。
第 9 ,10 题 其他题答案统一,且有正确的解释
9 B 类成员默认访问属性为 private,构造函数的可以为private成员,类定义中 成员变量是不可以被初始化的
10 c 构造函数是可以被重载的
举例说明吧,下面这个 myCell 变量就是单元格变量了。
Sub Macro1()
Dim myCell As Range
Set myCell = Range("A2") '为单元格变量赋值
myCellFormula = "=Today()" '为单元格变量所代表的单元格填写内容
myCellOffset(1, 0)Value = "测试"
myCellSelect '选中单元格变量所代表的单元格
End Sub
--------------------------------------------------------
所定义的 Range 对象,与工作表里的单元格当然一样,因为它们是同一个Range类的对象嘛,所有的属性与方法都相同呀。
Sub Macro1()
Dim myCell As Range
Set myCell = Union(Range("A2", "C4"), Range("A6", "C7")) '为单元格变量赋值
myCellFormula = "=row() & Column()" '为单元格变量所代表的单元格填写内容
myCellCopy
myCellRange("A1")Offset(7, 3)Select
ActiveSheetPaste
MsgBox myCellRange("A1")Text 'myCell对象中的第1行第1列值
MsgBox myCellCells(3, 2)Text 'myCell对象中的第3行第2列值
MsgBox myCellColumnsCount 'myCell对象的列数统计
End Sub
但是“本身myCell不属于任何一个工作表”这个恐怕不是那么容易做到的,因为简单的这样两行代码:
Dim myCell As Range
Set myCell = Union(Range("A2", "C4"), Range("A6", "C7")) '为单元格变量赋值
所定义的变量 myCell 它只是一个地址引用,并没有在系统的内存中开辟出一个区域来(复制)存放 Union(Range("A2", "C4"), Range("A6", "C7")) 这些单元格的内容,当使用 myCell 时,实际还是依赖于 myCell 所指向的工作表单元格。
比如:
Sub Macro2()
Dim myCell As Range
Range("A1") = 1
Set myCell = Range("A1")
Range("A1") = 5
MsgBox myCell
End Sub
这里 Range("A1") = 5 改变了值,MsgBox myCell 也显示 5,就是说,这个对象实际是一个对象指针(引用)。
有疑问,请Hi我或给我发百度消息
GoodLuck!
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)