Office: Seriennummern in Spalte

Helfe beim Thema Seriennummern in Spalte in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen Komme leider nicht weiter und zähle verzweifelt auf eure Hilfe! Habe ein Excel, Spalte 1 = Artikelnummern, Spalte 2 bis n =... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von de_raphi, 22. Juli 2011.

  1. de_raphi Neuer User

    Seriennummern in Spalte


    Hallo Zusammen

    Komme leider nicht weiter und zähle verzweifelt auf eure Hilfe!
    Habe ein Excel, Spalte 1 = Artikelnummern, Spalte 2 bis n = Seriennummern. Möchte nun die Seriennummern in Spalte 2 untereinander haben:

    Ausgangslage Variante 1:
    http://dl.dropbox.com/u/10535061/Mappe1.xlsx

    Ausgangslage Variante 2:
    http://dl.dropbox.com/u/10535061/Mappe2.xlsx

    ==> Ziel ist es, pro Zeile EINE ArtikelNr. und EINE Seriennummer zu haben (wohl eine Mischung aus Transponieren, Zeile einfügen und Artikel-Nr. kopieren).


    Beispiel
    vorher:
    1885690100159;c121212121;c124547845;c147845787

    nachher:
    1885690100159;c121212121
    1885690100159;c124547845
    1885690100159;c147845787


    kann hier jemand helfen? Vorgabe ist, ein Makro dazu zu schreiben.

    Herzlichen Dank im voraus!
    Gruss
    Raphi
     
    de_raphi, 22. Juli 2011
    #1
  2. fette Elfe Erfahrener User
    Hallo Raphi,

    den Schritt von Variante 1 zu Variante 2 > "Text in Spalten" hast Du schon gefunden, okay.

    Dann könnte für Variante 2 dieser Code sein, was Du suchst:

    Code:
    Option Explicit
    
    Dim loZeile As Long
    Dim loLetzteZeile As Long
    
    Dim intSpalte As Integer
    Dim intLetzteSpalte As Integer
    Dim intCounter As Integer
    
    Dim varArtikelnummer As Variant
    Dim varSeriennummer As Variant
    
    Public Sub SeriennummernVerteilen()
        
        With Me
            ' letzte belegte Zelle in Spalte A
            loLetzteZeile = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
            
            ' alle belegten Zeilen durchlaufen
            For loZeile = loLetzteZeile To 2 Step -1
                ' letzte belegte Spalte in aktueller Zeile
                intLetzteSpalte = IIf(IsEmpty(.Cells(loZeile, .Columns.Count)), .Cells(loZeile, .Columns.Count).End(xlToLeft).Column, .Columns.Count)
                
                ' wenn mehrere Seriennummern in einer Zeile stehen
                If intLetzteSpalte > 2 Then
                    intCounter = 1
                    
                    ' alle Seriennummern ab der 2. in der aktuellen Zeile
                    For intSpalte = 3 To intLetzteSpalte
                        
                        ' Wertübergabe an Variablen
                        varArtikelnummer = .Cells(loZeile, 1).Value
                        varSeriennummer = .Cells(loZeile, intSpalte).Value
                        
                        ' Zeile einfügen
                        .Rows(loZeile + intCounter).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                        
                        ' Werte in Zellen eintragen
                        .Cells(loZeile + intCounter, 1).Value = varArtikelnummer
                        .Cells(loZeile + intCounter, 2).Value = varSeriennummer
                        
                        ' Zähler erhöhen
                        intCounter = intCounter + 1
                        
                    Next intSpalte
                    
                    ' nicht mehr benötigte Werte löschen
                    .Range(.Cells(loZeile, 3), .Cells(loZeile, intLetzteSpalte)).ClearContents
                    
                End If
                
            Next loZeile
            
        End With
        
    End Sub
    Kopiere diesen Code in das Modul des Tabellenblattes wo Du ihn nutzen möchtest und lass ihn laufen.
    Vorher solltest Du aber auf jeden Fall eine Sicherheitskopie Deiner Daten machen.

    Danach würde ich empfehlen Deine Tabelle mal zu sortieren und Doppelte zu löschen.
    Aber das musst Du ja wissen. ;O)


    Ich hoffe geholfen zu haben.
     
    fette Elfe, 22. Juli 2011
    #2
  3. de_raphi Neuer User
    Hallo Achim

    Wow, ich bin schlicht begeistert, besten Dank für deine ausführliche Antwort!

    Leider generiert der Code bei mir folgenden Fehler:
    "Fehler beim Kompilieren:
    Unzulässige Verwendung des Schlüsselworts Me"

    Was meinst du?
     
    de_raphi, 26. Juli 2011
    #3
  4. fette Elfe Erfahrener User

    Seriennummern in Spalte

    Hallo Raphi,

    das "Me" ist die Referenz, damit Excel weiß auf welchen Bereich, welches Blatt, welche Mappe sich der Code bezieht.


    Ich vermute, Du hast diesen Satz nicht befolgt:
    In einem allgemeinen Code-Modul müsste die Referenz anders aussehen, zum Beispiel so:
    Code:
    With ThisWorkbook.Worksheets(1)
    oder so:
    Code:
    With ThisWorkbook.Worksheets(Tabelle1)

    Im angehängten Bild siehst Du genau welches Code-Modul ich meine.
    Dort muss der Code rein.
    Falls Du den Code NICHT für Blatt 1 nutzen möchtest, muss er natürlich in das entsprechende Modul.

    Ich hoffe jetzt sind alle Klarheiten beseitigt.
    ;O)
     
    fette Elfe, 26. Juli 2011
    #4
  5. de_raphi Neuer User
    Hallo Achim

    Perfekt, hat einwandfrei funktioniert, tausend dank für deine Hilfe! Habe noch einige Ergänzungen vorgenommen (wie Zeilen ohne Seriennummern löschen etc.), nun kann sichs sehen lassen ;)

    Gute Zeit,
    Gruss
    Raphael
     
    de_raphi, 27. Juli 2011
    #5
