乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em> vba 怎么表示<em>range</em>

<em>excel</em> vba 怎么表示<em>range</em>

作者:乔山办公网日期:

返回目录:excel表格制作


利用迭代计算实现循环

  在使用Excel过程中,我们可能会出现一种情况,就是单元格有时会对本身进行引用,即形如在B2单元格中输入“=B2+1”之类的公式即为一种循环引用自身的行为。为了避免死循环的产生,就出现了迭代策略。

  其实完成可以利用该迭代功能实现我们想要的效果。例如我们想实现“1到10的和累加运算”。可通过以下方法实现。点击e799bee5baa6e997aee7ad94e78988e69d83362“Office按钮”->“Excel选项”按钮。
 
  在打开的“Excel选项”窗口中,切换至“公式”选项卡,勾选“启用迭代计算”项,在“最多迭代次数”输入框中输入“101”,最后点击“确定”完成设置。
 
  在如果所示的“自变量”单元格“A2”中输入公式“=IF(A2>=100,0,A2+1)”并按回车键。
 
  接着在“求和”单元格“B2”中输入公式“=B2*A2”并按回车完成输入。

  最后就可以看到输出结果“5050”,即1到100累计和为5050.

  利用数组公式实现循环运算

  数组公式实现了对循环的强有力支持,在此仍然以“1至100累加和”为例,在任意单元格中输入公式“=SUM(ROW(1:100))”。

  接着同时按下“Ctrl+shift+Enter”,就可以看到结果啦,而且由于是数组公式,因此公式最外面被加上花括号。

  利用VBA编辑实现循环计算
  切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA编辑环境(或按键盘快捷组合键“Alt+F11”)。
  右击“Microsoft Excel 对象”,从弹出的菜单中选择“插入”->“模块”项。
  在打开的模块1窗口中,输入如图所示的代码:
  Sub 求和()
  Dim i, sum As Integer
  i = 0
  sum = 0
  For i = 1 To 100
  sum = sum + i
  Next i
  Sheets(1).Cells(1, 1) = "1至100之和:"
  Sheets(1).Cells(1, 2) = sum
  End Sub

  点击“运行子过程”按钮,并在弹出的“运行”窗口中点击“运行”按钮。
  最后返回Excel界面,就可以看到输出结果啦。

range的常见用法

1.表示单元格
range("A1")表示第一行第一列的单元格,实质上于cells(1,1)效果一样。两者在这种情况下是一样的,但是两者的关系可以这样理解,range对象是单元格对象的集合。range对象在表示单元格的时候不可以像cells(i,j)一样range("ij")表示的,这是要注意的一点!

2.表示一个连续的区域
range对象表示连续的区域有两种表达:第一是range("起始单元格","结束单元格"),第二是range("起始单元格:结束单元格"),如下图我e799bee5baa6e997aee7ad94e78988e69d83330要选择(a1:b4)这个区域,
程序:
Sub 对象range()
Range("a1", "b4").Select
Range("a2:b4").Select
End Sub

3.表示一个不连续的区域
对于不连续的区域,range的表达是:range("起始单元格1:结束单元格1,起始单元格2:结束单元格2"),如:我要选择(a1:b2)和(b3:c4)连个区域
程序:
Sub 对象range()
Range("a1:b2,c3:d4").Select
End Sub

4.表示行和列
range既然可与表示区域,那么行和列也可以表示的,例如,我想选择第一行,则可以这样range("1:1"),如果想表示第一列range("a:a")
程序:
Sub range用法()
Range("1:1").Select
Range("a:a").Select
End Sub

5.range的copy方法
range对象选中一个区域后,可对这个区域进行复制操作的
程序:
Sub range用法()
Range("a1:b4").Copy
End Sub

6.range对象于With结合
range对象和with结合起来使用,可以使程序变得非常简单,看一下下面的实例吧:
程序:
Sub range用法()
With Range("a1").Font
.Size = 16
.ColorIndex = 24
.FontStyle = "bold"
End With
End Sub
range(cells(1,1),cells(1,2))等于range("A1:B1")
由於你的tji是变量所以采用了前一种表示方法

变量Nm 本身就只e799bee5baa6e79fa5e98193e58685e5aeb9331是一个Names集合中的元素
所以没有Nm.name

For Each Nm In ActiveWorkbook.Names
If Nm Like "*X_Tbl" Then '查找含X_Tbl的名称
OldValue = 0
For Each mycell In Range(Nm)
If (mycell.Column = 21) Then '只能U列起作用
ThisValue = HexToInt(mycell.Value)
If (ThisValue < OldValue) Then
CheckTableXAxis = False
End If
'MsgBox "ThisValue:" & ThisValue & ",OldValue:" & OldValue
OldValue = ThisValue
'MsgBox "Nm.Name:" & Nm
End If
Next mycell
End If
Next Nm

相关阅读

  • <em>excel</em> vba 怎么表示<em>range</em>

  • 乔山办公网excel表格制作
  • 利用迭代计算实现循环  在使用Excel过程中,我们可能会出现一种情况,就是单元格有时会对本身进行引用,即形如在B2单元格中输入“=B2+1”之类的公式即为一种循环引用自身的行为
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网