Office: Autoausfüllen per Makro

Helfe beim Thema Autoausfüllen per Makro in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, seit einige Zeit versuche ich für folgendes Problem eine Lösung zu finden, leider bisher ohne Erfolg. Ich habe ein Makro, bei dem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Trillion, 4. August 2011.

  1. Trillion Neuer User

    Autoausfüllen per Makro


    Hallo zusammen,

    seit einige Zeit versuche ich für folgendes Problem eine Lösung zu finden, leider bisher ohne Erfolg.

    Ich habe ein Makro, bei dem die Zellinhalte zweier Spalten mit der Funktion VERKETTEN zusammengeführt werden. Bis dahin noch kein Problem. Bei Einrichtung des Makros hatte ich in der Spalte A1 bis A5 bwz. B1 bis B5 Zellinhalte. Das nächste Mal, wenn ich dieses Makro benutze, stehen aber Werte in den Zellen A1 bis A10 bzw. B1 bis B10.
    Das Makro wird daher nur das Autoausfüllen bis zu den Zellen A5 bzw. B5 ausführen.

    Hier ist der Code dazu

    Sub Verketten()
    '
    ' Verketten Makro
    ' '
    ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],"" "",RC[-1])"
    Selection.AutoFill Destination:=Range("C1:C5"), Type:=xlFillDefault
    Range("C1:C5").Select
    Range("C5").Select
    End Sub

    Hat hier jemand einen Tipp für mich?

    LG
    Trillian
     
    Trillion, 4. August 2011
    #1
  2. fette Elfe Erfahrener User
    Hallo Trillian,

    mein Vorschlag:
    Code:
    Option Explicit
    
    Dim loLetzte As Long
    
    Sub Verketten()
    '
    ' Verketten Makro
    '
        With ActiveSheet     ' bezieht sich auf das aktive Tabellenblatt
            
            ' letzte benutzte Zelle in Spalte A
            loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
            
            ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-2],"" "",RC[-1])"
            Selection.AutoFill Destination:=.Range(.Cells(1, 3), .Cells(loLetzte, 3)), Type:=xlFillDefault
            
        End With
    End Sub

    Damit ist es egal wieviele Zeilen ausgefüllt sind, Excel sucht nach der letzten benutzten Zelle in Spalte A.


    Zu Deinem Code:
    Da ich die Umstände nicht kenne, kann ich nicht beurteilen ob es sinnvoll ist mit "ActiveSheet" und "ActiveCell" zu arbeiten.
    Am Ende des Codes aber nacheinander zwei Selektionen ist wohl unsinnig.
    Wenn unbedingt selektiert werden muss, dann entscheide Dich für eine von beiden.


    Ich hoffe geholfen zu haben.
     
    fette Elfe, 4. August 2011
    #2
  3. Trillion Neuer User
    Hallo Achim,

    vielen Dank für die Antwort, ich werde es morgen im Büro gleich ausprobieren.

    Zu meinem Code: ich bin eine absolute Nichtwisserin was sich alles hinter dem Code verbirgt. Ich habe das Makro aufgezeichnet und so wie in meinem Tread eingefügt, steht er auch in VBA. Ich habe überhaupt keinen Schimmer, was man alles damit machen kann. Das einzige, was ich mir zutraue ist, im Code mal den Zellbezug zu ändern und wenn ich das hingekriegt habe, freue ich mich schon wie ein Schneekönig.

    Es ärgert mich, dass ich nicht mehr darüber weiß,aber die Bücher, die ich mir für VBA Programmierung gekauft habe, setzen für meine Kenntnisse zu weit oben an.

    LG
    Trillion
     
    Trillion, 4. August 2011
    #3
  4. fette Elfe Erfahrener User

    Autoausfüllen per Makro

    Hallo Trillion,

    der Makrorekorder produziert häufig "verbesserungswürdigen" Code.
    Auf "select" und "activate" kann in den meisten Fällen verzichtet werden.
    Der Makrorekorder zeichnet diese Befehle aber auf, da man händisch ja genau dies tut: Zellen auswählen/aktivieren.


    Dein von Dir aufgezeichneter Code hat zwei große Gefahrenquellen:
    1. Wenn nicht "C1" die aktive Zelle ist, kommt naturgemäß eine Fehlermeldung.
    Um dies auszuschließen, würde ich im Code direkt auf "C1" referenzieren.
    2. Wenn ein anderes Blatt, oder sogar eine andere Datei aktiv ist, wenn Du den Code startest, dann bezieht sich der Code auch darauf, und nicht mehr auf das Blatt wo Du ihn haben möchtest.
    Um dies auszuschließen, würde ich im Code auf dieses Blatt referenzieren.


    Den nachfolgenden Code kopiere bitte in das Code-Modul des Tabellenblattes, wo Du ihn auch laufen lassen willst.
    Eine Anleitung dazu findest Du im Bild ganz unten (stammt aus einem anderen Thread, erklärt aber das gleiche):

    Code:
    Option Explicit
    
    Dim loLetzte As Long
    
    Sub Verketten()
    '
    ' Verketten Makro
    '
        With Me     ' bezieht das Makro auf dieses Tabellenblatt
           
            loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
            
            .Cells(1, 3).FormulaR1C1 = "=CONCATENATE(RC[-2],"" "",RC[-1])"
            .Cells(1, 3).AutoFill Destination:=.Range(.Cells(1, 3), .Cells(loLetzte, 3)), Type:=xlFillDefault
           
        End With
    End Sub

    Scheu Dich nicht zu fragen, wenn noch etwas unklar sein sollte.

    Ich hoffe geholfen zu haben.
     
    fette Elfe, 4. August 2011
    #4
