Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Sascha, (03.11.2015, 08:55)alti89 schrieb: - Neues Sheet erzeugen (Test11) - mit dieser Formatierung - und Artikelnummer als Name übernehmen. ich würde das auch gerne als Userform realisieren weis ich leider nicht wie ich sowas überhaupt anfangen soll :22:
- Bei wiederholten klick auf (B) V-MSBD-696143) landet man wieder in der Tabelle (Tabellen wären am besten wenn die auf " hide" wären) Ich verstehe immer noch nicht, warum dazu 180 einzelne Sheets erzeugt werden müssen. Ich habe den Eindruck, daß die Artikelnummer nicht eineindeutig ist, z.B. für die Artikelnummer 36-ML3500 MK8-STK gibt es 16 verschiedene Gerätenummern. Sollen diese 16 alle in einem einzigen "Test11" Sheet stehen (Fall 1) oder jede ein einzelnes Sheet (Fall 2) haben? Sind es 50 Zeilen pro Artikel oder pro Gerät? Fall 1: Dann stehen die Daten für diese 16 Geräte alle in einem Sheet. Ist das übersichtlich? Wie unterscheidest Du da? Fall 2: Diese 50 Zeilen kannst Du dann auch für alle 180 Geräte in einem einzigen Sammelsheet chronologisch untereinanderschreiben und später dann auf die Artikel/Geräte filtern. Dazu in beiden Listen ("Demogeräte Pool" sowie "Sammelsheet") zusätzlich eine neue Spalte A einfügen und dort für jedes Gerät eine eineindeutige ID schreiben. Beim Klick auf die ID (in "Demogeräte Pool") per VBA das Sammelsheet in den Vordergrund holen und dort die Liste auf diese ID filtern.
Registriert seit: 24.09.2015
Version(en): 2010
36-ML3500 MK8-STK das ist ein Sonderartikel, der wird im System leider nicht seriennummern abhängig geführt.
. warum ich für jede Art eine einzelnes Sheet will, weil ich dort die nachvollziehbarkeit gewährleisten muss Z.B
Gerät MSC/B-SES-90001559
über Auftrag 10483905 am xx - xx bei Kunde xxxxx über Auftrag 10483906 am xx - xx bei Kunde xxxxx über Auftrag 10483925 am xx - xx bei Kunde xxxxx über Auftrag 10483949 am xx - xx bei Kunde xxxxx über Auftrag 10483978 am xx - xx bei Kunde xxxxx
so fühlt sie die neu anlegte Tabelle relativ schnell da die Geräte sehr oft "in" und "out" sind deshalb die Idee mit dem Doppellick - Neue Tablle mit namen der Art. Nr. - Zum Eintragen der Werte. und ich bräuchte so eine Historie für jedes Gerät.
deshalb der Aufwand
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (03.11.2015, 10:34)alti89 schrieb: so fühlt sie die neu anlegte Tabelle relativ schnell da die Geräte sehr oft "in" und "out" sind deshalb die Idee mit dem Doppellick - Neue Tablle mit namen der Art. Nr. - Zum Eintragen der Werte. und ich bräuchte so eine Historie für jedes Gerät. Nachvollziehbarkeit hast Du auch bei Filterung. Excel hat 1.048.576 Zeilen das ergibt pro Gerät ~5.825 Zeilen Historie. Sheet1 | A | B | C | D | E | F | 1 | | Device Historie | 2 | | 3 | Artikel | SL | Zeitraum | Kunde | Ort | Bemerkung | 4 | MSC/B-SES-90001559 | 10483905 | xx - xx | xxxxx | | | 5 | MSC/B-SES-90001559 | 10483906 | xx - xx | xxxxx | | | 6 | MSC/B-SES-90001559 | 10483925 | xx - xx | xxxxx | | | 7 | MSC/B-SES-90001559 | 10483949 | xx - xx | xxxxx | | | 8 | MSC/B-SES-90001559 | 10483978 | xx - xx | xxxxx | | | 9 | MSC/B-SES-90005170 | 10483979 | xx - xx | aaaaa | | | 10 | MSBD-SES-90003072 | 10483980 | xx - xx | aaaaa | | | 11 | V-MSB-SES-90005319 | 10483981 | xx - xx | bbbbb | | | 12 | V-MSBD-696576 | 10483982 | xx - xx | ccccc | | | 13 | MSBD-SES-90004735 | 10483983 | xx - xx | ddddd | | | 14 | MSBD-SES-90005998 | 10483984 | xx - xx | eeeee | | | 15 | V-MSBD-696143 | 10483985 | xx - xx | fffff | | | 16 | | | | | | |
Excel-Inn.de | Hajo-Excel.de | XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007 | Add-In-Version 19.08 einschl. 64 Bit |
Diese Liste gefiltert nach Artikel und Du hast die Historie nur für diesen Artikel, die Du ausdrucken oder sonstwas damit machen kannst. Das ist weniger aufwendig und schneller und die Datei ist kleiner, als bei 180 Tabellen in einer Datei.
Registriert seit: 24.09.2015
Version(en): 2010
oh das gefällt mir sehr gut muss ich sagen :100:
wie man sieht excel doch noch sehr unerfahren...
- ok und wie mach ich das wenn ich auf die Art. Nr. Doppelklicke in diese Liste komme ? - ist sowas in userform realisierbar die sich direkt bei Doppellklick auf in eine Zelle bei B öffnet und so aufgebaut ist ?
verbundene Zellen B1:F2
was genau meinst du damit ?
vielen Dank schonmal Gruß Sascha
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Sascha, (03.11.2015, 11:22)alti89 schrieb: - ok und wie mach ich das wenn ich auf die Art. Nr. Doppelklicke in diese Liste komme ? - ist sowas in userform realisierbar die sich direkt bei Doppellklick auf in eine Zelle bei B öffnet und so aufgebaut ist ?
verbundene Zellen B1:F2 was genau meinst du damit ? da kannst Du jetzt etwas selber machen und was dabei lernen: Du startest die Makro-Aufzeichnung und machst die erste Aktion: klicken auf den Link in der Pool-Liste, dann wechselst Du auf die Sammelliste und klickst die Filterung für den richtigen Wert, dann Aufzeichnung beenden und das Makro hier posten, dann können wir es gemeinsam verkürzen und verallgemeinern. verbundene Zellen: Das bedeutet, daß Du die Zellen B1 bis F2 miteinander verbunden hast in Deiner Test11. Verbundene Zellen sind nicht so gut, eine Ausrichtung mittig über die Tabelle kann auch einfacher erreicht werden.
Registriert seit: 24.09.2015
Version(en): 2010
okay, Feld ( Artikelnummer ) angeklickt, in Historie gewechsel und nach der Art. Nr. Gefilter ergab folgendes: Code: Sub Historie() ' ' Historie Macro '
' Range("B3").Select ActiveCell.FormulaR1C1 = "MSC/B-SES-90001559" Sheets("Historie").Select ActiveWindow.SmallScroll Down:=-21 ActiveSheet.Range("$A$3:$E$4").AutoFilter Field:=1 Range("A4").Select ActiveCell.FormulaR1C1 = "MSC/B-SES-90001559" End Sub
wenn ich das Marco Starte springt er Automatisch in dieses Sheet.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
03.11.2015, 16:46
(Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2015, 17:28 von Rabe.)
Hi, (03.11.2015, 15:59)alti89 schrieb: wenn ich das Marco Starte springt er Automatisch in dieses Sheet. teste mal dieses Makro: Code: Option Explicit
Sub Historie() ' ' Historie Makro ' Dim strArtikel As String Dim loLetzteA As Long ' strArtikel = ActiveCell.Value With Sheets("Sheet1") .Activate loLetzteA = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) 'letzte belegte Zeile in Spalte A (1) .Range("$A$3:$F" & loLetzteA).AutoFilter Field:=1 'Filter zurücksetzen .Range("$A$3:$F" & loLetzteA).AutoFilter Field:=1, Criteria1:=strArtikel 'Filter setzen End With End Sub
Hier die Beispieldatei:
DemoTest.xlsm (Größe: 110,32 KB / Downloads: 3)
Zelle mit zu suchender Artikelnummer auswählen, Button drücken, Fertig! oder Doppelklick in zu suchende Artikelnummer, Fertig! Jetzt benötigst Du nur noch die Userform (Eingabemaske), mit der Du neue Daten an Sheet1 anhängen kannst.
Registriert seit: 24.09.2015
Version(en): 2010
:18: das ist ja fast das was ich suche ich versteh das mit dem Rekorden nur noch nicht ganz. wenn ich jezz auf macro Rekord gehe und folgendes tue. wähle einen Artikel der noch nicht in der Historie ist Klicke auf den Historie Anzeigen button .. so und jezz wie sag ich Excel nimm diese Artikel , kopier mir den in das Sheet1, und Filter danach
Registriert seit: 10.04.2014
Version(en): 2016 + 365
03.11.2015, 17:27
(Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2015, 17:29 von Rabe.)
Hi, (03.11.2015, 17:13)alti89 schrieb: wähle einen Artikel der noch nicht in der Historie ist Klicke auf den Historie Anzeigen button
.. so und jezz wie sag ich Excel nimm diese Artikel , kopier mir den in das Sheet1, und Filter danach wenn der noch nicht in der Historie ist, kann da ja noch nichts angezeigt werden und ein Filtern hat wenig Sinn. Hier mal mit Eingabemaske:
DemoTest - mit Userform.xlsm (Größe: 118,23 KB / Downloads: 3)
Du könntest in dem Fall, daß der Artikel noch nicht in der Historie ist, ebenfalls die Eingabemaske aufrufen (das ist noch nicht eingebaut).
Registriert seit: 10.04.2014
Version(en): 2016 + 365
03.11.2015, 17:38
(Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2015, 17:41 von Rabe.)
Hi, (03.11.2015, 17:27)Rabe schrieb: Du könntest in dem Fall, daß der Artikel noch nicht in der Historie ist, ebenfalls die Eingabemaske aufrufen (das ist noch nicht eingebaut). ersetze mal das Makro Historie durch dieses: Code: Sub Historie() ' ' Historie Makro ' Dim strArtikel As String Dim loLetzteA As Long Dim rng As Range ' strArtikel = ActiveCell.Value Set rng = Worksheets("Sheet1").Range("A:A").Find(strArtikel) If rng Is Nothing Then Userform1.Show Else With Sheets("Sheet1") .Activate loLetzteA = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) 'letzte belegte Zeile in Spalte A (1) .Range("$A$3:$F" & loLetzteA).AutoFilter Field:=1 'Filter zurücksetzen .Range("$A$3:$F" & loLetzteA).AutoFilter Field:=1, Criteria1:=strArtikel 'Filter setzen End With End If End Sub
@all: wie kann ich der Userform den Wert von strArtikel als Wert für Textbox1 übergeben?
|