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.

VBA suchen und schreiben automatisiert
#21
Autofilter<>Advancedfilter

Verwende F1.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#22
Hallo Gast 123,
 
ich habe das 5. Blatt noch mal verworfen und mir das ganze etwas anders gemacht.
Bisher ist deine Datei für meine Zwecke perfekt.
 
Könntest du mir bitte das 5. Blatt auch mit einem Makro bauen und einem Button?
 
Vielen, vielen Dank und Gruß


Angehängte Dateien
.xlsm   test VBA suchen 3F.xlsm (Größe: 134,15 KB / Downloads: 5)
Antworten Top
#23
Hallo,

ich bin dabei, habe ein Makro entworfen, habe aber noch Rückfagen zum Rezepte auswerten. Ich gehe davon aus das zuerst nach der Artikel Nr. gesucht werden muss, und dann nach dem Rezept. Ich denke das jede Artkel Nr. nur einmal vorkommt. Und das dann zu diesem Artikel das Rezept geprüft werden muss.  Ist das so richtig??

Bei der Artikel Nr vergleiche ich die ganze Zahl. Wie ist das beim Rezept?  Gebt ihr das Rezept komplett ein, oder manchmal nur einen Teilbegriff??  
Ich kann beides programmieren. Aber wie wollt ihr es haben??  Das muss ich im Find Code festlegen!

mfg  Gast 123
Antworten Top
#24
Guten Morgen,

Vielen, vielen Dank schon mal vorab.
Die RezeptNr. kommt mehrfach vor. Genau richtig, erst soll das Rezept gesucht werden, wenn gefunden, soll geprüft werden, ob eine der ArtikelNr. Dabei ist, die im Suchfeld eingetragen ist. Wenn nicht, sollte es mir die Werte ausgeben.
Die ArtikelNr. wird komplett eingetragen.
RezeptNr. kann ., oder ähnliches enthalten. RezeptNr kann buchstaben enthalten.

Vielen, vielen Dank!!! Das würde mir sehr viel erleichtern!!

Danke und Gruß
Antworten Top
#25
Moin!
Ohne dem Thread weiter zu helfen, als Erklärung:
Advanced Filter ist der Spezialfilter oder auch Filter, erweitert.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#26
Hallo,

anbei die überarbeitete Datei mit Suchlauf für Produkt 5 zurück.  Ich hoffe das ich es gut entwickelt habe.

Es gibt zwei getrennte Makros für Suchlauf 1+2.  Der zweite wird an die fertige Tabelle angehangen.  Beim 1. Suchlauf lasse ich keine Leerzeilen, d.h., die Zeile von Rezept und das Ergbnis stimmen nicht überein.  Finde ich kein Rezept notiere ich in Spalte I den Vermekr "No Find", lasse diese Zeile aber nicht frei!  Finde ich im 1. Scuhlauf ein Teil-Rezept notiere ich das Original Rezept, so wie es in der Auswertung steht. Die dazugehörige Artikel Nr. wird ebenfalls notiert.

Für den 2. .Suchlauf benutze ich die zusazetlichen Spalten M+N, weil ich im zweiten Makro den Text bei "," oder "." in zwei Teil Texte zerlege, und seperat nach jedem Teil Text suche.  Das Ergebnis kann mit dem 1. Suchlauf übereinstimmen, das zweite Makro findet auf diese Art aber noch weitere Rezepte. Ich bin gespannt wie sich diese Idee in der Praxis bewaehrt??  Bitte noch PN lesen.

mfg  Gast 123


Angehängte Dateien
.xlsm   test VBA suchen 3F.xlsm (Größe: 135,35 KB / Downloads: 6)
Antworten Top
#27
Hallo Gast123,
 
wow. Klasse. Bin nur etwas skeptisch. kann man das nicht so aufbauen, dass die Skript wirklich nur schaut, ob es das Rezept ist in der Auswertung und wenn es das ist, checkt, dass einer der Artikel nicht dabei ist. wenn er dabei ist, soll die Datei keinen wert ausgeben, wenn keiner der Artikel dabei ist, soll ein wert ausgegeben werden.
 
Vielen, vielen Dank!!
Gruß
Antworten Top
#28
Hallo,

Zitat:ob es das Rezept ist in der Auswertung und wenn es das ist, checkt, dass einer der Artikel nicht dabei ist - ???
vielleicht habe ich die Aufgabenstellung ein wenig falsch verstanden, falls ja kein Thema, korrigieren wir es!