Thema:

Autoausfüllen per Makro

Die Seite wird geladen...
  1. Autoausfüllen per Makro - Similar Threads - Autoausfüllen Makro

  2. Werte entsprechend autoausfüllen

    in Microsoft Excel Hilfe
    Werte entsprechend autoausfüllen: Hallo, ich habe mehrere Sheets in einer Datei. In dem Master-Sheet stehen in einer Spalte verschiedene Wörter (1 Wort pro Zeile). In der danebenliegenden Spalte habe ich manuell y oder n...
  3. Autoausfüllen nur bis sich der Zellwert ändert

    in Microsoft Excel Hilfe
    Autoausfüllen nur bis sich der Zellwert ändert: Hallo , besteht in excel die Möglichkeit Zellen automatisch ausfüllen zu lassen, aber nur bis sich der ursprüngliche Wert der nicht mehr leer ist? [ATTACH] vielen Dank !
  4. Autoausfüllen bei verbundenen Zellen

    in Microsoft Excel Hilfe
    Autoausfüllen bei verbundenen Zellen: Hallo, ich suche für folgendes Problem Hilfestellung: Aus einem Datenblatt 1 möchte Werte aus einer Zeile in ein anders Datenblatt 2 übernehmen und auf Grund der Masse automatisch ausfüllen...
  5. AutoAusfüllen und Blitzvorschau

    in Microsoft Excel Tutorials
    AutoAusfüllen und Blitzvorschau: https://eus-streaming-video-rt-microsoft-com.akamaized.net/02bdce7f-3c03-4d96-8212-ebe43c502cc6/76996f19-ccfe-4749-9398-267f1209_1280x720_2985.mp4 Übersicht...
  6. VBA - Autoausfüllen mit Bedingungen

    in Microsoft Excel Hilfe
    VBA - Autoausfüllen mit Bedingungen: Hallo Zusammen , ich möchte unter bestimmten Voraussetzungen Zellen automatisch ausfüllen lassen. Im Spieleblatt habe ich die Zellen K3:CW3 als Anwesenheit benannt. In der jeweiligen Zelle...
  7. Autoausfüllen bei Summierung

    in Microsoft Excel Hilfe
    Autoausfüllen bei Summierung: Hallo! Hab hier ein etwas blödes Problem. Möchte in meiner Zeiterfassungsliste eine Spalte haben, in der jeweils die Plus-(bzw. Minus-)Stunden per dem jeweiligen Tag stehen. Als Bezeichnung...
  8. Autoausfüllen

    in Microsoft Excel Hilfe
    Autoausfüllen: Hallo, folgende Formel möchte ich per markieren und ziehen mit der Maus verändern: ='SV Erspranis Rechner'!$F$4-'SV Erspranis Rechner'!$F$5-1 und zwar soll sich nur die letzte Zahl...
  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