Office: Excel 2007 Macro/VBA

Helfe beim Thema Excel 2007 Macro/VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich bin neu hier und stecke auch schon in Schwierigkeiten. Ich möchte ein Makro erstelle das das Wort "[Compound Results (Ch1)]" und... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von devrodas, 4. Dezember 2012.

  1. Excel 2007 Macro/VBA


    Hallo,
    ich bin neu hier und stecke auch schon in Schwierigkeiten.
    Ich möchte ein Makro erstelle das das Wort "[Compound Results (Ch1)]" und anschließend 2 Spalten darunter die beiden Spalten "Name" (von Propan bis Dodecan) und die Spalte "Conc." mit den dazugehörigen Werten kopiert und in sheet 2 kopiert.
    Und das ganze soll so lange gemacht werden bis das Wort [Compound Results (Ch1)] nicht mehr gefunden wird.
    Wie mache ich das??

    Im Anhang habe ich das Beispiel aufgeführt. In Sheet1 sind die Daten und in Sheet2 die herauskopierten Spalten.

    Hoffe wirklich Ihr könnt mir helfen!!

    Vielen Dank!!

    Lg
    Dev
     

    Anhänge:

    devrodas, 4. Dezember 2012
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Dev,

    Code:
    Sub Kopieren()
       Dim lngZeile As Long
       Dim lngErste As Long
       For lngZeile = 3 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count) Step 61
          With Worksheets("Sheet2")
             lngErste = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 3
             If lngErste = 4 Then lngErste = 1
             Range(Cells(lngZeile, 2), Cells(lngZeile + 56, 2)).Copy .Cells(lngErste, 1)
             Range(Cells(lngZeile, 6), Cells(lngZeile + 56, 6)).Copy .Cells(lngErste, 2)
          End With
       Next lngZeile
    End Sub
    
    Auszuführen bei aktivem Sheet1.

    Bis später,
    Karin
     
    Beverly, 4. Dezember 2012
    #2
  3. Hallo Karin,
    erst einmal vielen vielen Dank für deine Hilfe.
    Das funktioniert zwar aber es gibt 2 Probleme.
    Zum einen nimmt er beim kopieren ins neue sheet die Begriffe (M-Butyrat, 2-Pentanol, 3-Pentanol, n-Heptan) mit den passenden Werten nicht mit (siehe Anhang)

    Und zum anderen Während er läuft und die Befehle ausführt kommt gegen Ende dieser Error: "Run time error 1004, Application defined or object defined error."

    Hast du hier eine Idee wie man das lösen kann?


    Vielen Dank!!!

    LG

    Dev
     
    devrodas, 4. Dezember 2012
    #3
  4. Excel 2007 Macro/VBA

    Anhang

    Hier der dazugehörige Anhang.
     

    Anhänge:

    devrodas, 4. Dezember 2012
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Dev,

    falls du dich in deinem Beitrag auf einen dortigen Anhang beziehst - da gibt es keinen und ich kann mich deshalb nur auf die in deinem Eröffnungbeitrag hochgeladene Arbeitsmappe beziehen: den Laufzeitfehler kann ich nicht reproduzieren und es werden auch alle Daten übertragen. Ich habe auch mal zum Vergleich die beiden Spalten stehen lassen (allerdings um 3 Spalten nach rechts verschoben), die du in deiner Arbeitsmappe hattest.

    Bis später,
    Karin
     
    Beverly, 4. Dezember 2012
    #5
  6. Sorry,
    in der Excel-Datei die ich dir geschickt habe funktioniert es. Da hast du Recht. Aber das ist nur ein Beispiel.
    In den anderen Excel-Dateien die ich habe folgt das Wort "[Compound Results (Ch1)]" nicht immer nach dem selbern Abstand (In der Datei Neq.xls immer nach 61 Spalten), sondern der Abstand varriert.
    Daher muss es eine Möglichkeit geben das Wort "[Compound Results (Ch1)]" zu suchen und dann die restlichen Befehle auszuüben.

    Sorry, ist etwas kompliziert :)

    Kann dir gar nicht genug danken!!
     
    devrodas, 4. Dezember 2012
    #6
  7. Beverly
    Beverly Erfahrener User
    Hi Dev,

    jeder Helfer fragt sich bei solchen Dingen immer: weshalb kann nicht schon zu Beginn eine Datei hochgeladen werden, die den tatsächlichen Bedingungen entspricht?!! Weshalb muss man erst Zeit investieren und eine Lösung finden für etwas, was überhaupt nicht benötigt wird? In der Zwischenzeit hätte man schon anderen Fragestellern helfen können, anstatt für den Papierkorb zu arbeiten!

    Code:
    Sub Kopieren()
       Dim lngZeile As Long
       Range("A3:F" & IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)).Copy Worksheets("Sheet2").Range("A1")
       With Worksheets("Sheet2")
          For lngZeile = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) To 1 Step -1
             If .Cells(lngZeile, 1) = "[Compound Results (Ch1)]" Then .Range("A" & lngZeile & ":F" & lngZeile + 1).Clear
          Next lngZeile
          .Columns("C:E").Delete
          .Columns("A").Delete
       End With
    End Sub
    Bis später,
    Karin
     
    Beverly, 4. Dezember 2012
    #7
  8. Excel 2007 Macro/VBA

    Hallo,
    na weil du in der eigentlichen Datei nicht durchblicken würdest. Sie hat 1035107 Zeile. Deshalb hab ich mir die Mühe gemacht und einen Beispiel ausgesucht, dabei habe ich leider nur vergessen, dass die Abstände unterschiedlich sind.

    Sorry
     
    devrodas, 4. Dezember 2012
    #8
  9. Excel Macro

    Noch eine letzte Frage...

    Alles was unter dem Block "Name" steht also unter Dodecan wird nach dem Kopieren in Sheet2 mitgenommen. Siehe Excel-Datei gelb markierter Bereich.
    Ist es möglich, dass so einzurichten, dass die Blöcke "Name" immer hinter einander folgen ohne das der gelb markierte Bereich mitkommt?Siehe Sheet 3.

    Auch hier tauchen die Blöcke in unterschiedlichen Abständen auf.

    Vielen Dank.

    LG

    Dev
     

    Anhänge:

    devrodas, 4. Dezember 2012
    #9
  10. Beverly
    Beverly Erfahrener User
    Hi Dev,

    ergänze den Code um die mit blauer Schriftfarbe markierte Zeile

    Code:
          For lngZeile = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) To 1 Step -1
             If .Cells(lngZeile, 1) = "[Compound Results (Ch1)]" Then .Range("A" & lngZeile & ":F" & lngZeile + 1).Clear
             [COLOR=#0000cd]If .Cells(lngZeile, 1) = "" Then .Rows(lngZeile).Delete shift:=xlUp[/COLOR]
          Next lngZeile
    
    Bis später,
    Karin
     
Thema:

Excel 2007 Macro/VBA

Die Seite wird geladen...
  1. Excel 2007 Macro/VBA - Similar Threads - Excel 2007 Macro

  2. Makros in Excel 2007 aktivieren

    in Microsoft Excel Hilfe
    Makros in Excel 2007 aktivieren: Fehler 57121
  3. Excel 2007-Pflichtfeld Abfrage vorm Drucken

    in Microsoft Excel Hilfe
    Excel 2007-Pflichtfeld Abfrage vorm Drucken: Hallo, ich würde gerne bei einer Tabelle den Druck verhindern so lange gewisse Zellen keinen Inhalt haben. Also Pflichtfelder abfrage vor Druck. Für eine Zelle habe ich es Mittlerweile mit...
  4. Druckproblem bei Excel 2007

    in Microsoft Excel Hilfe
    Druckproblem bei Excel 2007: Hallo, normalerweise ist das drucken kein Problem. Aber: Ich habe mir eine Tabelle mit Hilfsspalten erstellt. Zum Ausdrucken blende ich diese Hilfsspalten natürlich aus. Aber dann wird die...
  5. Häufigkeit in Tortendiagramm darstellen

    in Microsoft Excel Hilfe
    Häufigkeit in Tortendiagramm darstellen: Hallo, ich scheitere daran, die Häufigkeit von Werten (in Textform) als Tortendiagramm darzustellen. Ich habe schon ein bisschen gegooglet, finde aber nicht das, was ich brauche. Ich habe...
  6. Excel 2007, aus Textfeld kopieren

    in Microsoft Excel Hilfe
    Excel 2007, aus Textfeld kopieren: Moin Excel Experten In mein Excel 7 habe ich massig von Textfeldern als T-Bausteine für Word. Wenn ich was markiere, dann mit Strg-C, kopiere, klappt das nicht, sonder wird der letzte Eintrag...
  7. Umstellung von Office 2007 auf 2016

    in Microsoft Excel Hilfe
    Umstellung von Office 2007 auf 2016: Hallo und guten Tag, mit vba habe ich in Excel Office 2007 ein ziemlich umfangreiches Makro programmiert. Jetzt soll bei uns die Umstellung auf Office 2016 stattfinden. Muß ich damit rechnen,...
  8. Excel 2007: prozentualer Vergleich zweier Werte als Liniendiagramm

    in Microsoft Excel Hilfe
    Excel 2007: prozentualer Vergleich zweier Werte als Liniendiagramm: Hallo, ich möchte gerne 2 Werte in einem Liniendiagramm vergleichen. So wie man es oft beim Vergleich zweier oder mehrerer Aktien im prozentualen Bereich miteinander sieht. Der Startpunkt...
  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