WEB开发网
开发学院软件教学办公软件Excel Excel Dictionary的Keys方法 阅读

Excel Dictionary的Keys方法

 2012-09-22 19:49:28 来源:开发学院   
核心提示:Excel Dictionary的Keys方法,功能是返回一个数组,Excel Dictionary的Keys方法,其中包含了一个 Dictionary 对象中的全部现有的关键字,object.Keys( )其中 object 总是一个 Dictionary 对象的名称,所以完整的写法是Application. Wor

Excel Dictionary的Keys方法,功能是返回一个数组,其中包含了一个 Dictionary 对象中的全部现有的关键字。

object.Keys( )

其中 object 总是一个 Dictionary 对象的名称。

代码示例如下:

Dim d, k 
  Set d = CreateObject("Scripting.Dictionary")
  d.Add "a", "dzwebs" 
  d.Add "b", "dz37w"
  d.Add "c", "netcom"
  k=d.Keys

[B1].Resize(d.Count,1)=Application.Transpose(k)

部分代码解释

1、Dim d, k :声明变量,d见前例;k默认是可变型数据类型(Variant)。

2、k=d.Keys:把字典中存在的所有的关键字赋给变量k。得到的是一个一维数组,下限为0,上限为d.Count-1。这是数组的默认形式。

3、[B1].Resize(d.Count,1)=Application.Transpose(k) :这句代码是很常用很经典的代码,所以这里要多说一些。

Resize是Range对象的一个属性,用于调整指定区域的大小,它有两个参数,第一个是行数,本例是d.Count,指的是字典中关键字的数量,整本字典中有多少个关键字,本例d.Count=3,因为有3个关键字。

第二个是列数,本例是1。这样=左边的意思就是:把一个单元格B1调整为以B1开始的一列单元格区域,行数等于字典中关键字的数量d.Count,就是把单元格B1调整为单元格区域B1:B3了。
=右边的k是个一维数组,是水平排列的,我们知道Excel工作表函数里面有个转置函数Transpose,用它可以把水平排列的置换成竖向排列。但是在VBA中不能直接使用该工作表函数,需要通过Application对象的WorksheetFunction属性来使用它。所以完整的写法是Application. WorksheetFunction.Transpose(k),中间的WorksheetFunction可省略。现在可以解释这句代码了:把字典中所有的关键字赋给以B1单元格开始的单元格区域中。

Tags:Excel Dictionary Keys

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接