Excel: freie Zelle suchen und Wert einfügen
Noch einmal Hallo an alle,
dieses Script:
Private Sub Worksheet_Activate()
If Sheets("Versuchsauftrag").Range("A40").Value = 0 Then
Dim c As Range
If Sheets("Bewertungsübersicht").Range("B22") = "X" Then
With Sheets("Versuchsauftrag").Range("A40:Y41")
Set c = .Find("", LookIn:=xlValues, lookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not c Is Nothing Then
c.Value = Sheets("Bewertungsübersicht").Range("A23").Value
End If
End With
End If
End If
End Sub
...soll folgendes tun: Wenn Zelle A40 vom Blatt Versuchsauftrag leer ist, soll wenn B22 aus Bewertungsübersicht X ist, der entsprechende Wert aus A22 im ersten freien Feld des Bereiches A40-Y41 eingefügt werden.
(Bitte nicht wundern: natürlich ist A40 dann immer frei und es macht eigentlich keinen Sinn, aber es sollen noch weitere Abfragen hinterher folgen. A40=0 soll nur dazu dienen, dass das Skript nur beim ersten mal auswählen des Arbeitsblattes ausgeführt wird)
Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
Danke und Gruß,
Bernd
dieses Script:
Private Sub Worksheet_Activate()
If Sheets("Versuchsauftrag").Range("A40").Value = 0 Then
Dim c As Range
If Sheets("Bewertungsübersicht").Range("B22") = "X" Then
With Sheets("Versuchsauftrag").Range("A40:Y41")
Set c = .Find("", LookIn:=xlValues, lookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not c Is Nothing Then
c.Value = Sheets("Bewertungsübersicht").Range("A23").Value
End If
End With
End If
End If
End Sub
...soll folgendes tun: Wenn Zelle A40 vom Blatt Versuchsauftrag leer ist, soll wenn B22 aus Bewertungsübersicht X ist, der entsprechende Wert aus A22 im ersten freien Feld des Bereiches A40-Y41 eingefügt werden.
(Bitte nicht wundern: natürlich ist A40 dann immer frei und es macht eigentlich keinen Sinn, aber es sollen noch weitere Abfragen hinterher folgen. A40=0 soll nur dazu dienen, dass das Skript nur beim ersten mal auswählen des Arbeitsblattes ausgeführt wird)
Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
Danke und Gruß,
Bernd
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245330
Url: https://administrator.de/contentid/245330
Ausgedruckt am: 17.11.2024 um 03:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
In Zeile 02 prüfst du ob dort eine Wert gleich 0 (Ziffer NULL) eigetragen ist. 0 <> leer; leer <> Leerzeichen; NUL <> leer; NICHTS <> 0
Und code Tags in der Formatierung tun dir auch nicht weh um dein Quellcode hier vernünftig darzustellen.
Gruß,
Peter
Private Sub Worksheet_Activate()
If Sheets("Versuchsauftrag").Range("A40").Value = 0 Then
Dim c As Rang
If Sheets("Bewertungsübersicht").Range("B22") = "X" Then
With Sheets("Versuchsauftrag").Range("A40:Y41")
Set c = .Find("", LookIn:=xlValues, lookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not c Is Nothing Then
c.Value = Sheets("Bewertungsübersicht").Range("A23").Value
End If
End With
End If
End If
End Sub
In Zeile 02 prüfst du ob dort eine Wert gleich 0 (Ziffer NULL) eigetragen ist. 0 <> leer; leer <> Leerzeichen; NUL <> leer; NICHTS <> 0
...soll folgendes tun: Wenn Zelle A40 vom Blatt Versuchsauftrag leer ist,
Wird nur erfüllt wenn dort wirklich NICHTS drin steht Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
Weil in A40 eben kein NICHTS drin steht, wird die nächste genommen. Deine Zeile 7 sucht nach NICHTS. NICHTS <> 0 Und code Tags in der Formatierung tun dir auch nicht weh um dein Quellcode hier vernünftig darzustellen.
Gruß,
Peter
Das ganze funktioniert eigentlich auch, nur wird der erste Wert (hier A22) nicht in die freie Zelle A40 eingetragen sondern in A41.... wieso?
weil Range.Find beim Durchlauf die erste Zelle im Bereich immer ganz zum Schluss prüft.Du müsstest hier den Bereich oben um eine Zelle vergrößern, oder du nimmst die Schleifen-Methode dich ich dir im letzen Post geschrieben habe.
Grüße Uwe
Zitat von @BerndVorwerk:
code Tags? Wo finde ich hier eine Übesicht über Formatierungsmöglichkeiten? Bin noch ziemlich neu, sorry
Formatierungen in den Beiträgencode Tags? Wo finde ich hier eine Übesicht über Formatierungsmöglichkeiten? Bin noch ziemlich neu, sorry
Hallo,
Unter Excel eher ISTLEER
"" ist eher ein Leerer String
Gruß,
Peter
Unter Excel eher ISTLEER
"" ist eher ein Leerer String
Gruß,
Peter