Kopieren in Bezug zum aktuellsten Datum in einem Bereich
#11
Jo

Tab2 in dieser Reihenfolge Filtern.
Spalte C "Deliv. Date" absteigend. Dann nach Spalte A "Component " von A-Z. Somit steht das aktuellste Datum an erster Stelle.
 
PS: Du könntest den Sortiervorgang auch gleich vom Code mit erledigen lassen.

Gruß Elex
Top
#12
Ich muss da mal rumnölen.

Sprachlich bedeutet "aktuell" "das Neueste" oder auch "das Geltende".

Was aber bedeutet "das aktuellste" für Euch beide dann?
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Elex
Top
#13
Moin alte Nöle
 
Zitat:Sprachlich bedeutet "aktuell" "das Neueste" oder auch "das Geltende".
Da bin ich doch bei dir.
 
Update vom:
01.01.2016
01.01.2017  (aktuellste Stand)
01.01.2015
 
Zitat:Was aber bedeutet "das aktuellste" für Euch beide dann?
Finde die Stelle im Thread leider nicht die dich verwirrt.
Top
#14
+++OT+++

Hi Elex,

einfach nur doppelt gemoppelt. Es gibt einfach Worte, die sich nicht steigern lassen - und dazu gehört u.a. aktuell.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Elex
Top
#15
Hi
 
Danke Günter für den Hinweis, ich hatte @LCohen seinen Beitrag nicht als grammatische Korrektor interpretiert.
Zitat:einfach nur doppelt gemoppelt. Es gibt einfach Worte, die sich nicht steigern lassen - und dazu gehört u.a. aktuell.

Da war heut Morgen aber einer ganz schön spitz unterwegs.
Oder mit Günters Worten „Es gibt …, die sich nicht steigern lassen.“
 
Aber Ok. Ich habe es mir angesehen und „aktuellsten“ gibt es im Duden so nicht. Verwendet wird es zwar fast überall, im Duden dann selbst als Erklärung für andere Begriffe.
top: Adjektiv    (von höchster Güte, hervorragend; auf dem aktuellsten Stand, hochmodern)
 
@ Bamane
Hier noch mal ein überarbeiteter Code. Sollte eine Komponente von Tab1 nicht in Tab2 existieren gibt es keinen Programmabbruch und die Komponente wird als fehlend markiert.
Code:
Public Sub Liste3()
Dim ArrTab1, ArrTab2 As Variant
Dim n, i As Long
Dim c As Range

ArrTab1 = Sheets("Sheet1").Range("A1").CurrentRegion
ArrTab2 = Sheets("Sheet2").Range("A1").CurrentRegion
ArrTab2(1, 3) = "fehlt"
ArrTab2(1, 4) = "fehlt"

i = UBound(ArrTab1, 1)
With Sheets("Sheet2").Range("A1", Sheets("Sheet2").Range("A1").End(xlDown))
For n = 2 To i
   Set c = .Find(ArrTab1(n, 1), LookIn:=xlValues)
   If Not c Is Nothing Then
      ArrTab1(n, 4) = ArrTab2(c.Row, 3)
      ArrTab1(n, 3) = ArrTab2(c.Row, 4)
   Else
      ArrTab1(n, 4) = ArrTab2(1, 3)
      ArrTab1(n, 3) = ArrTab2(1, 4)
   End If
Next n
End With

Sheets("Sheet1").Range("A1").Resize(i, 4) = ArrTab1
End Sub
Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Bamane
Top
#16
Hallo zusammen,

entschuldigt bitte die Unklarheit, ich meine das letzte Datum damit und Elex hat mich verstanden. War aber witzig eure Unterhaltung heut Morgen (hier ist es 9 am) durchzulesen. :)

@Elex, dein Code funktioniert super...vielen Dank dafür. Bezüglich des Sortiervorgangs habe ich folgenden Code verwendet, der erst nach den Komponenten sortiert und danach nach dem Datum. Hierbei wird die Sortierung einzeln nacheinander durchgeführt und die Sortierung nach den Komponenten wird im zweiten Schritt verworfen. 

Code:
   Application.CutCopyMode = False
   ActiveWorkbook.Worksheets("Prices & Deliv. date").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Prices & Deliv. date").Sort.SortFields.Add Key:= _
       Range("E2:E39336"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
       :=xlSortNormal
   ActiveWorkbook.Worksheets("Prices & Deliv. date").Sort.SortFields.Add Key:= _
       Range("I2:I39336"), SortOn:=xlSortOnValues, Order:=xlDescending, _
       DataOption:=xlSortNormal
   With ActiveWorkbook.Worksheets("Prices & Deliv. date").Sort
       .SetRange Range("A1:U39336")
       .Header = xlYes
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With

Außerdem möchte ich gerne Tabelle 1 wie folgt erweitern und habe dazu die Datei in den Anhang hinzugefügt: In Tabelle 2 sind nun die Anzahl der Komponenten zu sehen. Je mehr von den einzelnen Komponenten bestellt werden, umso geringer sind die Preise. Hier soll nun eine weitere Bedingung betrachtet werden, sodass 
1. Für die maximale Anzahl der Komponenten soll der Preis mit dem "aktuellsten" Datum in Tabelle 1 erscheinen. 
2. Analog  dazu, soll der Preis mit dem "aktuellsten" Datum bei minimaler Anzahl der Komponenten in Tabelle 1 angezeigt werden. 

Gruß 
Bamane


Angehängte Dateien
.xlsm   Search by latest date in range.xlsm (Größe: 18,95 KB / Downloads: 2)
Top
#17
Hi,

wäre die Aufgabenstellung von Anfang an so gewesen, hätte ich es wahrscheinlich etwas anders gelöst.

Mal zum Testen.

.xlsm   Mappe112.xlsm (Größe: 20,42 KB / Downloads: 1)
Kannst ja mal Bescheid geben wie lange der Code etwa braucht.

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Bamane
Top
#18
Sorry Elex, die Erweiterung wurde mir erst heute mitgeteilt. Ansonsten hätte ich es von Angang an so angegeben. 
Dein Code funktioniert echt super und ist auch sehr schnell...vielen DANK. 

Eine Frage hätte ich hierzu und zwar kannst du mir bitte sagen, wie der Button ausführen mit dem Code verknüpft ist bzw. wird? 
Sehe keinen Code, der die Subs aufruft.
Top
#19
Ein rechts Klick auf das Rechteck(ausführen) -> Makro zuweisen -> Sortieren, die anderen Subs werden automatisch von dort aus gestartet.
(Geht auch mit anderen eingefügten Formen.)
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Bamane
Top
#20
Super, vielen Dank Elex!
Top


Gehe zu:


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