Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfen ob es der gleiche Wert ist

Prüfen ob es der gleiche Wert ist
13.10.2020 07:35:52
Lukas
Einen wunderschönen guten Morgen. Ich habe leider ein Problem^^
In Zelle D2 in der Datei Deals steht "=HEUTE()+1", also wird immer der morgige Tag dort angezeigt (14.10.2020).
Jetzt möchte ich ein Makro bauen das testet in einer anderen Excel Datei Namens Positionen die komplette Spalte A, ob das Datum schon vorhanden ist aus D2 (also ob der 14.10.2020 schon als wert in spalte A steht).
Wenn der 14.10.2020 schon in Spalte A drin steht soll mir das Makro dann die Werte aus "N8,O8,P8,Q8,R8,S8,T8,U8" in die Zellen Rechts daneben übernehmen.
Wenn der 14.10.2020 in Spalte A noch nicht drin steht, soll mir das Makro in Spalte A die nächste freie Zeile suchen in der noch kein Eintrag ist und dann den 14.10.2020 rein schreiben mit den Werten "N8,O8,P8,Q8,R8,S8,T8,U8" rechts daneben.
Ich hab schonmal was probiert, aber das klappt noch nicht wirklich:
Sub offenePositionen()
Dim wb As Workbook
Dim ws As Worksheet
Dim c As Range
Datum = ThisWorkbook.Sheets("Übersicht").Range("D2").Value
Set wb = Workbooks.Open(Filename:="C:\Users\sws-219\Desktop\Dispatching_OP\Positionen")
Set ws = wb.Worksheets(1)
If ThisWorkbook.Sheets("Übersicht").Range("D2")  ThisWorkbook.Sheets("Übersicht").Range(" _
A:A") Then
MsgBox "Wert ist vorhanden"
Else
MsgBox "Wert ist nicht vorhanden!"
End If
wb.Close savechanges:=True
Application.ScreenUpdating = True
End Sub
Wäre echt nett wenn mir jemand bei dem Code helfen könnte oder mir sogar einen Code zeigen kann wie das unkomplizierter funktioniert, bzw. wie es leichter geht.
Dankeschön!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 08:51:45
Lukas
ich hab jetzt nochmal was anderes probiert um es zu Testen, und nicht mal das klappt.
Ich bin langsam echt am Vezweifeln.
Sub offenePositionen()
Dim rng As Range
Dim Datum As String
Datum = ThisWorkbook.Sheets("Übersicht").Cells(2, 4).Value
Set rng = ThisWorkbook.Sheets("Tabelle1").Range("A:A").Find(Datum)
If rng Is Nothing Then
MsgBox "Wert " & Datum & " nicht gefunden!"
Else
MsgBox "Wert " & Datum & " GEFUNDEN"
End If
End 

Sub

AW: Prüfen ob es der gleiche Wert ist
13.10.2020 09:10:51
Werner
Hallo,
teste mal:
Sub offenePositionen()
Dim wb As Workbook, ws As Worksheet, varZeile As Variant
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename:="C:\Users\sws-219\Desktop\Dispatching_OP\Positionen")
Set ws = wb.Worksheets(1)
With ws
varZeile = Application.Match(CLng(Date + 1), .Columns("A"))
If IsError(varZeile) Then
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row
.Cells(loLetzte, "A") = Date + 1
ThisWorkbook.Sheets("Übersicht").Range("N8:U8").Copy .Cells(loLetzte, "B")
Else
ThisWorkbook.Sheets("Übersicht").Range("N8:U8").Copy .Cells(varZeile, "B")
End If
End With
wb.Close True
End Sub
Gruß Werner
Anzeige
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 10:12:33
Lukas
das klappt schonmal prima! vielen dank.
hab jetzt noch ein kleines Problem:
in "N8:U8" stehen Excel Formeln.
Kann ich nur die werte der Zellen "N8:U8" rüber kopieren, und nicht die Formeln?
Wenn das noch klappen würde wäre es perfekt! :D
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 10:32:13
Daniel
Hi
mach aus dem Einzeiler
Range(…).Copy Cells(…)

