2017-10-13 55 views
0

我從.csv導入下列數據。所以當我打開這個CSV(使用宏)。以下行將被打印。Excel新增列宏

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 

現在,我想新列名爲NameChanged使用Excel公式。基本上我不想輸出以下內容。

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 

NameChanged由式I寫計算和我仍然posess。

是否有一個自動添加此數據的宏函數?

我想這個至今:

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 

這給了我一個語法錯誤

+1

那你試試到目前爲止內需要雙「」的報價?您至少需要自己開始,因爲這不是免費的代碼編寫服務。請[編輯]你原來的問題,並添加你到目前爲止已有的代碼。告訴你在什麼地方被卡住或在哪條線上出現錯誤(以及哪些)。 –

+0

您需要將.Formula設置爲.Value。此外,我懷疑以下「= ALS(D2 =」False「; B2&」 「&」Disabled op:「&TEKST(E2;」dm-jjjj uu:mm「); B2)」需要一些檢查以確保協調儘管這可能是字符串,因爲我正在使用不同的區域設置。 – QHarr

+0

當我使用.Formula而不是.Value編輯器停在第二個「標記。我怎麼能避免這個? –

回答

1

如果你要進入一個公式,你應該

  • 使用Formula財產,而不是Value屬性
  • 使用EN-US語言環境編寫公式(對於函數名稱等) - 或者使用在FormulaLocal屬性,如果你喜歡,但當時如果他們試圖通過使用""代替


使用您的代碼
  • 確保公式內的任何"標記逃脫有人在另一區域會得到一個錯誤
    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 
    

    認爲我翻譯你的公式正確。看看它是否有效(即進入單元格後,它看起來像你想要的),如果沒有,我會再看一次。

  • 0

    如果您已經創建了兩個函數調用ALS()和TEKST(),那麼只需要改變。價值以.Formula和你的公式

    +0

    'ALS'和'TEKST' ** ** **當翻譯成OP的Excel語言環境時,可以使用「IF」和「TEXT」。 – YowE3K

    +0

    很高興知道,謝謝 –