對於Excel VBA來說是非常新穎的,並且很掙扎。
我是初級C#開發人員,但我發現在VBA中編寫簡單的語句對我來說非常棘手。
任何人都可以告訴我如何編寫以下僞代碼要求的VBA代碼嗎?Excel VBA - 努力創建按列值對單元格值進行操作的宏
- 插入真到E欄只有在有是列X一個特定的字符串值
- 插入假到E欄那裏是文本(即:什麼/任何東西)在列d和無正文:在列(即沒有)一個
- 刪除X只要有A列中的特定字符串值X在任何細胞
任何幫助都會非常感激。
對於Excel VBA來說是非常新穎的,並且很掙扎。
我是初級C#開發人員,但我發現在VBA中編寫簡單的語句對我來說非常棘手。
任何人都可以告訴我如何編寫以下僞代碼要求的VBA代碼嗎?Excel VBA - 努力創建按列值對單元格值進行操作的宏
任何幫助都會非常感激。
Public Sub Text_Process()
Dim lngLastRow As Long
Dim lngRow As Long
Dim strColA As String
Dim strColD As String
lngLastRow = Sheet1.UsedRange.Rows.Count
For lngRow = 1 To lngLastRow ' change 1 to 2 if you have headings in row 1
strColA = Sheet1.Cells(lngRow, 1).Value ' store value in column A
strColD = Sheet1.Cells(lngRow, 4).Value ' store value of column D
Sheet1.Cells(lngRow, 5).Clear ' clear column E
If strColA = "X" Then ' or whatever you are looking for
Sheet1.Cells(lngRow, 5).Value = True
ElseIf strColA = "" And strColD <> "" Then
Sheet1.Cells(lngRow, 5).Value = False
End If
If strColA = "X" Then ' or whatever you are looking for
Sheet1.Cells(lngRow, 1).Clear ' clear out the value in column A, is this is what is requried?
End If
Next lngRow
End Sub
嗨用戶 - 您的解決方案完美工作。非常感謝你!我非常感謝您花這個時間,很棒的幫助! – 2014-10-30 11:17:36
不客氣 – smackenzie 2014-10-30 11:22:10
這是基本的東西。 VBA具有基本相同的VB 6語法。
您可以閱讀language reference或在VBA編輯器上點擊F1以獲取幫助。
舉個例子,檢查這段代碼。除了你的要求是有點混亂,在代碼結構關注和使用的功能,如Range.Cells
,IsEmpty
Sub Macro1()
Dim limit, index As Integer
' Iterate limit, just for test
limit = 20
' Iterate your worksheet until the limit
For i = 1 To limit Step 1
' Range param is a string, you can do any string contatenation you wish
' Value property is what inside the cell
If (Not IsEmpty(Range("D" & i).Value) And IsEmpty(Range("A" & i).Value)) Then
' Requirement 2
Range("E" & i).Value = False
ElseIf (Range("A" & i).Value = "X") Then
' Requiriment 1
Range("E" & i).Value = True
' Requiriment 3
Range("A" & i).Value = Empty
End If
Next
End Sub
像亞洲時報Siddharth說,錄製宏和學習生成的代碼是學習一些VBA的好方法招數。
謝謝你的幫助,這真是太好了。 – 2014-10-30 11:16:54
您到目前爲止嘗試過什麼? – gmsantos 2014-10-30 09:21:40
試圖寫如果陳述1A和1B,他們沒有工作。我什至不能找到好的簡單的VBA基礎知識,只是告訴我你到底寫了一個WHERE條件。另外,我只能找到有關如何指定精確單元格(Range(「A3」))或單元格塊(Range(「A3:A100」))的信息,但不能簡單地指定「A中具有特定字符串(不是數字)值「。請幫助! – 2014-10-30 09:25:40
一個好的開始是[語言參考](http://msdn.microsoft.com/en-us/library/aa338033(v = vs.60).aspx) – gmsantos 2014-10-30 09:28:07