Office: Zeilennummer als Variable setzten und dann hochzählen

Helfe beim Thema Zeilennummer als Variable setzten und dann hochzählen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen! Ich möchte in Excel VBA eine beliebige aktive Zelle auswählen und anschließend deren Inhalt kopieren, in Zelle A1 einfügen, dann zur... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Selfmate, 28. Oktober 2015.

  1. Zeilennummer als Variable setzten und dann hochzählen


    Hallo Zusammen!

    Ich möchte in Excel VBA eine beliebige aktive Zelle auswählen und anschließend deren Inhalt kopieren, in Zelle A1 einfügen, dann zur Zelle darunter gehen und dann deren Inhalt kopieren und ebenfalls in A1 einfügen, getrennt durch ein "+" -Zeichen. Immoment habe ich das Problem, dass ich die aktive Zeilennummer = i setzten möchte und dann eine Schleife einrichten in der ich von i aus immer eins hochzähle. Doch der Befehl Cells (i+1,1) tut nicht wirklich...

    ' 'aktive Zelle auswählen und kopieren

    Dim i As Variant 'Variable i deklarieren und für die spätere for schleife verwenden durch i+1

    i = ActiveCell.Rows
    ActiveCell.Select
    Selection.Copy

    'ersten SA-Code in A1 einfügen

    ActiveSheet.Range("A1").Select
    Selection.Insert


    'Löschen der zusätzlichen Zeile zur Korrektur zur Korrektur


    ActiveSheet.Range("A2").Select
    Selection.Delete Shift:=xlUp

    'in nächste Zeile unter der ersten aktiven Zelle gehen und diese ebenfalls kopieren

    'hier die For-schleife rein


    Cells(i + 1, 1).Select
    ActiveCell.Rows = i
    Selection.Copy

    ActiveSheet.Range("D5").Select
    Selection.Insert 'nur zum Test ob er überhaupt die nächste Zelle wählt und deren Inhalt irgendwo einfügt

    Wäre klasse, wenn jemand eine Lösung hätte! *Smilie


    Beipsiel:

    A B

    R23 hihi
    H07 huhu
    Z90 hallo
    t01 tschüss


    Zelle A1 liefert dann H07+Z90+t01 wenn die Zeile Huhu aktiv war


    Viele Grüße und Danke!

    :)
     
    Selfmate, 28. Oktober 2015
    #1
  2. Hallo,

    ein wesentlicher Fehler liegt hier:
    Code:
    Das s am Ende ist zu viel *wink.gif*

    VG
    Santa
     
    Mc Santa, 29. Oktober 2015
    #2
  3. Guten Morgen,

    Vielen Dank erst einmal für die schnelle Antwort, leider funktioniert der Code bei mir so noch immer nicht und ausgerechnet die Formel ActiveCell.Row = i wird von Excel als fehlerhaft markiert.
    Was stimmt nicht?

    Sub huhu()
    '
    ' huhu Makro


    ' 'aktive Zelle auswählen und kopieren

    Dim i As Integer 'Variable i deklarieren und für die spätere for schleife verwenden durch i+1
    'Pluszeichen einfügen: &"+"&

    ActiveCell.Row = i
    ActiveCell.Select
    Selection.Copy

    'Oben im Blatt A2 einfügen

    ActiveSheet.Range("A2").Select
    Selection.Insert


    'Löschen der zusätzlichen Zeile zur Korrektur zur Korrektur


    ActiveSheet.Range("A1").Select
    Selection.Delete Shift:=xlUp

    'in nächste Zeile unter der ersten aktiven Zelle gehen und diese ebenfalls kopieren

    'hier die For-schleife rein


    Cells(i + 1, 1).Select
    ActiveCell.Row = i
    Selection.Copy

    ActiveSheet.Range("D5").Select
    Selection.Insert





    End Sub



    Viele Grüße *Smilie
     
    Selfmate, 3. November 2015
    #3
  4. Zeilennummer als Variable setzten und dann hochzählen

    Hallo Selfmate,
    Das ist ja auch klar. Du kannst die Zeile der aktiven Zelle nur auslesen, aber nicht zuweisen, also muss es heißen: Code:
    Außerdem kannst du die ganzen Select-Anweisungen weglassen: Code:
    Code:
    Wenn du hier die Schleife einbaust, werden alle Werte immer in D5 eingefügt und überschreiben den vorherigen Wert. Das kann doch kaum sinnvoll sein?

    Am Besten wäre, du lädst mal deine Mappe hoch und erklärst, was genau du machen willst.
     
  5. Hallo,

    du musst es anders herum schreiben, vorher hattest du es ja auch:
    Code:
    Ich verstehe übrigens nicht ganz, was dein Code bewirken soll und wo genau Zeilen gelöscht werden. Kannst du mit Worten beschreiben, ganz ohne Code?

    Ich habe mal deine Beschreibung vom Anfang in Code umgesetzt:
    Code:
    VG
    Santa
     
    Mc Santa, 3. November 2015
    #5
  6. Hallo Zusammen,

    nochmals danke, dass ihr euch dem Problemangenommen habt *Smilie

    hier nochmals eine kurze Beschreibung von dem was ich haben möchte. (die Mappe hochladen kann/darf ich leider nicht)

    Ich habe beispielsweie zwei Spaten: rechts ein Wort oder eine kurze Beschreibung und in der Spalte links daneben einen kurzen Code dafür:

    Spalte A Spalte B

    B5 huhu
    C9 hallo
    U1 tschüss
    T4 ciao


    Wenn ich nun die Zeile hallo aktiviere und auf den Makro Button klicke soll mir Excel in Zelle A1 (oder sonst wo) folgendes ausgeben:

    C9+U1+T4

    Ich hoffe, dass ist verständlich so. Natürlich sind es in der Mappe viel mehr Codes, weswegen ich es nicht von Hand machen möchte.
     
    Selfmate, 8. November 2015
    #6
  7. Hallo,

    willst du immer den "Code" aus drei Zellen kombinieren, oder immer solange bis die Liste zuende ist?

    ersteres geht zb so:
    Code:
    vg
    Santa
     
    Mc Santa, 8. November 2015
    #7
  8. Zeilennummer als Variable setzten und dann hochzählen

    nein, bis de liste zu Ende ist.

    grüßle *Smilie
     
    Selfmate, 8. November 2015
    #8
  9. Sub huhu()
    '
    ' huhu Makro

    ' 'aktive Zelle auswählen und kopieren

    Dim i As Integer 'Variable i deklarieren und für die spätere for schleife verwenden durch i+1
    'Pluszeichen einfügen: &"+"&

    i = ActiveCell.Row
    ActiveCell.Copy

    'Oben im Blatt A2 einfügen
    ActiveSheet.Range("A2").Insert

    'Löschen der zusätzlichen Zeile zur Korrektur
    ActiveSheet.Range("A1").Delete Shift:=xlUp

    'in nächste Zeile unter der ersten aktiven Zelle gehen und diese ebenfalls kopieren


    'hier die For-schleife rein
    While i < 10

    i = i + 1
    Cells(i, 1).Copy
    ActiveSheet.Cells(1, i).Insert
    Cells(1, i + 1) = "+"


    Wend

    = Verketten(Range(Cells(1,1):Cells(1,i)))

    End Sub



    ich hatte mir jetzt sowas überlegt mit Verkettung... aber das geht glaub nicht mit Cells *frown.gif*

    Sprich ich gebe die Codes einfach einzeln in Zellen aus und verkette diese dann am Ende.
     
    Selfmate, 8. November 2015
    #9
  10. Hallo,

    so geht es:
    Code:
    Ich konnte mir leider nicht ganz erschließen, warum du in deinem Code Zeilen löschst. Da es in der Beschreibung nicht auftauchte, habe ich es nicht übernommen.

    vg
    santa
     
    Mc Santa, 8. November 2015
    #10
  11. Hi Santa,

    Die Zelle hatte ich anfangs gelöscht gehabt, weil durch das reinkopieren in die Zelle A1 die komplette Spalte um eins nach unten rutschte.
    Also vielen Dank für die schnelle(!!) Lösung, ich muss jetzt zwar erst mal den Code raffen, aber funktionieren tut er tatsächlich einwandfrei!
    Leider hat er mit meiner ursprünglichen Idee nicht mehr viel gemein^^

    Viele Grüße! *Smilie
     
    Selfmate, 8. November 2015
    #11
  12. Hallo,

    damit der Code schnell ist, habe ich mit Arrays und Join() gearbeitet. Das ist eine bessere Lösung, als einzeln auf die Zellen zuzugreifen.

    Zunächst lese ich also den Zellbereich ein, den ich später zusammenfassen will. Von der aktuellen Zeile, bis zur letzten genutzen Zeile.
    Leider kann ich diesen eingelesenen Array nicht direkt in Join() benutzen, da diese Funktion nur mit eindimensionalen Arrays zurrecht kommt. Also übertrage ich meinen eingelesenen Array zuerst und benutze Join anschließend.

    Hier der Code mit ein paar Kommentaren:
    Code:
    vg
    santa
     
    Mc Santa, 8. November 2015
    #12
