Freigeben über

Makro Formeln automatisch runterkopieren sobald bestimmte zellen befüllt sind

Anonym
2020-07-08T11:33:48+00:00

Hallo Zusammen,

kann mir jemand helfen ein Makro zu erstellen die folgendes erreicht:

Sobald im Tabellenblatt 3 Zellen ausgefüllt werden, soll im Tabellenblatt 2 die Formeln konform "runtergezogen werden". 

Also: 

Ich habe momentan auf Tabellenblatt2 von Zeile A7 bis AG7 Formeln drin, die einen Bezug auf Tabellenblatt 3 haben.

Genau gesagt Zelle A7(Tabellenblatt 2) bezieht sich auf Zelle A3 (Tabellenblatt 3); A8 (Tabellenblatt 2) auf A4 (Tabellenblatt 3) usw.

Wie kann ich ein Makro erstellen, ohne dass ich die Formeln aus Tabellenblatt 2 manuell immer runterziehen muss.

Wenn meine Daten auf Tabellenblatt3 5 Zeilen befüllen, sollen die Formeln auf Tabellenblatt2 ebenfalls um 5 Zeilen kopiert werden.

Existiert so ein Automatismus?

Vielen Dank Vorab

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
{count} Stimmen

8 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2020-07-13T06:32:53+00:00

    Ah super :)

    Vielen Dank, hat geklappt :)

    0 Kommentare Keine Kommentare
  2. Andreas Killer 144K Zuverlässigkeitspunkte Freiwilliger Moderator
    2020-07-09T16:02:22+00:00

    Zuerst mal habe ich die Probe_V2.xlsm bereinigt und alle leeren Zeilen gelöscht. Dadurch wurden aus 24Mb Dateigröße nunmehr 36Kb. Du solltest Deine Original-Datei mal durchforsten und alles überflüssige rauswerfen, ich denke mal das die Datei dadurch um einiges schneller wird.

    Wie auch immer, damit das funktioniert brauchen wir eine Spalte mit der wir die Anzahl der Datensätze abgleichen können, eindeutig wäre Spalte A weil beide Blätter ja eine "Position"-Spalte haben.

    Dummerweise fehlt in Deiner Beispieldatei in Auswertung diese Formel:

    A7:  ='Hier Daten einfügen'!A3

    Dann aber ist Zeile 7 vollständig und wir könn(t)en sie runterziehen.

    Sobald also in "Hier Daten einfügen" etwas manuell eingetragen wird, müssen wir die Zeile 7 nur soweit runterziehen bis die Anzahl der Datensätze gleich ist.

    Klicke mit der rechten Maustaste auf die Blattregisterkarte von "Hier Daten einfügen"

    Wähle "Code anzeigen"

    Füge den folgenden Code ein

    Schließe den VBA-Editor

    Schreib irgendwas in "Hier Daten einfügen"

    Alles klar?

    Andreas.

    Private Sub Worksheet_Change(ByVal Target As Range)

      Const DatenErste = 2, AuswertungErste = 6

      Dim DatenLetzte As Range, AuswertungLetzte As Range

      With Worksheets("Auswertung")

        Set DatenLetzte = Range("A" & Rows.Count).End(xlUp)

        Set AuswertungLetzte = .Range("A" & Rows.Count).End(xlUp)

        If AuswertungLetzte.Row - AuswertungErste < DatenLetzte.Row - DatenErste Then

          .Rows(AuswertungErste).Offset(1).Resize(DatenLetzte.Row - DatenErste).FillDown

        End If

      End With

    End Sub

    0 Kommentare Keine Kommentare
  3. Anonym
    2020-07-09T14:56:55+00:00

    Das ist der Link zu der Datei. 

    http://www.mediafire.com/file/s8iys8ba5t7kxv1/Probe\_V1.xlsm/file

    Ich habe den Code im Reiter "Hier Daten einfügen" hinterlegt. Aber die sverweise und wenn Formeln funktionieren nicht. 

    Alle Daten sind in der Datei jetzt frei erfunden.

    Hilfeeeeee

    Gier der Link mit der Datei ohne Code aber mit den Formeln in den Zellen drin.

    http://www.mediafire.com/file/dwsktge7gtstmpi/Probe\_V2.xlsm/file

    Mein Ziel ist es, dass sobald auf Tabellenblatt "Hier Daten einfügen" daten eingefügt werden, die Formeln auf Tabellenblatt "Auswertung" automatisch greifen ohne, das ich die ganzen Formeln manuell nach unten ziehen muss.

    0 Kommentare Keine Kommentare
  4. Deleted

    Diese Antwort wurde aufgrund eines Verstoßes gegen unsere Verhaltensregeln gelöscht. Die Antwort wurde manuell gemeldet oder durch automatisierte Erkennung identifiziert, bevor Maßnahmen ergriffen wurde. Weitere Informationen finden Sie in unseren Verhaltensregeln.


    Kommentare wurden deaktiviert. Weitere Informationen

  5. Andreas Killer 144K Zuverlässigkeitspunkte Freiwilliger Moderator
    2020-07-09T07:22:18+00:00

    Kann man machen.

    Lade die Datei (möglicherweise mit anonymisierten Daten) auf einen Online-Datei-Hoster wie www.dropbox.com hoch und veröffentliche den Download-Link hier.

    Ein Makro zur Anonymisierung von Daten in ausgewählten Zellen kann hier heruntergeladen werden:

    https://www.dropbox.com/s/rkfxuh85j5wyj9y/modAnonymize.bas?dl=1

    Dann mache eine Kopie Deiner Exceldatei

    Öffnen die kopiere Datei

    Klicke mit der rechten Maustaste auf eine Blattregisterkarte

    Wähle "Code anzeigen"

    Drücke STRG-M (oder Menü \ Datei \ Datei importieren)

    Importiere die heruntergeladene Datei

    Schließe den VBA Editor

    Selektiere die Zellen die anonymisiert werden sollen (bitte nicht die Überschriften in Datentabellen)

    Drücke Alt-F8 und führe das Makro Anonymize aus

    Wiederhole die letzten beiden Schritte ggf. auch in weiteren Tabellenblättern bis alle Daten anonymisiert sind

    Speichere die Datei

    Lade die Datei auf einen Online-Datei-Hoster wie www.dropbox.com hoch und veröffentliche den Download-Link hier

    Andreas.

    0 Kommentare Keine Kommentare