Office: VBA-Makro mit relativen Zellbezügen?

Helfe beim Thema VBA-Makro mit relativen Zellbezügen? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo alle miteinander, ich habe ein kleines Problem: ich möchte mit einem Makro den Inhalt der aktiven Zelle (z.B. B2) ausschneiden (oder kopieren)... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von evaneu1965, 27. Juli 2009.

  1. VBA-Makro mit relativen Zellbezügen?


    Hallo alle miteinander,
    ich habe ein kleines Problem:
    ich möchte mit einem Makro den Inhalt der aktiven Zelle (z.B. B2) ausschneiden (oder kopieren) und in eine Zelle kopieren, die jeweils 1 Zeile darüber (-1) und 11 Spalten nach rechts (+11) angeordnet ist (hier M1).
    Dann soll die ganze Zeile der ursprünglich aktiven Zelle gelöscht werden (hier Zeile 2).
    Wenn ich das Makro aufzeichne, merkt sich das VBA aber nur die Zellen B2, M1 bzw. Zeile 2 und nicht die relativen Bezüge.
    Wie kann ich das ändern????

    Grüße und DANKe
    Eva

    :)
     
    evaneu1965, 27. Juli 2009
    #1
  2. Hallo evaneu1965,

    ändere den VBA-Code folgendermaßen:

    Code:
     
    kgaston, 29. Juli 2009
    #2
  3. Moin, Eva,

    Code:
    Prüfung einbauen, dass die aktuelle Zeile größer als 1 ist - sonst gibt es einen Laufzeitfehler... *wink.gif*
     
  4. VBA-Makro mit relativen Zellbezügen?

    Hallo Ihr beiden,
    als vollständige Syntax habe ich nun das Folgende eingegeben:

    Sub ausschneiden_KST2()
    '
    ' ausschneiden_KST2 Makro
    ' Makro am 29.07.2009 aufgezeichnet
    '
    ' Tastenkombination: Strg+a
    '
    With ActiveCell
    Dim x As Long
    Dim y As Long
    Dim strWert As String
    ' Gibt die aktuelle Zeilen-Position zurück.
    x = ActiveCell.Row
    ' Gibt die akuelle Spalten-Position zurück.
    y = ActiveCell.Column
    ' Wert der aktuellen Zelle wird in Variable übergeben.
    strWert = Selection
    ' Fügt den Wert jeweils 1 Zeile darüber und 11 Spalten nach rechts ein.
    Cells(x - 1, y + 11) = strWert
    ' Aktuellen Zellen-Inhalt löschen.
    Selection.Clear
    With ActiveCell
    .Offset(-1, 11).Value = .Value
    .EntireRow.Delete
    End With

    End Sub


    Aber irgendwas ist trotzdem noch falsch: das Makro macht gar nichts?!
    Wie wäre es denn richtig?
    (Sorry - ich bin im VBA-Code ein "blinder" Laie!).
    Grüße Eva
     
    evaneu1965, 29. Juli 2009
    #4
  5. Moin, evaneu1965,

    siehe Anhang - möchtest Du den Inhalt entfernen oder die Zeile löschen?
     
  6. 1) den Inhalt in die andere Zelle einfügen (x-1, y+11)
    2) dann die ganze Zeile löschen

    Ich hab aus Deiner Anlage also .EntireRow.Delete genommen.
    Somit lautet die vollständige Syntax jetzt:
    With ActiveCell
    Dim x As Long
    Dim y As Long
    Dim strWert As String
    ' Gibt die aktuelle Zeilen-Position zurück.
    x = ActiveCell.Row
    ' Gibt die akuelle Spalten-Position zurück.
    y = ActiveCell.Column
    ' Wert der aktuellen Zelle wird in Variable übergeben.
    strWert = Selection
    ' Fügt den Wert jeweils 1 Zeile darüber und 11 Spalten nach rechts ein.
    Cells(x - 1, y + 11) = strWert
    .Offset(-1, 11).Value = .Value
    'Für das physiche Löschen der Zeile
    .EntireRow.Delete
    End With

    End Sub


    Kann ich das auch noch so programmieren, dass ich mehrere Zellen gleichzeitig auswählen kann (z.B. Zelle B2; B4; B6; B345 ...) und der Befehl für jede Zeile einzeln ausgeführt wird?

    Schon mal VIELEN Dank für die schnelle Hilfe.
    Vielleicht habt Ihr ja noch einen Tipp für das zweite Problem.
    Danke und Grüße
    Eva
     
    evaneu1965, 29. Juli 2009
    #6
  7. Moin, Eva,

    es wäre nett, wenn Du mir mitteilen würdest, was am Makro in der Mappe nicht funktioniert.

    Code:
    Damit kann es aber passieren, dass der Inhalt überschrieben wird, weil zwei aufeinanderfolgende Zeilen gelöscht werden könnten...
     
  8. VBA-Makro mit relativen Zellbezügen?

    Moin jinx,
    die beiden Makros funktionieren beide 1A!!!!!!!! Danke!!!!!

    In der zweiten Variante mit mehreren Zellen gibt es bei mir kein Problem, weil der eine zu kopierende Wert immer in der zweiten Zeile ist.
    Die zweite Zeile ist damit dann leer und kann weg. Das hätte ich zwar auch am Ende mit Sortieren machen können, aber so hab ich die anderen Daten besser im Blick.

    Also noch mal DANKE - das hat perfekt geholfen.
    Grüße
    Eva
     
    evaneu1965, 29. Juli 2009
    #8
