你能幫我解決這個問題嗎?在Excel中看起來是這樣的:VBA Excel根據一個單元格的內容更改另一個單元格的內容
我希望自動化2項任務:
- 當細胞在列C中含有「處理」二字=>明確相應單元格在列A 內容
- 當細胞在列C包含文字「藍」 =>對應於塔B的小區變更爲0
我試圖膠印機,循環和其他各種方法,但似乎無法得到它的權利。請幫忙。
你能幫我解決這個問題嗎?在Excel中看起來是這樣的:VBA Excel根據一個單元格的內容更改另一個單元格的內容
我希望自動化2項任務:
我試圖膠印機,循環和其他各種方法,但似乎無法得到它的權利。請幫忙。
Sub removeprocessed()
Dim Nlines As Long
Dim i As Long
Nlines = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
For i = 2 To Nlines
If 0 <> InStr(1, Cells(i, 3).Value, "processed") Then
Cells(i, 1).Value = ""
End If
If 0 <> InStr(1, Cells(i, 3).Value, "blue") Then
Cells(i, 2).Value = 0
End If
Next
End Sub
使用InStr函數所提議的@UGP
(1)如果您發佈代碼,則應遵循[VBA最佳實踐](https://stackoverflow.com/documentation/excel-vba/ 1107/vba-best-practices)指南:例如始終完全限定單元格和範圍(2)除非與舊API進行通信,否則不要使用Integer(而是始終使用Long):Excel具有比Integer可處理更多的行。 (3)將一個值設置爲字符串'.Value =「0」'不是一個好主意,而應該使用'.Value = 0'(4)我知道你只是想幫忙,但我認爲我們不應該回答那些是因爲只詢問代碼而無關緊要。 –
@PalimPalim非常感謝您的幫助。非常感謝 –
@Peh注意到這些。我很抱歉,因爲我是該網站的新手。 –
請您理解,Stack Overflow是不是免費的代碼編寫的服務,因此,你需要[編輯]你的問題,表明你已經嘗試過的代碼,(1 )告訴我們你的代碼是做什麼的,以及你期望它做什麼。 (2)如果有任何錯誤消息,你會得到和在哪裏。 (3)你在代碼中遇到了哪些問題,以及你遇到了什麼困難。 –
如果您的目標已經實現,請接受答案。 (單擊答案旁邊的綠色複選標記) – PalimPalim