Thema:

Seriennummern in Spalte

Die Seite wird geladen...
  1. Seriennummern in Spalte - Similar Threads - Seriennummern Spalte

  2. Wie kann ich die x häufigsten Ausdrücke aus einer Spalte ermitteln?

    in Microsoft Excel Hilfe
    Wie kann ich die x häufigsten Ausdrücke aus einer Spalte ermitteln?: Nach umfangreicher Recherche und einigem Probieren konnte ich meine Anforderung noch nicht erfüllen. Nun hoffe ich auf Eure Unterstützung. Für ein Tippspiel importieren wir regelmäßig aus einer...
  3. Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.

    in Microsoft Excel Hilfe
    Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.: Hallo, kann mir jemand bitte bei folgenderm Helfen. Habe etwas ähnliches gefunden was ich brauche, nur noch eine kleine Änderung ist notwendig. Aufgabe: Es wird geprüft, ob in Spalte Q ein Wert...
  4. Mittelwert aus mehreren Spalten als dynamisches Array

    in Microsoft Excel Hilfe
    Mittelwert aus mehreren Spalten als dynamisches Array: Hallo liebes Forum, ich bin bei folgendem Problem ratlos: Ich berechne für verschiedene Dozenten Feedback anhand von 3 verschiedenen Kriterien. Die Stammdaten der Feedbacks stehen in einer...
  5. Formel in Spalten / Zellen aktivieren

    in Microsoft Excel Hilfe
    Formel in Spalten / Zellen aktivieren: Hallo, ich versuche mich immer noch an einer Tabelle, wo ich mittels Userform Daten hineinkopiere. Formeln in den Spalten F, I und L ebenfalls zu kopieren gelingt mir nicht. Ich suche...
  6. Umrechnen Hex to Dec (RFID Seriennummer)

    in Microsoft Access Hilfe
    Umrechnen Hex to Dec (RFID Seriennummer): Hallo, ich habe folgendes Problem: Ich lese von RFID Transpondern die Seriennummer aus. Diese wird in HEX dargestellt. Wenn ich nun in DEC umrechne habe ich bei einigen Transpondern falsche...
  7. Daten abfragen, Seriennummer hoch zählen, in Formular schreiben

    in Microsoft Access Hilfe
    Daten abfragen, Seriennummer hoch zählen, in Formular schreiben: Hallo an alle, ich bin ein etwas unerfahrener VBA Programmierer und soll für die Arbeit ein Tool programmieren. Ziel des Tools: Der Mitarbeiter gibt eine Auftragsnummer bestehend aus Belegjahr,...
  8. Seriennummern bereinigen

    in Microsoft Excel Hilfe
    Seriennummern bereinigen: Tach zusammen! Habe da mal ein Riesenproblem... Ich habe verschieden Excellisten, in denen zeilenweise Seriennummern aufgeführt sind. Diese Seriennummern bestehen sowohl aus Ziffern als auch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden