Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro für Formulare einlesen





Frage

Hallo liebe Leute! Ich habe da ein Problem und hoffe Ihr könnt mir weiterhelfen! Ich habe ein Formular in Excel entworfen, worin Kopieraufträge eingetragen werden. Diese bekomme ich online zurück und möchte sie dann in das Orginalblatt rein kopieren! In einem weiteren Blatt habe ich eine Auswertungstabele angelegt mit Verknüpfungen zu Zellen in dem Formular! Ich benötige nun ein Makro, dass sobald ich ein neu ausgefülltes Formular in das Orginal einfüge, in meinem Auswertungsblatt eine neue Zeile mit den neuen Daten entsteht! Wenn dazu jemand eine Idee hat, wäre ich sehr dankbar! Gruss Platin7

Antwort 1 von JoeKe

Moin Platin7 ,

Option Explicit

Sub Formular()
Dim intZeile As Integer
intZeile = Sheets("Auswertung").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Sheets("Auswertung").Cells(intZeile, 1) = Sheets("Formular").Range("B6")
Sheets("Auswertung").Cells(intZeile, 2) = Sheets("Formular").Range("C6")
Sheets("Auswertung").Cells(intZeile, 3) = Sheets("Formular").Range("E6")
Sheets("Auswertung").Cells(intZeile, 4) = Sheets("Formular").Range("H8")
End Sub


Es werden die Zellen B6, C6, E6 und H8 aus dem Formular in die erste freie Zeile beginnend in Spalte A der Auswertung kopiert.

Gruß

JöKe

Antwort 2 von Platin7

Hallo JöKe!
Vielen Dank für Deine superschnelle Antwort.
Klappt Prima!
Gruß
Platin7

Antwort 3 von Platin7

Hallo nochmal!
Es hat sich noch ein kleines Problem ergeben!
Ich habe Wenn-Bedingungen, die sich auf das Formularbeziehen! Sobald ich jedoch ein neues einfüge, ändern sich auch die alten Angaben!
Deswegen hätte ich gern noch eine Befehlszeile, die die gesamte Zeile kopiert und als "Werte und Formate" wieder einfügt!

Mein Makro sieht folgendermaßen aus:


Sub Formular()
Dim intZeile As Integer
intZeile = Sheets("Auswertung").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Sheets("Auswertung").Cells(intZeile, 1) = Sheets("Formular").Range("$B$32")
Sheets("Auswertung").Cells(intZeile, 2) = Sheets("Formular").Range("$E$6") ´Auftraggeber
Sheets("Auswertung").Cells(intZeile, 3) = Sheets("Formular").Range("$E$9") ´Kostenstelle
Sheets("Auswertung").Cells(intZeile, 4) = Sheets("Formular").Range("$I$15") ´Original Seitenzahl
Sheets("Auswertung").Cells(intZeile, 5) = Sheets("Formular").Range("$I$21") ´Anzahl Kopien
Sheets("Auswertung").Cells(intZeile, 11) = Sheets("Formular").Range("$I$25") ´Anzahl Briefsendung
Sheets("Auswertung").Cells(intZeile, 13) = Sheets("Formular").Range("$E$40") ´Portokosten
Sheets("Auswertung").Cells(intZeile, 15) = Sheets("Formular").Range("$E$38") ´Dauer
End Sub


Die Tabelle reicht von Spalte A bis Q!
Vielen Dank für die Hilfe im Vorraus
Gruss
Platin7

Antwort 4 von JoeKe

Nochmal Hallo,

da du nicht schreibst welche Zeile wohin kopiert werden soll, hier nur ein Beispiel:

Sheets("Formular").Rows("1:1").Copy
Sheets("Auswertung").Range("A1").PasteSpecial Paste:=xlPasteValues
Sheets("Auswertung").Range("A1").PasteSpecial Paste:=xlPasteFormats


Gruß

JöKe

Antwort 5 von Platin7

Hallo JöKe!
Das Makro, dass ich angegeben habe, fügt die entsprechenden Zellen in die erste Freie Zeile ein.
Also müsste sich Deine Variante auf die letzte beschriebene Zeile (Spalte A-Q) beziehen!
Gruss
Platin7

Antwort 6 von JoeKe

Hallo

Die 1:1 geben dir die Zeile an die kopiert wird (hier 1).
Mit:

Sub Makro1()
Sheets("Formular").Rows("1:1").Copy
With Sheets("Auswertung")
.Cells(Rows.Count, 1).End(xlUp).PasteSpecial Paste:=xlPasteValues
.Cells(Rows.Count, 1).End(xlUp).PasteSpecial Paste:=xlPasteFormats
End With
End Sub


wird die kopierte Zeile in die letzte beschriebene Zeile der Spalte A eingefügt.

Mit:

Sub Makro1()
Sheets("Formular").Rows("1:1").Copy
With Sheets("Auswertung")
.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteFormats
End With
End Sub


in die erste ferie Zelle der Spalte A.

Gruß

Antwort 7 von Platin7

Danke JöKe!
Habe es noch ein wenig angepasst und jetzt funktioniert es prima!
Gruss
Platin7

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: