Dzwebs.Net

撰写电脑技术杂文十余年

Excel Dictionary的Keys方法

Admin | 2012-8-9 10:37:40 | 被阅次数 | 42485

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  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单元格开始的单元格区域中。


该杂文来自: Excel杂文

上一篇:Excel Dictionary的Exists方法介绍

下一篇:Excel Dictionary中的Items的使用

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计