Thema Datum  Von Nutzer Rating
Antwort
Rot Zeilen unter bestimmter Bedingung kopieren und zwischenfügen
30.01.2017 14:14:01 Hilfesuchender
NotSolved

Ansicht des Beitrags:
Von:
Hilfesuchender
Datum:
30.01.2017 14:14:01
Views:
1069
Rating: Antwort:
  Ja
Thema:
Zeilen unter bestimmter Bedingung kopieren und zwischenfügen

Hallo liebe Community,

bei mir ergibt sich im Moment folgendes Problem. 
Ich habe eine Liste in Excel importiert. Diese enthält pro Zeile mehrere Namen in einem bestimmten Intervall (Spalten 14-24). Für jeden vorhanden Namen, also immer wenn ein Name in diesem Intervall auftaucht, soll die betreffende Zeile kopiert und unter dem original direkt eingefügt werden, sodass die Zeilen darunter einfach mit runtergeschoben werden. Dabei sollen alle Zeilen durchgegangen werden. Sodass im Endeffekt für jeden Namen eine eigene Zeile mit den dazugehörigen Daten auftaucht.

Im Moment wird ständig nur die erste Zeile zig mal kopiert und alles andere gar nicht, finde aber den Fehler nicht.
Wäre Euch wahnsinnig dankbar, wenn Ihr mir helfen könntet.

VG

(Hoffe, das mit den Countern ist einigermaßen verständlich)

Private Sub CommandButton1_Click()
 'Refresh Macro
    ' liest aktuelle Daten aus/Import
    ActiveWorkbook.RefreshAll
    
        curColumn = 1
'Zeilenzähler
        rowNumber = Worksheets("RessourceRequestList").Cells(Rows.Count, curColumn).End(xlUp).Row
        supportingCounter2 = 1
        supportingCounter3 = 0

'Kopiert die importierten Daten aus der Liste in ein separates Worksheet (daher keine Liste mehr und editierbar)
    For iCounter = 2 To rowNumber Step 1
        Worksheets("RessourceRequestList").Rows(iCounter).Copy Destination:=Worksheets("Trackingliste").Rows(rowNumber2 + iCounter - 1)
    Next
    
'fungiert als Schleifendurchlauf für alle Zeilen der Tabelle
    For iCounter2 = 2 To rowNumber + supportingCounter3 Step supportingCounter
'geht die einzelnen Spalten durch, in denen auf Namen geprüft werden soll
        For columnNumber = 14 To 24 Step 1
            Worksheets("Trackingliste").Cells(iCounter2, columnNumber).Select
            Selection.Activate
'Abfrage, ob Zelle Namen/Wert enthält
                If Not IsEmpty(ActiveCell.Value) Then
                    supportingCounter = supportingCounter + 1
                    If supportingCounter2 < supportingCounter Then
                        supportingCounter3 = supportingCounter3 + 1
'Auswahl der entsprechenden Zeile + Kopiervorgang
                        ActiveSheet.Rows(iCounter2).Select
                        Selection.Copy
                        Selection.Insert Shift:=xlDown
                    End If
                End If
            supportingCounter = 1
        Next
    Next
    Unload Me
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zeilen unter bestimmter Bedingung kopieren und zwischenfügen
30.01.2017 14:14:01 Hilfesuchender
NotSolved