Tag: excel vba

什么是.NumberFormat选项在Excel VBA中?

你可以让我知道Excel VBA中的.NumberFormat格式选项是什么? 如您所知,Excel 2010支持以下types: 我知道我们可以设置例如文本types为: .NumberFormat ="@" 或数字: .NumberFormat = "0.00000" 你可以让我知道什么是VBAtypes的其他选项?

Excel VBA的密码散列函数

我需要一个用Excel VBA编写的函数,它将使用SHA-1等标准algorithm对密码进行哈希处理。 一些简单的界面,如: Public Function CreateHash(Value As String) As String … End Function 该function需要在安装了Excel 2003的XP工作站上工作,否则不能使用第三方组件。 它可以引用和使用XP提供的DLL,比如CryptoAPI。 有谁知道一个样本来实现这个散列函数?

VBA(Excel)无循环初始化整个数组

我对VBA相当陌生,所以这可能是一个简单的问题,但是这里有。 我想在VBA中初始化整数数组myArray ,比如整数。 我知道我可以通过一个简单的初始化来做到这一点: Dim myArray myArray = Array(1, 2, 4, 8) 但是,如果数组很大,这是很麻烦的,我想初始化所有元素到相同的值。 理想情况下,这将是这样的: myArray(:) = 0 我试过,但编译器抱怨。 然后我尝试myArray() = 0 ,它也抱怨。 任何人都可以解释如何做到这一点, 没有循环 ? 如果可能,我想在一个声明中这样做。 澄清 : 我想初始化数组中的每个元素到一些初始值。 所以,如果我有一个数组Dim myArray(300) As Integer 300整数的整数,例如,所有300个元素将保持相同的初始值(比如13)。 更澄清 我发现这个答案 ,说你可以这样做一个variables: Dim x As Double: x = 0 也许有一种方法稍微更新语法,使其适用于数组?

带有标签的HTML文本,用于在Excel单元格中格式化文本

有没有一种方法来获取HTML并将其导入到Excel中,以便将其格式化为富文本(最好使用VBA)? 基本上,当我粘贴到一个Excel单元格,我期待着把这个: <html><p>This is a test. Will this text be <b>bold</b> or <i>italic</i></p></html> 进入这个: 这是一个testing。 这个文本是粗体还是斜体?

Excel VBA中如何获取范围的地址,包括工作表名称,但不包括工作簿名称?

如果我有一个Range对象 – 例如,让我们说它引用名为Book1的工作表上的单元格A1 。 所以我知道调用Address()会给我一个简单的本地引用: $A$1 。 我知道它也可以被称为Address(External:=True)来获取包括工作簿名称和工作表名称的参考: [Book1]Sheet1!$A$1 。 我想要的是得到一个地址,包括表名,但不是书名。 我真的不想调用Address(External:=True)并尝试用string函数自己去除工作簿名称。 是否有任何电话我可以在范围内获得Sheet1!$A$1 ?

VBAmacros定时器样式运行代码每个集合的秒数,即120秒

我需要每120秒运行一段代码。 我正在寻找一个简单的方法来在VBA中做到这一点。 我知道有可能从Auto_Open事件中获取定时器的值,以防止使用一个幻数,但是我不太可能知道如何触发一个定时器,让它每120秒运行一次。 如果我可以避免的话,我真的不想用睡眠的无限循环。 编辑 : 基于提供的答案的交叉post是: Excel VBA Application.OnTime。 我认为使用这个想法是一个糟糕的主意吗?

Excel VBA中的相对而不是绝对path

我已经写了一个Excel VBAmacros,它在对数据执行计算之前从HTML文件(本地存储)导入数据。 目前HTML文件被称为绝对path: Workbooks.Open FileName:="C:\Documents and Settings\Senior Caterer\My Documents\Endurance Calculation\TRICATEndurance Summary.html" 不过,我想用相对path来引用它,而不是绝对的(这是因为我想将电子表格分发给可能不使用相同文件夹结构的同事)。 由于HTML文件和Excel电子表格坐在同一个文件夹,我不会觉得这将是困难的,但是我完全无法做到这一点。 我在网上search,所build议的解决scheme都显得非常复杂。 我在工作中使用Excel 2000和2002,但是因为我打算分发它,所以我希望它能够尽可能多的使用Excel版本。 任何build议感激地收到。

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

我发现这个方法用于查找包含表格中最后一行的数据: ws.Range("A65536").End(xlUp).row 有没有一种类似的方法来查找表单中最后一个包含数据的列? 谢谢。

如何获取Excel VBA中已更改单元格的旧值?

我正在检测Excel电子表格中某些单元格的值的变化,像这样… Private Sub Worksheet_Change(ByVal Target As Range) Dim cell As Range Dim old_value As String Dim new_value As String For Each cell In Target If Not (Intersect(cell, Range("cell_of_interest")) Is Nothing) Then new_value = cell.Value old_value = ' what here? Call DoFoo (old_value, new_value) End If Next cell End Sub 假设这不是一个很好的编码方式,我怎样才能在改变之前得到单元格的值?

在VBA中逐行读取/parsing文本文件

我试图用VBAparsing文本文档,并返回文本文件中给出的path。 例如,文本文件如下所示: *Blah blah instructions *Blah blah instructions on line 2 G:\\Folder\…\data.xls D:\\AnotherFolder\…\moredata.xls 我希望VBA一次加载1行,如果它以*开始,然后移动到下一行(类似于被注释的行)。 对于具有文件path的行,我想把这个path写入单元格,比如A2表示第一个path, B2表示下一个,等等。 我希望能够回答的主要问题是: 1.使用VBA读取文本文件的最佳/简单方法是什么? 2.我该怎么做,一行一行?