Makro in Excel schreiben

Dieses Thema Makro in Excel schreiben im Forum "Microsoft Office Suite" wurde erstellt von CDD, 7. Apr. 2005.

Thema: Makro in Excel schreiben Hallo, leider habe ich bisher noch nie ein Makro geschrieben und bin deshalb noch sehr unbeholfen. Ich habe eine...

  1. CDD
    CDD
    Hallo,
    leider habe ich bisher noch nie ein Makro geschrieben und bin deshalb noch sehr unbeholfen.

    Ich habe eine Excel-Tabelle, in der Messreihen nebeneinander dargestellt sind und benötige diese aber untereinander. Weil das ganze in Zukunft öfter verwendet werden soll und sehr viele Messwerte enthält, würde ich gerne ein Makro dazu schreiben. Die Tabelle wird etwa so aussehen:

    Wert1 Wert2 Wert1 Wert2
    1 2 5 6
    2 4 8 10
    3 6 11 14


    und soll danach etwa so aussehen:

    Wert1 Wert2
    1 2
    2 4
    3 6
    5 6
    8 10
    11 14

    Dabei soll die Anzahl der Zeilen und Spalten, die verschoben werden sollen, variabel sein.

    Kann mir jemand bei dieser Problemstellung behilflich sein?

    Vielen Dank im Voraus
     
  2. Das hat mir der Matjes so beigebracht:
    Code:
    Sub Bereich_B_unter_Bereich_A_einfügen()
      Range(ActiveCell, ActiveCell.End(xlDown).Offset(0, 1)).Select
      Selection.Cut
      ActiveCell.Offset(0, -2).Select
      ActiveCell.End(xlDown).Offset(1, 0).Select
      ActiveSheet.Paste
    End Sub
    
    Du klickst in die Zelle, in der bei deinem Beispiel die 5 steht und startest das Makro. Wenn du das tatsächlich so oft brauchst, setzt du es am besten auf eine Schaltfläche in der Symbolleiste.
    Das Makro markiert von hier aus alles bis zum Ende der belegten Zellen in dieser Spalte (End(xlDown)) und von dort aus Null nach unten und 1 nach rechts (Offset(0, 1)). Jetzt sind die Zellen von der 5 bis zur 14 markiert.
    Die Markierung wird ausgeschnitten (Selection.Cut)
    Von der ursprünglichen Ausgangszelle (die 5) geht er jetzt Null nach unten und 2 nach links (Offset(0, -2), also dorthin, wo die 1 steht.
    Und von dort ganz ans Ende (End(xlDown)) und noch eins weiter nach unten und Null nach rechts (Offset(1, 0))
    Dort fügt er das zuvor ausgeschnittene ein (ActiveSheet.Paste).

    Wenn dein Beispiel nur ein Beispiel war und du in Wirklichkeit nicht 2 Spalten unter 2 Spalten, sondern 5 Spalten unter 5 Spalten kopieren willst, änderst du die entsprechenden Parameter im Makro.

    Alles keine Hexerei ;D

    Und noch etwas: Leerzeilen zwischendrin sind nicht erlaubt. Wenn die aber unvermeidlich sind, brauchen wir einen Workaround ;)
    Dann machst du es so:
    Code:
    Sub Bereich_B_unter_Bereich_A_einfügen_mit_Leerzeilen()
      ActiveCell.EntireColumn.Select
      Selection.Replace What:=, Replacement:= , LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
      ActiveCell.Offset(0, -2).Select
      ActiveCell.EntireColumn.Select
      Selection.Replace What:=, Replacement:= , LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
      ActiveCell.Offset(1, 2).Select
      Range(ActiveCell, ActiveCell.End(xlDown).Offset(0, 1)).Select
      Selection.Cut
      ActiveCell.Offset(0, -2).Select
      ActiveCell.End(xlDown).Offset(1, 0).Select
      ActiveSheet.Paste
    Damit wird die ganze Spalte markiert und alle Leerzellen mit einem Leerzeichen befüllt, so daß das Makro nicht an der ersten Leerzeile stehenbleibt, denn eine - wenn auch nur mit einem Leerzeichen - befüllte Zelle ist eine volle Zelle.
     
  3. hallo,

    hast du das ganze mal mit->kopieren' und dann anschließend->inhalte einfügen' ->->transponieren' versucht?

    gruß,
    kath.hundefriseursalon
     
  4. CDD
    CDD
    Hallo Klexy,

    super und vielen Dank dafür. Du hast mir damit sehr geholfen :). Ich werde das noch ein klein wenig verändern, damit ich in der Spaltenanzahl variabel bin.

    Gruß CDD
     
  5. CDD
    CDD
    Hallo kath.hundefriseursalon,

    das ganze werden später sehr viele Messwerte sein und daher wäre es von Hand auszuschneiden ungünstig.

    Aber vielen Dank für Deine Hilfe.

    Gruß CDD
     
Die Seite wird geladen...

Makro in Excel schreiben - Ähnliche Themen

Forum Datum
Excel VBA Makro zum suchen eines Textes und anschließend einen Breich zu kopieren Microsoft Office Suite 22. Jan. 2015
Excel VBA Makro zum suchen und markieren von Zeilen die ein bestimmtes Wort enthalten Microsoft Office Suite 16. Juni 2014
Excel: Makro ASCII verschieben Windows XP Forum 8. Nov. 2013
Makros und anderes - Excel Microsoft Office Suite 15. März 2013
Excel Sprungmarke mitten in ein anderes Makro Windows XP Forum 15. März 2012