Vba Excel新列宏

Vba Excel新列宏,vba,excel,csv,Vba,Excel,Csv,我从.csv导入了以下数据。所以当我用宏打开这个CSV时。将打印以下行 Group Name Name UserName Enabled Lastchanged Grp-Doe John doe j.doe True 9-10-2017 07:25 Grp-Doe Janna x j.x False 10-10-2017 08:10 现在,我想要一个使用excel公式的

我从.csv导入了以下数据。所以当我用宏打开这个CSV时。将打印以下行

Group Name  Name              UserName  Enabled   Lastchanged
Grp-Doe     John doe          j.doe     True      9-10-2017 07:25
Grp-Doe     Janna x           j.x       False     10-10-2017 08:10
现在,我想要一个使用excel公式的名为NameChanged的新列。基本上,我不需要以下输出

Group Name  Name              UserName  Enabled   Lastchanged      NameChanged
Grp-Doe     John doe          j.doe     True      9-10-2017 07:25  John doe disabled on:09-10-2017
Grp-Doe     Janna x           j.x       False     1-10-2017 08:10  Janna X
更改的列名是由我编写的公式计算出来的,我仍然坚持

是否有一个宏函数可以自动添加这些数据

到目前为止,我试过:

Sub AddData() 
lastRow = Sheets("Sheet2").Cells(65536, 2).End(xlUp).Row 
Sheets("Sheet2").Range("A2:A" & lastRow).Value = "=ALS(D2="False"; B2&" 
"&"Disabled op: "&TEKST(E2;"d-m-jjjj uu:mm"); B2)" 
End Sub

这给了我一个语法错误

如果要输入公式,您应该

使用“公式”属性而不是“值”属性 使用EN-US语言环境为函数名等编写公式-如果愿意,也可以使用FormulaLocal属性,但是如果其他语言环境中的人尝试使用您的代码,则会出现错误 请确保公式中的所有标记都通过使用转义
我想我把你的公式翻译对了。查看它是否有效,即在输入单元格后,它看起来像您想要的,如果没有,我将再看一看。

如果您创建了两个函数,调用ALS和TEKST,则只需将.Value更改为.Formula,并且您需要在公式中使用双引号。

到目前为止您尝试了什么?您至少需要自己开始,因为这不是免费的代码编写服务。请输入您的原始问题并添加到目前为止您已经拥有的代码。告诉use您在哪里被卡住了,或者在哪一行发生了错误,哪一行发生了错误。您需要设置as.Formula not.Value。此外,我怀疑以下=ALSD2=错误;B2和禁用op:&TEKSTE2;d-m-jj-uu:mm;B2需要进行一些检查以确保与字符串一致,尽管这可能是因为我使用了不同的区域设置。当我使用.Formula而不是.Value时,编辑器会在第二个标记处停止。我怎么能避免呢?你需要双倍的内在,你需要逃离内在。单元格中的实际公式是什么样的=ALSD2=假;B2和禁用op:&TEKSTE2;d-m-jj-uu:mm;B2ALS和TEKST在翻译成OP的Excel语言环境时可能是IF和TEXT。
Sub AddData() 
    lastRow = Sheets("Sheet2").Cells(65536, 2).End(xlUp).Row 
    Sheets("Sheet2").Range("A2:A" & lastRow).Formula = "=IF(D2=""False"", B2&"" Disabled op: ""&TEXT(E2,""d-m-jjjj uu:mm""), B2)" 
End Sub