1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel - Wert einer Zelle automatisch kopieren

Discussion in 'Office-Programme' started by Terrorhorst, Oct 1, 2015.

Thread Status:
Not open for further replies.
  1. Hallo, ich habe folgendes Problem. Ich möchte einen SVerweis erstellen, der als Matrix auf eine Tabelle zugreift, die sich wiederum automatisch aus Daten einer anderen Datei speist. Da dort nun aber ja Formeln hinterlegt sind, kapiert der SVerweis ja nicht, wonach er suchen soll, da er nur die Formeln liest. Daher möchte ich gerne, dass diese Daten automatisch als Werte in eine weitere Übersicht kopiert werden, damit man das nicht immer wieder manuell machen muss.

    Als grundlegende Lösung dafür habe ich folgende Formel gefunden:

    Code:
    Sub Kopieren()
        Range("B1") = Range("A1")
    End Sub
    Mein Problem ist jetzt folgendes: zum einen möchte ich natürlich nicht nur eine Zelle so behandeln, sondern mehrere hundert, will aber natürlich nicht jeden Code einzeln eingeben dafür und zum anderen möchte ich, dass es das Makro immer wieder automatisch ausführt, sobald die Datei geöffnet wird, damit sich die Daten aktualisieren.

    Kann mir da jemand weiterhelfen?

    Vielen Dank!
     
  2. Eric March

    Eric March CD-R 80

    Dazu braucht es (als Startrampe) ein Aktionsmakro (auch Ereignismakro genannt).
    In einem Modul würde Auto_Open() genügen das den Code enthält. Alternativ im Codefenster von «Diese Arbeitsmappe» ein Workbook_Open() - diese könnte in einem Modul eine Sub aufrufen die die Arbeit macht. Ich ziehe solche Startrampen vor statt alles direkt in diese (auch als) ›auto-Makros‹ (eingestuften Makros) zu schreiben.

    Die Übertragung (das Kopieren) hängt davon ab was denn zu kopieren wäre; ›was‹ im Sinne der räumlichen Anordnung. Gehen wir mal von einem Rechteck aus - was wohl auch der Fall sein dürfte…
    Code:
    Sub RangeKopieren()
     Worksheets("Blatt4").Range(Worksheets("Blatt4").Cells(1, 12), Worksheets("Blatt4").Cells(21, 12)) = _
      Worksheets("Blatt5").Range(Worksheets("Blatt5").Cells(1, 4), Worksheets("Blatt5").Cells(21, 4)).Value
    End Sub
    Die Referenzierungen mit ›voller Anschrift & Hausnummer‹ sind Pflicht, die Koordinaten der Eckzellen Oben-Links und Unten-Rechts sollten sich wie die Blattnamen von selbst erklären.

    Damit sollte deinem Problem abgeholfen sein. Es wäre nur zu prüfen ob man die Kopierzeile mit Application.ScreenUpdating (False) drüber und Application.ScreenUpdating (True) drunter die Sachen beschleunigen kann und muss.
    Übrigens: das .Value würde ich nicht weglassen, wenn man es im Allgemeinen auch nicht benötigt.

    CN8
     
  3. Hascheff

    Hascheff Moderator

    Das kann so nicht sein. Es kann nur daran liegen, dass die Formeln auf externe Daten zugreifen müssen. Das passiert vermutlich erst nach der SVERWEIS-Berechnung.

    Versuche mal, in den Optionen die automatische Neuberechnung auszuschalten und die Berechnung manuell durch F9 auszulösen.
     
  4. Vielen Dank erst mal für beide Antworten.

    @Hascheff: Das mit dem F9 funktioniert tatsächlich, den Trick kannte ich noch nicht. Da klappt das sogar wenn er in Zellen sucht, die ihre Daten aus einem anderen Dokument holen. Gibt es denn noch die Möglichkeit, dass der SVerweis auch ohne dass man noch F9 drückt den Wert der Zelle als Suchkriterium nimmt und auch den Wert der Zelle der Matrix ausgibt?
     
  5. Eric March

    Eric March CD-R 80

    Wenn du die Automatik ausgeschaltet hast ist F9 erforderlich.
    Falls es mit der Automatik nicht geht - bist du wieder bei F9 gestrandet.

    Eric March
     
Thread Status:
Not open for further replies.

Share This Page