Thema:

VBA-Makro mit relativen Zellbezügen?

Die Seite wird geladen...
  1. VBA-Makro mit relativen Zellbezügen? - Similar Threads - VBA Makro relativen

  2. Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche)

    in Microsoft Excel Hilfe
    Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche): Hallo zusammen, ich arbeite mit einer Excel-Arbeitsmappe, die mehrere Tabellenblätter enthält. Jedes Blatt dokumentiert bestimmte Vorgänge, und die Struktur der Daten ist in allen Blättern...
  3. VBA-Makro zur Zellenformatierung Syntax probleme

    in Microsoft Excel Hilfe
    VBA-Makro zur Zellenformatierung Syntax probleme: Hallo zusammen, ich möchte per Makro Zellen formatieren. Tausender-Trennzeichen 3 Nachkommastellen Positive Zahlen Schwarz Negative Zahlen Rot Nullwert mit - Hinter der Zahl soll noch eine...
  4. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  5. Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen

    in Microsoft Excel Hilfe
    Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen: Hallo Zusammen, mein erster Beitrag hier, also schon mal Sorry im Voraus, wenn unvollständig beschrieben *:)* Ich habe das Forum schon nach einem brauchbaren Lösungsansatz durchsucht, bin aber...
  6. Makro/VBA Text in Zahl umwandeln

    in Microsoft Excel Hilfe
    Makro/VBA Text in Zahl umwandeln: Hallo liebes Forum, ich habe eine Frage und bin bisher leider nicht so wirklich fündig geworden :oops: Aber ich bin mir sicher, dass ich hier Hilfe bekomme *;)* In meiner Arbeitsdatei sind...
  7. VBA Makro Daten kopieren

    in Microsoft Excel Hilfe
    VBA Makro Daten kopieren: Hi zusammen, ich bräuchte eure Hilfe denn aktuell bin ich am verzweifeln: Ich brauche ein Makro für das deutsche Excel. Es gibt 2 verschiedene Arbeitsmappen mit jeweils einem aktiven...
  8. per VBA Zeile in der Liste löschen

    in Microsoft Excel Hilfe
    per VBA Zeile in der Liste löschen: Hallo Leute, ich brauche eure Hilfe. In einer Liste sollen regelmäßig Einträge vorgenommen werden. Hierzu müssen die Felder Name, Nr. alt, Stück, Bezeichnung, Datum, Kst, Palettennummer,...
  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