Office: einzelne kopierte bereich untereinander eunfügen.

Helfe beim Thema einzelne kopierte bereich untereinander eunfügen. in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo euch allen, Ich hoffe jemand kann mir bei meinem Problem weiterhelfen. Ich zeige schon mal was ich bisher habe. Sub niO() Dim i As Long,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Sunblocker, 4. März 2013.

  1. Sunblocker Erfahrener User

    einzelne kopierte bereich untereinander eunfügen.


    Hallo euch allen,
    Ich hoffe jemand kann mir bei meinem Problem weiterhelfen. Ich zeige schon mal was ich bisher habe.
    Sub niO()

    Dim i As Long, j As Long
    For i = 16 To 42
    j = 16
    Sheets("Stecker_01a").Select
    If Range("O" & i) = "X" Then
    Range("F" & i, "O" & i).Copy
    Sheets("Abweichungen_01").Select
    Range("F" & j).Select
    ActiveSheet.Paste
    End If
    Next
    j = j + 1
    End Sub

    Grundsätzlich soll das Makro abfragen, ob in der Spalte O ein X steht. Wenn ein X da ist soll der in diese Zeile einen betimmten Bereich kopieren und diese dann in einem anderen Arbeitsblatt einfügen. Das ganze klappt soweit mit einem Wert. Sobald mehr Zeilen zu kopieren gilt:Bei meinem Makro fügt er den zu kopierenden Bereich immer in die Zelle F16. der soll aber so hatte ich es vor mit j=j+1 eine Zeile runter gehen sprich G16 den 2ten Bereich einfügen, für den dritten Bereich in H16 einfügen etc. komm einfach nicht drauf was man da macht.

    Liebe Grüße Suny
     
    Sunblocker, 4. März 2013
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Suny,

    bei deinem Code setzt du in jeder Schleife zu Beginn j auf 16, sodass die Erweitung auf die nächste Zeile, die du korrekt mit j = j + 1 festlegst, immer wieder zurückgesetzt wird. Versuche es mal so:

    Code:
    Sub niO()
       Dim i As Long, j As Long
       j = 16
       With Sheets("Stecker_01a")
          For i = 16 To 42
             If .Range("O" & i) = "X" Then
                .Range("F" & i, "O" & i).Copy Sheets("Abweichungen_01").Range("F" & j)
                j = j + 1
             End If
          Next
       End With
    End Sub
    Bis später,
    Karin
     
    Beverly, 4. März 2013
    #2
  3. Sunblocker Erfahrener User
    Hallo Karin,
    danke dir vielmals, es klappt. hätte nie gedacht, dass es an der positionierung von j =16 liegt. ich werde deine Form übernehmen. sieht eleganter aus und ohne select, flackert auch das bild nicht so.
    Hätte noch eine andere Frage wie würde das Makro aussehen wenn es jetzt mehrere Arbeitsblätter betrifft, sprich Stecker_01a, Stecker_01b, ..c etc. Klappt schon mal nett wenn ich einfach

    with sheets("stecker_01a","stecker_01b") mache.

    Gruß Suny
     
    Zuletzt bearbeitet: 4. März 2013
    Sunblocker, 4. März 2013
    #3
  4. Beverly
    Beverly Erfahrener User

    einzelne kopierte bereich untereinander eunfügen.

    Hi Suny,

    Code:
    Sub niO()
       Dim i As Long, j As Long
       Dim arrTabs()
       Dim lngTabs As Long
       ' in das Array alle Tabellennamen schreiben, die durchlaufen werden sollen
       arrTabs() = Array("Stecker_01a", "Stecker_01b", "Stecker_01c", "Stecker_01d", "Stecker_01e")
       j = 16
       For lngTabs = 0 To 4
          With Sheets(arrTabs(lngTabs))
             For i = 16 To 42
                If .Range("O" & i) = "X" Then
                   .Range("F" & i, "O" & i).Copy Sheets("Abweichungen_01").Range("F" & j)
                   j = j + 1
                End If
             Next
          End With
       Next lngTabs
    End Sub
    Bis später,
    Karin
     
    Beverly, 4. März 2013
    #4
  5. Sunblocker Erfahrener User
    Hi Karin,
    danke für das super Makro, funktioniert wie gewünscht. Echt klasse wieder eine neue Funktion gelernt.

    Liebe grüße Suny
     
    Sunblocker, 5. März 2013
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Suny,

    schön dass es deinen Wünschen entsprechend funktioniert.

    Einen Hinweis möchte ich noch geben, was Arrays betrifft: sie beginnen standardmäßig immer bei 0, was man beim Schleifendurchlauf über die Array-Inhalte berücksichtigen muss - deshalb (wenn sich 5 Inhalte im Array befinden):

    For lngTabs = 0 To 4


    Es gibt allerdings auch die Möglichkeit, Arrays bei 1 beginnen zu lassen, was in Ausnahmefällen günstiger ist. In derartigen Situation schreibt man zu Beginn des Codemoduls (also noch vor das erste Makro) diese Zeile

    Code:
    Option Base 1
    Sie bedeutet (logischerweise), dass alle Arrays bei 1 beginnen.

    Bis später,
    Karin
     
    Beverly, 5. März 2013
    #6
Thema:

einzelne kopierte bereich untereinander eunfügen.

Die Seite wird geladen...
  1. einzelne kopierte bereich untereinander eunfügen. - Similar Threads - einzelne kopierte bereich

  2. In einer einzelnen Folie Rechtecke weiterklicken

    in Microsoft PowerPoint Hilfe
    In einer einzelnen Folie Rechtecke weiterklicken: Hallo zusammen, ich bin neu hier. Ich möchte in Powerpoint in einer einzelnen Folie nacheinander bunte Rechtecke mit einem Presenter anklicken bzw. weiterklicken. Zum besseren Verständnis. Jedes...
  3. Semikolon via VBA in einzelne Zellen separieren

    in Microsoft Excel Hilfe
    Semikolon via VBA in einzelne Zellen separieren: Hallo zusammen, ich benötige eure Hilfe. Ich habe eine Zelle mit mehr als 260 Informationen. Die sind durch ein Semikolon getrennt. Bis jetzt habe ich diese über die Funktion "Daten-Text in...
  4. Einzelne Formulare in ein Menüband von Outlook einbinden

    in Microsoft Outlook Hilfe
    Einzelne Formulare in ein Menüband von Outlook einbinden: Hallo Leute, ich habe in Outlook ein neues Menüband angelegt. Dann habe ich mit den Entwicklertools eine Formularvorlage erstellt. Jetzt würde ich gerne dieses einzelne Formular direkt über das...
  5. einzelne Spalten in neue Dateien kopieren

    in Microsoft Excel Hilfe
    einzelne Spalten in neue Dateien kopieren: Hallo zusammen, ich brauche ein wenig Hilfestellung: Ich habe eine Tabelle (exemplarisch) Titel A Titel B Spalte A Spalte B...
  6. VBA Makro, einzelne Zellen kopieren und in fortlaufende Zeile einfügen

    in Microsoft Excel Hilfe
    VBA Makro, einzelne Zellen kopieren und in fortlaufende Zeile einfügen: Hallo zusammen Verstehe die Makro Codes nicht gut, jedoch halfen bereits youtube Tutorials bei ein paar Problemen. Nun bräuchte ich aber eure Hilfe. Es geht um folgendes: Ich möchte ein Makro in...
  7. VBA Serienbrief in einzelne Ordner speichern

    in Microsoft Word Hilfe
    VBA Serienbrief in einzelne Ordner speichern: Moin, ich habe ein Serienbriefdokument. Derzeit ist es möglich, mit VBA alle Dokumente nach Nachnamen und Vornamen aus der Excelquelle einzeln zu speichern. Ich würde nun gerne auch das die...
  8. Datenbank Abfrage - einzelne Datensätze löschen

    in Microsoft Access Hilfe
    Datenbank Abfrage - einzelne Datensätze löschen: Hey ihr Lieben, ich habe eine Abfrage erstellt, die ich dann automatisiert in Excel habe. Nun ist es aber so, dass in dieser Abfrage 2-3 Datensätze enthalten sind, die sich mehr oder weniger...
  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