4.8k Aufrufe
Gefragt in Tabellenkalkulation von flixe84 Mitglied (107 Punkte)
Hallo Supportnet-Forum,
schön das es euch gibt!

Hätte mal wieder ein Excel Problem das glaub nur mit VBA zu lösen ist, denn ich darf kein Access verwenden.

Folgende Aufgabenstellung:
In Tabelle 1 sind die Felder A1 B3 C5 D9 mit Werten gefüllt.
In Tabelle 2 soll dann der Wert aus Feld A1 in Spalte A, der Wert aus Feld B3 in Spalte B stehen usw. …

Es werden täglich mehrere werte in Tabelle 1 eingefügt, nun sollte per Button die Werte aus Tabelle 1 in Tabelle 2 geschrieben werden, immer in die nächste freie Zeile.

Wie geht das?
Ich muss glaub mal einen VBA Kurs besuchen!

Danke für eure Hilfe

Grüße
Felix

10 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Felix,

haben beide Tabellen zu Beginn die gleiche Zeileanzahl, oder woher soll Excel Wissen welche Zeilen kopiert werden müssen?

Gruß Hajo
0 Punkte
Beantwortet von flixe84 Mitglied (107 Punkte)
Hi Hajo,

danke das du dich um mein Problem bemühst.

Folgende Situation
Tabelle 1 dort werden Feld A1 das Datum, in B2 der Benutzer, in C1 ein Wert eingetragen.

in Tabelle 2 solle es dann wie folgt aussehen
Spalte A Spalte B Spalte C
31.12.2011 Nikolaus 7,50 €
31.12.2011 Osterhase 10,50 €

Beginnen soll das also in Zeile 2
und dann immer angefügt werden.

Wenn noch Fragen sind lasse es mich bitte wissen,
DANKE

Felix
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Felix,

warum soll ich muiir neue ausdenkern, wennn nicht mal die erste Frage beantwortet wird? Dies ist nun schon die 2. Frage.

Gruß hajo
0 Punkte
Beantwortet von flixe84 Mitglied (107 Punkte)
Hallo HAjo,

habe vor lauter Eifer deine Frage vergessen zu beantworten.

Also:
es sind beides normale exceltabellen.
ja sie haben die gleiche anzahl.
Aber warum willst du das wissen?
Denn Tabelle 1 sind die Felder A1, B2, C1 usw. belegt,
und diese sollen dann untereinander in A B C gefüllt werden.

Grüße
Felix & nochmals sorry für die erst jetzt beantwotete Frage.
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Felix,

Tabell2 Ist A1 beleg; B2 und C1 (ich hätte den Datensatz inn einer Zeile geschrieben.
In Tabelle1 wird was in A1;B2;c1 eingetragen und nur diese Zelle sollen kopiert werden nach A2; B3 C2 und so weiter?

Gruß Hajo
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Folgender Codeschnippsel beruht auf den in der Frage genannten "Eingabezellen". Fuer die wuerde das Makro bei mir in etwa aussehen, wie folgt:
Sub Uebertragen()
Dim rngS As Range, rngCell As Range
Dim lngLRow As Long, lngLRowM As Long
Dim lngCount As Long
With Worksheets("Tabelle1") 'QuellTabelle !!!Anpassen!!!
Set rngS = Union(.Range("A1"), .Range("B3"), .Range("C5"), .Range("D9")) 'Einzelzellen zusammenfassen
End With
With Worksheets("Tabelle2") 'ZielTabelle !!!ANPASSEN!!!
For lngCount = 1 To rngS.Cells.Count 'Durchlaufe QuellZellen
lngLRow = IIf(IsEmpty(.Cells(.Rows.Count, lngCount)), _
.Cells(.Rows.Count, lngCount).End(xlUp).Row, .Rows.Count) 'jeweils Letzte Zelle in Zielspalte
If lngLRow > lngLRowM Then lngLRowM = lngLRow 'MAX merken
Next lngCount
lngCount = 0 'Zaehler zu 0
For Each rngCell In rngS 'Quellzellen durchlaufen
lngCount = lngCount + 1 'Spalte zaehlen
.Cells(lngLRowM, lngCount).Offset(1, 0).Value = rngCell 'Wert eintragen
Next rngCell
End With
'rngS.ClearContents 'Eingabezellen ggf. loeschen
Set rngS = Nothing 'Verweis zerstoeren
End Sub


So zumindest habe ich die Eingangsfrage verstanden.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von flixe84 Mitglied (107 Punkte)
Hallo Hajo,

also in Tabelle 1 muss der Benutzer in die entsprechende Spalte Werte einfügen.

Die Werte sollen dann in Tabelle 2 aufgelistet werden in Spalte A, B, C,
wobei in A1, B1, C1 die Bezeichnung der Spalte steht, und die Daten darunter.


Hallo The Blackbird,

danke schon mal für den Codeschnipsel, habs versucht,
bringt aber nicht das gewünschte ergebnis.

Danke & Grüße
Felix
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Tja, wenn das auch nicht das war, was Du wolltest, dann musst Du wohl eine BeispielMappe
hochladen. (z.B. hier) In dieser Mappe sollten dann die "Eingabe-Zellen" eindeutig
gekennzeichnet sein. Auch wie das Ergebnis aussehen soll, waere zu beschreiben. (Welche
EingabeZelle soll sich wo wiederfinden?) Ob sich die Eingabe-Zellen von Eingabe zu Eingabe
aendern ist auch nicht so klar. Aus Deiner Frage heraus wurde ich sagen NEIN. Bei Deiner Antwort #4
sind sie aber schon wieder anders... ???

Beschreibe einfach moeglichst genau, was wann passieren soll. Und auch wie es nach einem MakroDurch-
lauf dann weitergeht, und was dann passieren soll.

Anders ist Dir hier wohl nicht zu helfen.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von flixe84 Mitglied (107 Punkte)
Hallo The ClackBird,

anbei der Link
Beispiel.xls

Wie von dir gewünscht.

Also in Tabelle 1 sollte quasi wie eine Art Formular zu sehen sein, in
denen bestimmte Daten abgefragt werden.
in Tabelle zwei sollen diesen dann untereinander gelistet werden.

Mit Access hätte ich es schon längst, nur leider dürfen wir kein Access haben (aus Kostengründen)

Danke schonmal vorab!

MfG
Felix
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Also passt der Code aus #6 doch. Nur die Eingabezellen waren
die falschen (eben jene wie in der ursprueglichen Frage angegeben).

Sei es, wie es sei. Anbei das BeispielFile mit angepasstem Code zurueck.

Cu
TheBlackBird ®
...