可能重复:
使用VBA检查下面的单元格是否为空
作为VBA通过检查一个单元格是否为空,具有特定信息?例如:如果A:A ="产品特殊"而B:B为空则C1 ="产品特殊"这只是一个想法.

以及如何在范围内使用For Each.并返回其他单元格中的值?
我被Visual Studio 2008和Eclipse宠坏了,不得不在VB6应用程序上做一些维护工作.
有谁知道VB6的替代/更新IDE?
重写不是一个选项我只是修复了一些错误,它是一个很大的代码库.
这不是一个问题,而是发布此评论,因为我不记得以前看过这种方法.我回答了对之前回答的评论,并尝试了以前我没有尝过的事情:结果很有趣所以我虽然把它作为一个独立的问题发布,但我自己的回答.
在SO(以及许多其他论坛)上出现了许多关于"我的用户定义函数有什么问题"的问题,答案是"你无法从UDF更新工作表" - 这里的限制:
有一些方法可以解决这个问题,例如,请参阅此处(https://sites.google.com/site/e90e50/excel-formula-to-change-the-value-of-another-cell)但我不要以为我的确切方法就在其中.
另请参阅:从UDF更改单元格注释
我总是读到,一旦我完成它们,建议将对象设置为空.但我通常只在表单内的函数中使用它们.
在保留功能范围时,是否丢失了引用并释放了内存,而不管将对象设置为Nothing?
即是否真的有必要这样做:
Set db = Nothing
Set record_set = Nothing
Run Code Online (Sandbox Code Playgroud) 我正在使用MS Runtime Scripting库中的Dictionary类来存储标签将用于报告模板的位置.有没有办法迭代该字典中的所有键值对,就像在Python中一样?我只想使用密钥作为行号(它都在A列中),值将是标签头.
就像是:
For Each key in dict
Range("A" & key).Value = dict(key)
Next key
Run Code Online (Sandbox Code Playgroud) 我有一个字符串数组:
Dim sArray(4) as String
Run Code Online (Sandbox Code Playgroud)
我将遍历数组中的每个String:
for each element in sarray
do_something(element)
next element
Run Code Online (Sandbox Code Playgroud)
do_something 将字符串作为参数
我收到错误传递元素作为字符串:
ByRef Argument Mismatch
我应该将元素转换为String还是其他什么?
通过完整类型的变量,我指的是您在即时窗口中获得的信息类型:
我想使用VBA动态确定类型信息.该函数TypeName()不能做我想要的,因为它返回变量的子类型,并且不区分例如保持范围的变量变量,保持范围的对象变量和保持范围的范围变量.
作为初步步骤,我编写了一个函数,用于检测变量是否传递给它.它的工作原理是利用传递引用语义.代码使用其参数执行的操作只能通过变量完成,因此如果传递的变量实际上不是变量,则会触发错误:
Function IsVariant(var As Variant) As Boolean
Dim temp As Variant
Dim isVar As Boolean
If IsObject(var) Then
Set temp = var
Else
temp = var
End If
On Error Resume Next
Set var = New Collection
var = "test"
If Err.Number > 0 Then
isVar = False
Else
isVar = True
End If
On Error GoTo 0
If IsObject(temp) Then
Set var = temp
Else
var = temp
End If
IsVariant …Run Code Online (Sandbox Code Playgroud) 自从安装Office 2010的Windows更新以解决KB 4484127以来,我在执行包含WHERE子句的查询时遇到错误。
例如,执行以下查询:
DoCmd.RunSQL "update users set uname= 'bob' where usercode=1"
Run Code Online (Sandbox Code Playgroud)
导致此错误:
错误号= 3340查询''已损坏
如何成功运行查询?我应该只卸载此更新吗?