Thema:

Zeilennummer als Variable setzten und dann hochzählen

Die Seite wird geladen...
  1. Zeilennummer als Variable setzten und dann hochzählen - Similar Threads - Zeilennummer Variable hochzählen

  2. Zeilennummer ermitteln über Teil des Zellwerts

    in Microsoft Excel Hilfe
    Zeilennummer ermitteln über Teil des Zellwerts: Hallo. Ich versuche schon die ganze Zeit, eine Lösung für mein Problem zu finden. Aber keine gefundenen Antworten scheinen für meinen speziellen Fall zu funktionieren. Im angehangenen Bild sieht...
  3. Zeilennummern abgeschnitten

    in Microsoft Word Hilfe
    Zeilennummern abgeschnitten: Hallo, für meine Abschlussarbeit muss ich in meinen Protokollen Zeilennummern hinzufügen, damit ich die jeweilige Stelle als Quelle angeben kann. In meinem Word-Dokument habe ich die...
  4. Hinzufügen oder Entfernen von Zeilennummern

    in Microsoft Word Tutorials
    Hinzufügen oder Entfernen von Zeilennummern: Hinzufügen oder Entfernen von Zeilennummern Word für Microsoft 365 Word 2019 Word 2016 Word 2013 Word 2010 Word 2007 Mehr... Weniger...
  5. [VBA] ListObjects in Spalte suchen und zeilennummer ausgeben

    in Microsoft Excel Hilfe
    [VBA] ListObjects in Spalte suchen und zeilennummer ausgeben: Hallo miteinander. ich habe eine Tabelle (STRG+T) in VBA ist das ein ListObjects darin möchte ich in einer Spalte einen wert suchen und möchte die Zeilennummer ausgegeben haben so das ich aus der...
  6. Variablen statt Zeilennummer einsetzen

    in Microsoft Excel Hilfe
    Variablen statt Zeilennummer einsetzen: Hallo, wie kann ich in einem VBA-Script in einer Formel eine Variable statt einer Zeilennummer einsetzen. Ich möchte diese Formel immer in der gerade aktiven Zelle benutzen. z.B....
  7. Zeilennummern werden abgeschnitten

    in Microsoft Word Hilfe
    Zeilennummern werden abgeschnitten: Hallo ihr Lieben, ich habe für meine Abschlussarbeit mehrere Transkripte angefertigt und für die bessere Auffindbarkeit von Zitaten Zeilennummern eingefügt. Bei dem ganz normalen Word-Dokument...
  8. Variable Zeilennummer (suche noch besseren Titel)

    in Microsoft Excel Hilfe
    Variable Zeilennummer (suche noch besseren Titel): Hallo Mein Problem ist schwierig zu beschreiben auch fehlt mir der genaue Ausdruck dafür. Es geht um Folgendes Spalte A hat folgende Werte Spalte A 101 102 103 104 105 106 107 108...
  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