标签: excel-vba

vba:从数组中获取唯一值

在vba中有内置的功能来从一维数组中获取唯一值吗?怎么样才能摆脱重复?

如果没有,那么我如何从数组中获取唯一值?

excel vba excel-vba

46
推荐指数
3
解决办法
17万
查看次数

Excel VBA-查找包含数据的最后一列

我找到了这种方法来查找工作表中包含行的最后一个数据:

ws.Range("A65536").End(xlUp).row
Run Code Online (Sandbox Code Playgroud)

是否有类似的方法来查找工作表中包含列的最后一个数据?

谢谢.

excel vba excel-vba

46
推荐指数
2
解决办法
33万
查看次数

在VBA中使用自定义数据类型

我试图在VBA for Excel中创建自定义数据类型.我们称这种数据为"卡车".每辆卡车都具有以下属性:

NumberOfAxles (this is an integer)
AxleWeights (this is an array of doubles)
AxleSpacings (this is an array of doubles)
Run Code Online (Sandbox Code Playgroud)

我可以创建数据类型"truck"(卡车(1),卡车(2)......等)的许多实例,并将上面列出的属性读/写到该实例中吗?

例:

Truck(1).NumberOfAxles = 2
Truck(1).AxleWeights(1) = 15.0
Truck(1).AxleWeights(2) = 30.0
Truck(1).AxleSpacings(1) = 8.0

Truck(2).NumberOfAxles = 3
Truck(2).AxleWeights(1) = 8.0
Truck(2).AxleWeights(2) = 10.0
Truck(2).AxleWeights(3) = 12.0
Truck(2).AxleSpacings(1) = 20.0
Truck(2).AxleSpacings(2) = 4.0
Run Code Online (Sandbox Code Playgroud)

等等.上面的语法很可能是错误的,我只想展示我需要提出的结构.

我试图将数据写入数据结构并在必要时调用它,例如

Truck(i).NumberOfAxles
Truck(i).AxleWeights(j)
Truck(i).AxleSpacings(j)
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

excel vba types class excel-vba

45
推荐指数
2
解决办法
13万
查看次数

如何在Excel中生成GUID?

我有一个excel文件,每行有一个订单,我希望每个订单都有一个唯一的标识符,因此会有一个唯一ID列.每次我填写一行,我希望Excel为我自动填充唯一ID列.我做了一些研究,并指出了GUID的方向.我找到了以下代码:

Function GenGuid() As String
Dim TypeLib As Object
Dim Guid As String
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Guid = TypeLib.Guid
' format is {24DD18D4-C902-497F-A64B-28B2FA741661}
Guid = Replace(Guid, "{", "")
Guid = Replace(Guid, "}", "")
Guid = Replace(Guid, "-", "")
GenGuid = Guid
End Function
Run Code Online (Sandbox Code Playgroud)

但我不确定如何实现它.任何帮助将不胜感激.先感谢您.

excel vba guid excel-vba

44
推荐指数
5
解决办法
7万
查看次数

在VBA宏中使用符号#(哈希)

#在Excel VBA中使用符号的含义是什么?

它是这样使用的:

 a = b /100#
Run Code Online (Sandbox Code Playgroud)

我不明白的意义#100

excel vba excel-vba

44
推荐指数
1
解决办法
6万
查看次数

Excel VBA中的相对而不是绝对路径

我编写了一个Excel VBA宏,它在对数据执行计算之前从HTML文件(本地存储)导入数据.

目前,HTML文件使用绝对路径引用:

Workbooks.Open FileName:="C:\Documents and Settings\Senior Caterer\My Documents\Endurance Calculation\TRICATEndurance Summary.html"
Run Code Online (Sandbox Code Playgroud)

但是我想使用相对路径来引用它而不是绝对路径(这是因为我想将电子表格分发给可能不使用相同文件夹结构的同事).由于html文件和excel电子表格位于同一个文件夹中,我不会想到这会很困难,但是我完全无法做到这一点.我在网上搜索过,建议的解决方案都显得非常复杂.

我正在使用Excel 2000和2002工作,但是当我计划分发它时,我希望它能够与尽可能多的Excel版本一起使用.

任何建议都感激不尽.

excel vba excel-vba absolute-path

43
推荐指数
2
解决办法
15万
查看次数

FormulaR1C1的功能是什么?

我一直在关注FormulaR1C1作为一个函数,这究竟是如何工作的?我理解整个互联网上所说的第1排第1列,但人们如何才能真正发挥作用?使用FormulaR1C1最终结果是什么?

也可以将其更改为从工作表中的特定点开始,还是始终为R1C1?那么它可能是FormulaR2C3吗?

excel vba excel-vba

43
推荐指数
2
解决办法
19万
查看次数

Excel VBA代码将特定字符串复制到剪贴板

我正在尝试向电子表格添加一个按钮,单击该按钮会将特定的URL复制到剪贴板.

我对Excel VBA有一点了解,但已经有一段时间了,我正在努力.

excel clipboard vba excel-vba

43
推荐指数
6
解决办法
15万
查看次数

Excel如何查找1列中的值存在于另一列中的值范围内

我有两个列 - 列A扩展到11027(值),列I扩展到42000(值).列中包含一些代码详细信息.

像这样的东西

A               B
q123           as124
as124          gh456
ff45           q123
dd1             dd2
xx2
xx3
xx4
Run Code Online (Sandbox Code Playgroud)

等等...

我想查找列A中的名称是否存在于列B中.使用excel

excel vba excel-2007 excel-vba excel-formula excel-2010

43
推荐指数
1
解决办法
27万
查看次数

清除所有表格内容VBA的最快方法

我有一张大纸,我需要删除所有的内容.当我尝试在没有VBA的情况下简单地清除它时,它进入无响应模式.使用宏时,例如:

Sub ClearContents ()
 Application.Calculation = XlManual
 Application.ScreenUpdating = False

  Sheets("Zeroes").Cells.ClearContents

 Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)

它也没有回应.最快的方法是什么?

excel vba excel-vba

43
推荐指数
3
解决办法
31万
查看次数