den Zweizeiler
range(…).copy
Cells(…).pastespecial xlpastevalues

Gruß Daniel
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 11:46:32
Lukas
Ah perfekt, das hat geklappt. Vielen dank :D
ich hätte noch eine Bitte, in dem code wird ja ein Datum erstellt mit CLng(Date + 1).
Ich würde aber gerne das es das Datum aus der Zelle nimmt weil ich dann flexiebel in der zelle einfach auch mal 2 oder 3 Tage vorraus machen kann am wochenende oder so.
hab hier selber bisschen probiert, aber das klappt nicht ganz:
Sub offenePositionen1()
Dim wb As Workbook
Dim ws As Worksheet
Dim varZeile As Variant
Dim Datum
Application.ScreenUpdating = False
Datum = ThisWorkbook.Worksheets("Übersicht").Cells(2, 4).Value
Set wb = Workbooks.Open(Filename:="C:\Users\sws-219\Desktop\Dispatching_OP\ _
Gas_Offene_Positionen")
Set ws = wb.Worksheets(1)
With ws
varZeile = Application.Match(Datum, .Columns("A"))
If IsError(varZeile) Then
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).row
.Cells(loLetzte, "A") = Datum
ThisWorkbook.Sheets("Übersicht").Range("N8:U8").Copy
Cells(varZeile, "B").PasteSpecial xlPasteValues
Else
ThisWorkbook.Sheets("Übersicht").Range("N8:U8").Copy
Cells(varZeile, "B").PasteSpecial xlPasteValues
End If
End With
wb.Close True
End Sub

Anzeige
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 12:27:52
Daniel
Hi
naja "klappt nicht" ist als Fehlerberschreibung für das Ziel, den Fehler zu beheben ungefähr so hilfreich wie die Antwort "machs anders" als Hilfestellung.
du solltest also schon etwas ausführlicher beschreiben, worin sich dieses "klappt nicht" für dich bemerkbar macht.
ansonsten würde ich einfach mal vermuten, dass du die Zielzelle noch nicht mit dem Zahlenformat "Datum" formatiert hast und deswegen das Datum nicht als Datum sondern als der dem Datum zugeordnete Ganzahlwert angezeigt wird.
wenn du es dir einfach machen willst, überträgst du das Datum nicht über den zwischenschritt mit der Variablen, sondern fügst es als Wert mit Zahlenformat ein.
Dann sollte es genauso aussehen wie in der Quellzelle.
….Cells(...).Copy
….Cells(...).pastesspecial xlpastevaluesandnumberformats
welche Optionen du beim Einfügen hast, siehst du ja im Kontextmenü des InhalteEinfügens (dort auch mal auf die unterste Menüebene gehen).
Beim Aufzeichnen eines solchen Vorgangs mit dem Recorder siehst du dann, wie man das programmiert.
oder du nutzt beim programmieren die IntelliSense, dh du gibst die ersten bekannten Buchstaben ein: "xlpas" und drückst dann STRG+Leer. Dann erscheint eine kleine Klappliste mit den an dieser Stelle möglichen Eingaben passend zu den eingegeben Buchstaben und du kannst mal schauen, was es so alles gibt und auswählen.
Gruß Daniel
Anzeige
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 12:40:34
Lukas
Vielen Dank Daniel und Werner, und sorry für die Zeit die ich euch aufgewendet habe.
läuft jetzt alles perfekt durch eure Hilfe!
Dankeschön.
ich weiß nicht wie man den Beitrag hier schließt.
-close-
AW: Prüfen ob es der gleiche Wert ist
13.10.2020 12:44:27
Daniel
Hi
Danke für die Rückmeldung
in diesem Forum läuft das Schließen eines Threads automatisch mit jeder gegebenen Antwort.
Hier muss man aktiv was tun, wenn der offen bleiben soll
(wobei das hier in diesem Forum wenig beachtet wird)
Gruß Daniel
Gerne u. Danke für die Rückmeldung. o.w.T.
13.10.2020 14:03:09
Werner

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige