Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopieren

Kopieren
17.07.2015 11:43:16
Norbert
Hallo Spezialisten
Es geht um 2 Tabellenblätter
im Tabellenblatt Daten habe ich diverse Datensätze (bis ca. Zeile 250 und Spalte W)
Im Tabellenblatt Formular (siehe Beispiel) habe ich ein Formular gestaltet.
Ist es nun möglich, dass es mir pro Datensatz das ganze Formular im gleichen Tabellenblatt in einem Zuge nach unten kopiert?
Bezeichnung "Text" ist immer gleich benannt
Bezeichnung "Variabel" hole ich den jeweiligen Wert mittels sverweis vom Datenblatt.
Geht dies mit einem VBA-Script?
Danke für die Hilfe
https://www.herber.de/bbs/user/98895.xlsx

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren
17.07.2015 18:07:25
Klexy
Im Tabellenblatt Daten gibt es weder diverse noch sonstige Datensätze.

AW: Kopieren
19.07.2015 07:41:22
Norbert
Hallo Klexy
im Tabellenblatt "Daten" befindet sich der "Schlüssel" in der Spalte Ä, welches ein 8-Stellige Nummer ist.
Den Vorgang für das Script stelle ich mir folgendermassen vor:
1. hole den 1. Wert aus Daten, A1
2. kopieren diesen im 1. Formular im Zelle Variabel (mit Schlüssel gekennzeichnet)
3. Kopiere das komplett eingerahmte Formular
4. füge unterhalb nach einer Leerzeile den Inhalt ein (mit Formel, Formatierung)
5. in diesem kopierten 2. Formular den bestehenden Schlüsselwert ersetzen durch den nächsten Wert aus Daten A2
6. dann Wiederholung der Prozedur, solange bis der letzte Wert aus Daten, Spalte A erreicht ist
Am Ende sollten alle Schlüsselwerte in einem eigen Formular ersichtlich sein - wie vorherige Beschreibung, Schlüsselwerte können von A1 - A250 gefüllt sein.
Helfen diese Angaben?
Gruss Norbert

Anzeige
AW: Kopieren
19.07.2015 17:33:52
Michael
Hi zusammen,
ich schließe mich Klexy an: das Blatt "Daten" ist schlicht leer!
Die grundsätzliche Frage ist, wozu das überhaupt gut sein soll. Wenn ich das "datenbankmäßig" betrachte, braucht es nämlich nur eine Liste der Daten (wie theoretisch in "Daten" vorhanden) und *ein* Formular, aus dem man diverse Funktionalität generiert, sei es z.B. für die Eingabe von Daten oder eben auch einen Ausdruck - der kann dann nämlich ähnlich wie ein Word-Serienbrief gestaltet werden.
Also, was möchtest Du damit machen?
In Deinem Beispiel sind übrigens *zwei* Leerzeilen zwischen den beiden "Formularen".
Für so etwas nimmt man sinnvollerweise INDEX. Ich habe Deine Tabelle etwas geändert: das bisherige Blatt Formular heißt jetzt Formular-Vorlage: das wird dazu verwendet, alle Formeln einzugeben: orientiere Dich am Beispiel in B4. Der Index wird über den Wert in Q4 gesteuert; steht hier eine 1, wird der erste Wert angezeigt, steht da eine 2, der zweite usw. bis 250. Das (zu erstellende) Makro schreibt dann hier die jeweilige Zahl rein, von 1 bis [vorhandene Zeilen] und kopiert aus der Formular-Vorlage "weg" (also etwa in "Formular-Ausgabe") bzw. druckt...
Deine "variablen" Felder mußt Du halt entsprechend verINDEXen. Vielleicht erstellst Du für uns mal 5 Zeilen & Spalten Spieldaten und verformelst sie, dann können wir uns in VBA austoben.
Die Datei: https://www.herber.de/bbs/user/98924.xlsx
Schöne Grüße,
Michael

Anzeige
AW: Kopieren
20.07.2015 06:49:12
Norbert
Hallo Michael
siehe meine Folgenachricht vom 17.07.2015
für mein Vorhaben ist lediglich ein Wert aus Daten - Spalte A relevant. Die restlichen Daten im Formular hole ich mit sverweis rüber, oder es sind zum Teil Berechnungen im im Formular selber. Die hinterlegten Formeln bleiben aber immer gleich. Beispiel für den Schlüsselwert ist: 10054187
Danke vorab
Gruss Norbert

AW: Kopieren
20.07.2015 10:58:17
Klexy
So ist eine Musterdatei vorbildlich. Ich schau es mir später an.

Anzeige
AW: Kopieren
20.07.2015 17:24:08
Klexy
So sollte es gehen.
Ich hab alle Angaben als Variablen angelegt, damit du sie leicht ändern kannst, wenn sich das Formular oder die Blattnamen oder was auch immer ändern sollten.
Sub Formular_fuer_jeden_Datensatz_kopieren()
Dim Quellblatt As Worksheet, Zielblatt As Worksheet
Set Quellblatt = Worksheets("Daten")
Set Zielblatt = Worksheets("Formular-Vorlage")
Dim Höhe As Integer, Breite As Integer, Abstand As Integer
Höhe = 30 ' Höhe des Formulars
Breite = 12 ' Breite des Formulars
Abstand = 2 ' Abstand zwischen 2 Formularen
Dim Formular As Range, Schlüssel As Double, i As Integer, Schlüsselzelle As Range
Set Formular = Zielblatt.Range(Cells(1, 1), Cells(Höhe, Breite))
Formular.Select ' nur zur Verdeutlichung
For i = 3 To Quellblatt.UsedRange.Rows.Count
Schlüssel = Quellblatt.Cells(i, 1).Value
Formular.Copy Formular.Offset((i - 2) * (Höhe + Abstand), 0)
Formular.Offset((i - 2) * (Höhe + Abstand), 0).Select ' nur zur Verdeutlichung
Set Schlüsselzelle = Formular.Offset((i - 2) * (Höhe + Abstand), 0).Cells(1).Offset(3, 1)
Schlüsselzelle.Select ' nur zur Verdeutlichung
Schlüsselzelle = Schlüssel
Next i
MsgBox "Fertig" ' damit man weiß, wann es zu Ende geruckelt hat
End Sub

Anzeige
AW: Kopieren
20.07.2015 21:15:11
Norbert
Hallo Klexy
funktioniert, sensationell kann ich da nur sagen.
Besten Dank für deine hilfreiche Lösung
Grüsse Norbert

AW: Kopieren
21.07.2015 07:00:46
Norbert
Hallo Klexy
eine Frage noch - um den Komfort entgültig zu haben, wäre schön, wenn ich die Anzahl der zu übernehmenden Datensätze noch angeben könnte (Bsp. von A5:A62)
Ist das auch noch möglich?
Danke Bestens
Gruss norbert

AW: Kopieren
21.07.2015 17:18:23
Klexy
Diese Zeile
For i = 3 To Quellblatt.UsedRange.Rows.Count

´steuert, dass es von Zeile 3 bis zur letzten verwendeten Zeile (UsedRange.Rows.Count) geht.
Mach dir weiter oben noch eine oder zwei Variablen, mit denen du die Werte für i steuern kannst.
Am besten indem du die Werte in zwei Zellen schreibst und von dort übernimmst.
so z.B.:
Dim ersteZeile As Integer
ersteZeile = Range("P1").Value

Anzeige
AW: Kopieren
21.07.2015 22:14:44
Norbert
Hallo Klexy
habs hingekriegt
danke für den Hinweis
Gruss Norbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige