Clever-Excel-Forum

Normale Version: Wenn Spalte E nicht leer dann Datum in Spalte O VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

suche schon seit längerem eine alternative für folgenden Code:

Code:
If Sheets("Bestellungen").Range("E2").Value <> "" Then Sheets("Bestellungen").Range("O2").Value = "ja"
If Sheets("Bestellungen").Range("E3").Value <> "" Then Sheets("Bestellungen").Range("O3").Value = "ja"
If Sheets("Bestellungen").Range("E4").Value <> "" Then Sheets("Bestellungen").Range("O4").Value = "ja"
If Sheets("Bestellungen").Range("E5").Value <> "" Then Sheets("Bestellungen").Range("O5").Value = "ja"
...usw
If Sheets("Bestellungen").Range("E1000").Value <> "" Then Sheets("Bestellungen").Range("O1000").Value = "ja"

Kennt jemand einen Code mit dem man die ganze Spalte nach einem bestimmten Wert prüft bzw. ob in der Zelle etwas steht und dann in die gleiche Zeile in eine andere Spalte etwas einträgt?
Das ganze muss mit VBA funktionieren.

Danke schonmal im Voraus!
Hi
dazu hast du doch hier http://www.clever-excel-forum.de/thread-6511.html eine Lösung erhalten.
leider wird durch den Code das Datum in die andere Arbeitsmappe geschrieben.
Ich weiß nicht wie ich den Code so abändern kann das das Datum in die selbe Arbeitsmappe geschrieben wird.

Hast du vllt eine Lösung? :)

Code:
Sub Uebertrag()
Dim rngZ As Range
Dim shQuelle As Worksheet
Dim shZiel As Worksheet
Set shQuelle = ThisWorkbook.Sheets("Bestellen")
Application.ScreenUpdating = False
For Each rngZ In shQuelle.Range("N3:N1000")
  Select Case rngZ.Value
    Case "Empfang", "Lager"
      Set shZiel = GetObject("U:\Empfang\02_Transfer\Produktmuster\Muster Datenbanken\Datenbank " & rngZ.Value & ".xlsx").Sheets("Bestellungen")
      lngzeile = shZiel.Cells(Rows.Count, 1).End(xlUp).Row + 1
      shZiel.Cells(lngzeile, 1).Resize(1, 13).Value = rngZ.Offset(0, -13).Resize(1, 13).Value
'Disen Code so umändern das das Datum in jede Zeile in Spalte O geschrieben wird, sobald sich ein Wert in Spalte E befindet.
      If Len(shZiel.Cells(lngzeile, 4)) Then shZiel.Cells(lngzeile, 14).Value = Date
'''
      Set shZiel = Nothing
  End Select
Next rngZ
End Sub

Wäre echt Top :)
Danke!!
Hallo,

meinstest Du so?

PHP-Code:
Sub prcSchleife()
   
Dim lngC As Long
   
   With Worksheets
("Bestellungen")
      For 
lngC 3 To 1000
         
If .Cells(lngC5).Value <> "" Then .Cells(lngC15).Value "ja"
      
Next lngC
   End With
'   If Sheets("Bestellungen").Range("E2").Value <> "" Then Sheets("Bestellungen").Range("O2").Value = "ja"
'   
If Sheets("Bestellungen").Range("E3").Value <> "" Then Sheets("Bestellungen").Range("O3").Value "ja"
'   If Sheets("Bestellungen").Range("E4").Value <> "" Then Sheets("Bestellungen").Range("O4").Value = "ja"
'   
If Sheets("Bestellungen").Range("E5").Value <> "" Then Sheets("Bestellungen").Range("O5").Value "ja"
'   ...usw
'   
If Sheets("Bestellungen").Range("E1000").Value <> "" Then Sheets("Bestellungen").Range("O1000").Value "ja"
End Sub 
Perfekt Danke!
Genau das habe ich gesucht :)