Office: Eingabeformular per Makro innerhalb des Dokuments kopieren

Helfe beim Thema Eingabeformular per Makro innerhalb des Dokuments kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe ein Problem... :-) Ich habe ein Formular, aber ganz simpel, also einfach z.B. Art. Nr., Stückzahl usw.. Das ist z.B. 5*5 Zellen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von jep, 13. März 2008.

  1. JEP
    jep Erfahrener User

    Eingabeformular per Makro innerhalb des Dokuments kopieren


    Hallo,

    ich habe ein Problem... :-)

    Ich habe ein Formular, aber ganz simpel, also einfach z.B. Art. Nr., Stückzahl usw.. Das ist z.B. 5*5 Zellen groß. Dieses Formular soll für jede neue Eintragung neu angelegt werden, aber innerhalb der Tabelle. Sprich, einfach copy die 5*5 Zellen und direkt darunter einfügen.
    Von Hand absolut simpel, das Problem ist aber, dass ich das ganze gerne - benutzerfreundlich - per Makro erledigen lassen würde.

    Ich habe mich daran versucht ein Objekt (Form) einzufügen neben dem Formular, dieses mit einem Makro zu belegen welches alles (samt Objekt) nach unten kopiert und das Objekt (Form) wiederum mit dem Makro belegt. Das ganze geht - wenn überhaupt - 3-4 mal ohne Probleme, aber dann kommen Fehlermeldungen.

    Hat da zufällig jemand eine Idee, wie sich sowas "leicht" umsetzen lässt, so dass es funktioniert?

    Wäre toll :-)

    Viele Grüße
     
  2. schatzi Super-Moderator
    Hallo!

    Vielleicht geht das hier in die richtige Richtung.
     
    schatzi, 13. März 2008
    #2
  3. JEP
    jep Erfahrener User
    Nicht nur vielleicht.
    Exakt (!) das, was ich bräuchte.

    Könntest Du mir bitte erklären, wie ich da den VBA-Text (ich nehme mal an, darin wird es geändert) ändern muss, damit ich es auf beliebige Felder anwenden kann? Bzw. wie ich es in meine Excel-Mappe einfüge.
     
  4. schatzi Super-Moderator

    Eingabeformular per Makro innerhalb des Dokuments kopieren

    Hallo!
    Code:
    Set Ende = Range("C65536").End(xlUp)
    Liefert die letzte beschriebene Zelle in Spalte C. In meinem Beispiel also C8.
    Code:
    Ende.Offset(-4, 4)
    Verschiebt diese Zelle um 4 Zeilen nach oben und um 4 Spalten nach rechts. Im Beispiel also G4.
    Code:
    Range(Ende, Ende.Offset(-4, 4))
    Liefert den Bereich zwischen "Ende" und "Ende.Offset(-4, 4)", also C4:G8.
    Code:
    .Copy Ende.Offset(3, 0)
    Kopiert diesen Bereich. Erste Zelle des Zielbereichs ist C8 um drei Zeilen nach unten verschoben, also C11.
     
    schatzi, 13. März 2008
    #4
  5. JEP
    jep Erfahrener User
    Danke soweit. Ich versteh den ersten Ausdruck nicht, wie man da auf C8 kommt.

    Meine Auswahl wäre beginnend bei A12-R31, dann erste Kopie A32-R51 usw.


    Folglich:

    Ende.offset(-18, 17)
    Range(Ende, Ende.Offset(-18, 17)
    Copy Ende.offset(1, 0)

    Abgesehen vom nicht-vorhandenen ersten Ausdruck - stimmt das so?
     
  6. schatzi Super-Moderator
    Hallo!

    Range("C65536").End(xlUp)
    sucht das Ende des Bereichs (End), indem von C65536 nach oben (xlUp) gesucht wird.

    Wenn ich mich nicht täusche, dann müsste es bei dir .Offset(-19, 18) heißen, aber vielleicht habe ich mich auch verzählt.
     
    schatzi, 13. März 2008
    #6
  7. JEP
    jep Erfahrener User
    Ahh okey.
    Mhh, ansich funktioniert es. Dummerweise aber wird nur die letzte Spalte kopiert.
    Weißt Du was ich falsch mache?
     
  8. schatzi Super-Moderator

    Eingabeformular per Makro innerhalb des Dokuments kopieren

    Zeig mal den ganzen Code!
    Meine Kristallkugel ist gerade in Reparatur...
    Eingabeformular per Makro innerhalb des Dokuments kopieren [​IMG]
     
    schatzi, 13. März 2008
    #8
  9. JEP
    jep Erfahrener User
    Oh, sorry.

    Hier der gesamte Code:

    Option Explicit

    Private Sub CommandButton1_Click()
    Dim Ende As Range
    Set Ende = Range("R65536").End(xlUp)
    Range(Ende, Ende.Offset(-19, 18)).Copy Ende.Offset(1, 0)
    End Sub
     
  10. schatzi Super-Moderator
    Hallo!

    Du lässt die letzte Zelle in Spalte R suchen!
    Entweder änderst du also "R65536" in "A65536", oder du änderst ".Offset(-19, 18)" in ".Offset(-19, -18)".
     
    schatzi, 13. März 2008
    #10
  11. JEP
    jep Erfahrener User
    Genial. Du bist der Excel-König :-)

    Allerdings bräuchte ich noch eine Ergänzung :/
    Wenn ich das Formular kopiere, dann ist dies eine Kopie vom Letzten und somit schon ausgefüllt. Das ist etwas ungünstig.

    Es gibt doch bestimmt, die Möglichkeit den Inhalt bestimmter Felder zu löschen, oder?

    Ist auch meine letzte Frage, versprochen ;-).
     
  12. schatzi Super-Moderator
    Hallo!

    Zellinhalte löscht du z.B. mit
    Range("A1").ClearContents

    In deinem Fall musst du die gewünschten Zellen (oder die Bereiche) entsprechend mit Ende.Offset(...).ClearContents ansteuern.
     
    schatzi, 13. März 2008
    #12
  13. JEP
    jep Erfahrener User

    Eingabeformular per Makro innerhalb des Dokuments kopieren

    Das klappt soweit einigermaßen, das Problem ist nur, dass es den Inhalt des vorigen Formulars löscht. Ziel wäre aber, dass das kopierte Formular "leer" ist.
     
  14. schatzi Super-Moderator
    Eingabeformular per Makro innerhalb des Dokuments kopieren [​IMG]
     
    schatzi, 13. März 2008
    #14
  15. JEP
    jep Erfahrener User
    Ach... natürlich.

    Option Explicit

    Private Sub CommandButton1_Click()
    Dim Ende As Range
    Set Ende = Range("A65536").End(xlUp)
    Range(Ende, Ende.Offset(-19, 18)).Copy Ende.Offset(1, 0)
    Ende.Offset(-5, 8).ClearContents
    End Sub

    Private Sub erwe_Click()

    End Sub
     
