2016-08-22 55 views
1

我有兩列具有不同的值; A和B,如果列B的值以字母F開始,我希望該值(以F開頭的值)替換列A中的當前值。這是迄今爲止我所擁有的VBA代碼,不知道我是否朝着正確的方向前進。Excel:我想用列B的內容填充列A,僅當列B的值以F開頭時

Private Sub UpdateColumnA() 
Dim x As Long 
For x = A To Z 
    If InStr(F, Sheet1.Range("$B$" & x), "thisvalue) > 0 Then 
     Sheet1.Range("$A$" & x) = Sheet1.Range("$A$" & x) & "sometext" 
    End If 
Next 
End Sub 

而且,我不知道什麼樣的內容應該放置在代碼「thisvalue」片和「SomeText」則會

+1

所以你說的是,你發現這個代碼的地方。你知道它應該大致做你想要的,但不知道如何改變它來完成所期望的事情,並找到我們爲你改寫它?我會小心使用任何你不明白的代碼。 –

+0

@ScottCraner我在某處找到了一些代碼,盡我所能對其進行了編輯,並且爲了獲得進一步的幫助而來到這裏。 –

+0

很幸運,你的變化相當簡單。請認識到堆棧溢出是針對非工作代碼的特定問題。國際海事組織,正如你的問題所在,本來應該因爲太寬泛而被封閉。言辭中甚至沒有問題。下次請更具體地解決問題並提出具體問題。因爲它是我很高興你找到了你的非具體問題的答案。通常情況下,人們會告訴我們他們想要什麼以及哪些不能工作。如果這是更長的代碼,它會被拒絕投票並關閉。 –

回答

0
Private Sub UpdateColumnA() 
Dim x As Long 
lastRow = Sheet1.Cells(Sheet1.Rows.Count, 2).End(xlUp).Row 
For x = 1 to lastRow 
    If Left(Sheet1.Range("B" & x), 1)= "F" Then Sheet1.Range("A" & x) = Sheet1.Range("B" & x) 
Next 
End Sub 
+0

這工作,非常感謝你! –

+0

請標記爲已回答。謝謝。 –

0
Private Sub UpdateColumnA() 
Dim x As Long 
With Sheet1 
    For x = 1 To .Cells(.Rows.Count , 2).End(xlUp).Row 
     If UCase(Left(.Cells(x, 2), 1)) = "F" Then 
      .Range("$A$" & x) = .Range("$B$" & x) 
     End If 
    Next x 
End With 
End Sub 
相關問題