如果某个列中有"No",如何复制某个列的值?



非常具体的问题。我得到了一个学习vba的任务,但是我真的找不到任何解决我的问题的东西。

项目

截图基本上如果列"Sammelvorgang"表示"Nein",列"Text7"应该包含"Nr.">

我正在寻找VBA的基础知识,但我找不到针对特定列或特定行的解决方案。

Sub schedule_Number()
Dim tsk As Task
For Each tsk In ActiveProject.Tasks

If Not (tsk Is Nothing) Then

If (tsk.Sammelvorgang.Value = "Nein") Then

tsk.Text7 = tsk.Nr

End If

End If

Next tsk
End Sub

Thanks for the help

显示的值(总是字符串)和存储的值(日期、字符串、数字等)之间存在差异。在VBA中,使用存储值更简单。在本例中,Sammelvorgang是Summary(我相信),它是一个布尔值,因此代码可以这样编写:

Sub schedule_Number()
Dim tsk As Task
For Each tsk In ActiveProject.Tasks

If Not (tsk Is Nothing) Then
If Not tsk.Summary Then
tsk.Text7 = tsk.ID
End If
End If

Next tsk

不幸的是,在VBA中,对象名称,属性,方法都是英文的。可以使用Application对象的FieldNameToFieldConstant方法从本机语言字段名派生字段ID。(然而,我没有任何非英语版本来测试这一点)。

然后使用字段ID, GetField方法可以用来返回显示值(字符串)。


这里是英文文档:FieldNameToFieldConstant和GetField。

相关内容

  • 没有找到相关文章

最新更新