Wenn ich es jetzt richtig verstehe könnte das Rezept mehrfach vorkommen, bei verschiedenen Artikeln. Ist das korrekt?? Noch nicht ganz verstanden habe ich das Satzende:  das einer der Artikel nicht dabei ist.  Am einfachsten waere das an Hand einer kleinen Beispieldatei zu verstehen, wo ich in der Auswertung Rezepte habe, können Fantasienamen sein, Wacholder, Waldmeister, wo ich dann ersehen kann wann einer der Artikel nicht dabei ist??

Ich rate jetzt nur mal - einfach geraten.  Durch die Rezepte laufen, mit den Artikel Nr. vergleichen,  und schauen bei welchem Artikel kein Rezept vorliegt.  Ist das so richtig??  Wenn nichts gefunden wird, welchen Text soll ich dann ausgeben, und in welcher Spalte??

mfg  Gast 123  
Antworten Top
#29
Hey,
 
kein Thema. Gehen wir mal davon aus, dass ich bei Rezept ca. 30 Rezepte eingeben will, die in Auswerten gesucht werden sollen. In auswerten stehen aktuell fast 2000 Zeilen, die durchsucht werden sollen, Tendenz steigend.
Von diesen 2000 Zeilen kommen die Rezepte ca. 500-mal vor.
 
Wenn das Makro jetzt eine dieser Rezept nummern findet, soll es Checken, ob eine der Artikelnummern übereinstimmt. Wenn keine Artikelnummer übereinstimmt, sollen die Werte in die Produkt 5 übergeben werden.
 
So kann ich quasi die Ergebnisse abfragen, die ich vorher durch Produkt 1 - 4 noch nicht abgefragt habe und zu viele wechselnde Artikelnummern haben.
 
Lieben Gruß
Antworten Top
#30
Hallo

dafür brauchen wir keine Beispieldatei, einfach ein neues Modul einfügen und das neue Makro ins Modul einfügen. Dem Button den neuen Makro Namen zuweisen, dann sollte es klappen. Würde mich sehr freuen.  Die zu durchsuchende Zeilen spielen dabei keine Rolle, weil ich die ganze Spalte durchsuche.

mfg  Gast 123 

Code:
Option Explicit      '21.2.2017  Gast 123  Clever Forum
'neu aufgenommen:  Rezeptsuche Neu
Const ASW = "Auswertung"   'Auswertung

'A=gefüllt, D=Ltr, H=Artikel, J=datumgang
Dim rFind As Object, AJ As Object


'Extra Blatt - Produkt5 auflisten
'suche nach Rezepten + Artikel

Sub Produkt5_auflisten_Neu()
Dim x As Integer, z As Integer
Dim Adr1 As String, nAdr As String
Dim ATB As Worksheet, AC As Object
Set ATB = Worksheets(ASW)
z = 2   '1. Zeile in Produkt5

With Worksheets("Produkt 5")
  'alte Liste ganz löschen
  .Range("I2:I100") = Empty
  .Range("K2:K100") = Empty
  .Range("A2:F1000") = Empty
 
  'Schleife: Rezeptspalte durchsuchen
  For Each AC In .Range("J2:J100")
     If AC.Value = Empty Then Exit For
     'in Spalte H1 Artikel suchen
     Set rFind = ATB.Columns("F").Find(What:=AC, After:=Range("F1"), _
         LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
     
     'Meldung wenn kein Rezept gefunden wurde
     If rFind Is Nothing Then AC.Cells(1, 0) = "No Find": GoTo nxt
 
     Adr1 = rFind.Address
     x = rFind.Row:  nAdr = Adr1
     
     Do 'Do Schleife für alle Jahrgaenge
        'Schleife für Artikel Nr. suchen
        For Each AJ In .Range("L2:L100")
          If AJ.Value = Empty Then Exit For
          If ATB.Cells(x, "H") = AJ.Value Then
             .Cells(z, 1) = CDate(ATB.Cells(x, 1))  'Datum
             .Cells(z, 2) = ATB.Cells(x, 4).Value   'Fl.Grösse
             .Cells(z, 3) = ATB.Cells(x, 6).Value   'Rezept
             .Cells(z, 4) = ATB.Cells(x, 7).Value   'Flaschen
             .Cells(z, 5) = ATB.Cells(x, 8).Value   'Artikel
             .Cells(z, 6) = ATB.Cells(x, 10).Value  'Jahrgang
              AJ.Cells(1, 0) = " gefunden"
              z = z + 1
          End If
        Next AJ
       'next Jahrgang Zeile suchen bis Ende
       Set rFind = ATB.Columns("F").FindNext(After:=Range(nAdr))
       nAdr = rFind.Address: x = rFind.Row
     Loop Until rFind.Address = Adr1

nxt:  'überspringen
  Next AC
End With
End Sub
Antworten Top


Gehe zu:


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