2016-08-22 3 views
1

Ich habe zwei Spalten mit unterschiedlichen Werten; A und B, wenn die Werte der Spalte B mit dem Buchstaben F beginnen, möchte ich, dass der Wert (der mit F beginnt) den aktuellen Wert in Spalte A ersetzt. Das ist der VBA-Code, den ich bisher habe, nicht sicher, ob ich es bin in die richtige Richtung gehen.Excel: Ich möchte Spalte A mit dem Inhalt von Spalte B füllen, nur wenn der Wert von Spalte B mit F beginnt

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 

Auch bin ich nicht sicher, welche Inhalte in Teile des Codes „thisvalue“ platziert werden soll und „sometext“

+1

Also, was Sie sagen, ist, dass Sie diesen Code irgendwo gefunden . Sie wissen, dass es ungefähr tun sollte, was Sie wollen, aber nicht wissen, wie man es ändert, um genau das zu tun, was gewünscht wird und zu uns gekommen ist, um es für Sie neu zu schreiben? Ich würde vorsichtig sein mit jedem Code, den du nicht verstehst. –

+0

@ScottCraner Irgendwo habe ich irgendwo Code gefunden, den ich so gut wie möglich bearbeitet habe und bin für weitere Hilfe hierher gekommen. –

+0

Gut Glück für Sie, die Änderungen waren ziemlich einfach. Bitte beachten Sie, dass Stack Overflow für bestimmte Probleme nicht funktionierenden Code ist. IMO, wie Ihre Frage steht, hätte es geschlossen werden sollen, um zu breit zu sein. Es gibt nicht einmal eine Frage in den Worten. Beim nächsten Mal sei bitte genauer auf das Problem eingegangen und stelle eine spezifische Frage. Wie es ist, bin ich froh, dass Sie eine Antwort für Ihre nicht spezifische Frage gefunden haben. Normalerweise würde man uns sagen, was sie wollen UND was nicht funktioniert. Wäre dies ein längerer Code, wäre es abgelehnt worden und geschlossen worden. –

Antwort

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

Das hat funktioniert, vielen Dank! –

+0

Bitte als beantwortet markieren. Vielen Dank. –

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 
Verwandte Themen