Thema:

Eingabeformular per Makro innerhalb des Dokuments kopieren

Die Seite wird geladen...
  1. Eingabeformular per Makro innerhalb des Dokuments kopieren - Similar Threads - Eingabeformular Makro Dokuments

  2. Eingabeformular für Datensatz

    in Microsoft Access Hilfe
    Eingabeformular für Datensatz: Hallo, ich arbeite derzeit an keiner Datenbank, aber ich frage mich schon lange wie "sowas möglich ist". Auf Arbeit haben wir eine große Datenbank (kein Access, sondern eine "richtige"...
  3. Eingabeformular erstellen

    in Microsoft Access Hilfe
    Eingabeformular erstellen: Hey Leute, Ich bin blutiger Anfänger in Access und brauche Eure Hilfe! Zuerst rufe ich ein Formular auf in dem der Benutzer 1 Übergruppe auswählt, dann kann er die dazugehörigen z.B....
  4. Eingabeformular erstellen

    in Microsoft Access Hilfe
    Eingabeformular erstellen: hallo zusammen, in der schule haben wir die aufgabe bekommen, eine datenbank nach wahl zu erstellen und sie mit formularen, abfragen, etc. anschaulich zu machen. da ich in der vergangenheit nicht...
  5. Übernahme von Daten aus Excel-Eingabeformular in Tabelle

    in Microsoft Excel Hilfe
    Übernahme von Daten aus Excel-Eingabeformular in Tabelle: Moin! Office Version ist XP. Also wir haben ein Eingabeformular in Excell erstellt. In einem weiteren Tabellenblatt befindet sich die Zieltabelle, in die bei Eintragung die Daten übertragen...
  6. Löschen von Datensätzen über Eingabeformular sperren (A2003)

    in Microsoft Access Hilfe
    Löschen von Datensätzen über Eingabeformular sperren (A2003): Hallo zusammen, vielleicht kann mir ja jemand von euch bei meinem Problem helfen.... Ich habe eine Access-Datenbank entwickelt, auf die eine ganze Menge Leute Zugriff haben. Irgend jemand...
  7. Eingabeformular???

    in Microsoft Excel Hilfe
    Eingabeformular???: hallo nochmals, nachdem sich auf meine konkrete Frage niemand gemeldet hat (war sehr wahrscheinlich nicht gut genug beschrieben) versuche ich es jetzt nochmal allgemeiner. Wie kann ich für eine...
  8. EIngabeformular für relationale Datenbank

    in Microsoft Access Hilfe
    EIngabeformular für relationale Datenbank: Hallo, bin Anfänger mit Access. Habe hier eine Datenbank erstellt in der ich mehrere Datensätze über Primärschlüssel verbunden habe. Es geht dabei um Tagunsmöglichkeiten für Veranstaltungen....
  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