Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wenn Spalte E nicht leer dann Datum in Spalte O VBA
#1
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!
Antworten Top
#2
Hi
dazu hast du doch hier http://www.clever-excel-forum.de/thread-6511.html eine Lösung erhalten.
Mit freundlichen Grüßen  :)
Michael
Antworten Top
#3
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!!
Antworten Top
#4
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 
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
Perfekt Danke!
Genau das habe ich gesucht :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste