Clever-Excel-Forum

Normale Version: Suchfeld mit Textfenster in eine Dynamische Tabelle erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8 9
ich sehe keine Veränderungen, es werden immer noch alle Zellen angezeigt wo die gleiche werte drin stehen???

Ich möchte daß das Makro von in Zelle A16 beginnt mit der suche der eingegebene Werte, Makro muss quer also in eine Zeile bis AX16 suchen, wenn er z.b. in D16 fündig geworden ist, dann soll er die Suche abschließen und in die A17 wechseln, hier soll die Prozedur wiederholt werden und so weiter bis er die gesamte Tabelle durch hat
Hallöchen,


Da musst Du mal schauen, ob Deine Logik mit dem xErste und DoUntil stimmt. Der Code geht jetzt auf jeden fall erst mal zeilenweise durch, sucht pro Zeile nur 1x und geht nach Deinen Aktionen in die nächste Zeile.
Am Besten, setze bei der ersten Analyse einen Haltepunkt bei xErste = …, schaue was da drin steht und gehe dann mit F8 schrittweise weiter. Dein Array wird auf jeden Fall mit Werten aus dem Bereich Spalte 4 bis Spalte 51 gefüllt, auch wenn der erste Treffer in der Zeile vorher kam.
Auch Hallo,

mir sind bei deinem bruchstückhaften Code zwei Dinge aufgefallen

Code:
Set rng = Worksheets(iCounter).Rows(iCnt).Find _
            (xSuche, after:=Rows(iCnt).Cells(1, 25000), lookat:=Suchart, LookIn:=xlValues)

seit der Version hat Excel 16.384 Spalten, Du willst aber 25.000 Spalten

Code:
With Worksheets(iCounter)
                    Set rng = .Cells.FindNext(after:=rng)

oben suchst Du zeilenweise, den nächsten Treffer aber im gesamten Tabellenblatt.
Ich habe das  xErste und DoUntil entfernt und jetzt funktioniert wie gewünscht, Danke für deine Hilfe


Wenn ich nur in eine Tabelle suchen möchte muss ich doch hier
Code:
For iCounter = 1 To ThisWorkbook.Sheets.Count
einfach in akctive sheet umwandeln aber wenn ich da mache kommt ein Fehler.
und wen ich die Daten ausgeben habe muss ich das Makro manuell beenden, kann ich das auch Automatisch machen?
Hallo,

Zitat:... einfach in akctive sheet umwandeln aber wenn ich da mache kommt ein Fehler.

ganz einfach, der Fehler kommt, weil es sich nun nicht mehr um eine Schleife handelt, denke ich.
Da Du nicht auf die Idee gekommen bist, uns Deine Änderungen genauer mitzuteilen, bleibt Alles nur Raterei.
Hallöchen,

Du hattest den Schleifenzähler ja mal korrekt verwendet, z.B.
For iCounter = 1 to ...
Worksheets(iCounter)
usw.

Wenn Du mit ActiveSheet arbeitest, musst Du schauen, wo überall das Sheet mit dem iCounter verwendet wurde.

einfach in akctive sheet umwandeln aber wenn ich da mache kommt ein Fehler.

ist auch nicht gerade aussagekräftig. Wenn Du es so programmiert wie Du es hier geschrieben hast, würde ich 2 Syntaxfehler ansprechen. Zum einen ist ein k Zuviel und zum anderen ein Leerzeichen Smile

Übrigens hatte ich vorgeschlagen:
… after:=Rows(iCnt).Cells(1, 1) …

Das wäre in der Zeile iCnt die Zelle in Spalte A
Hallo Schauan,

Vielen Dank für deine Unterstützung, funktioniert alles wunderbar.
Hallo Zusammen,

mir ist jetzt aufgefallen, daß wenn mehrere Personen bei mir die Sachen anfordern ich manchmal durcheinander kommen.
Bei Ausgabe der Materialien wird zwar in bestimmte Zelle das Anforderung datum kreiert aber wenn z.b. 10 Personen es machen, dann wird es unübersichtlich.

Anbei der Code für die Ausgabe der Daten:

Code:
Dim iCounter, xCounter As Long
Set wkb1 = ThisWorkbook
Set wkb2 = Workbooks.Add(1)
Set wks2 = wkb2.Sheets(1)
wkb1.Activate
For iCounter = 0 To ListBox1.ListCount - 1
   If ListBox1.Selected(iCounter) And xOpt = 1 Or xOpt = 2 Then
       Set XBlatt = Sheets(ListBox1.List(iCounter, 0))
       XZeile = Range(ListBox1.List(iCounter, 1)).Row
       XBlatt.Cells(XZeile, 54).Value = Date
       xCounter = xCounter + 1
       XBlatt.Range("G" & XZeile & ",H" & XZeile & ",K" & XZeile & ",R" & XZeile & ",S" & XZeile & ",T" & XZeile & ",AJ" & XZeile & ",AK" & XZeile & ",AL" & XZeile & ",AU" & XZeile & ",AV" & XZeile & "").Copy wks2.Cells(xCounter, 1)
   End If
Next iCounter
wks2.Activate

das Ausgabe datum ist ja schon drin --> XBlatt.Cells(XZeile, 54).Value = Date

jetzt will ich das auch Parallel eine Fortlaufende Nummer mit erstellt wird aber bezogen immer auf das Datum.
Bsp. Am 16.11.2018 werden 3 Unterschiedlichen Material Anforderungen gestellt
Anforderung 1 --> 5 Materialien
Anforderung 2 --> 10 Materialien
Anforderung 3 --> 15 Materialien
Dann kommt  in Zelle 54 bei alle Materialien 16.11.2018 und z.b Zelle 55
bei 5 Materialien 1
bei 10 Materialien 2
bei 15 Materialien 3
also einfach fortlaufende Nummer, wenn jetzt am 17.11.2018 neue Anforderungen kommen, dann kommt als Datum 17.11.2018 aber die Fortlaufende Nummer beginnt von vorne
Bsp. Am 17.11.2018 werden 3 Unterschiedlichen Material Anforderungen gestellt
Anforderung 1 --> 5 Materialien
Anforderung 2 --> 10 Materialien
Anforderung 3 --> 15 Materialien

Dann kommt  in Zelle 54 bei alle Materialien 17.11.2018 und z.b Zelle 55

bei 5 Materialien 1
bei 10 Materialien 2
bei 15 Materialien 3
Ich hoffe es ist verständlich
Vielen Dank vor ab
Man kann sich auch einlesen und sich selbst etwas bei bringen... hier mein Tip dazu..

https://www.youtube.com/results?search_q...lernvideos
das mit den Automatischen Nummerierung sollte kein problem sein.
Aber den Bezug zum Datum herzustellen da habe ich meine Probleme
Seiten: 1 2 3 4 5 6 7 8 9