Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
128to132
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
128to132
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Macros

Macros
23.06.2002 08:34:01
Schönegger
Wie kann ich mit einem Macro aus einer Zelle in Tabelle1 Werte in eine andere Tabelle2 kopieren dass die Werte in der zweiten Tabelle immer fortlaufend in den freien Zeilen darunter eingetragen werden? Ich möchte damit eine Auflistung z.B. der fortlaufenden Rechnungsnummern erstellen.

mfg Schönegger

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Macros
23.06.2002 10:31:10
Dieter
Hallo,
Im Folgenden mal ein kleines Beispiel wie man in Excel eine Datenbank unter Verwendung des ersten
Tabellenblattes als Eingabemaske und des zweiten Tabellenblattes als Datenblatt einrichten kann.
Dieses Beispiel ist beliebig ausbaubar und setzt vorraus das man Grundkenntnisse im Makroschreiben- und lesen
hat. Im ersten Tabellenblatt, "Eingabe" genannt sind die Eingabefelder B3 bis B7 senkrecht angeordnet und es
wurde aus der Symbolleiste "Formular" eine Schaltfläche eingefügt die mit dem nachfolgenden Makro verknüpft
wurde. Im zweiten Tabellenblatt mit Namen "Daten" ist in der ersten Zeile die jeweilige Spaltenüberschrift.

'Die erste Zeile bewirkt einen Wechsel zum Tabellenblatt "Daten"
'Die zweite Zeile sucht die erste freie Zelle in der ersten Spalte
'In der dritten Zeile wird diese Zelle mit dem Wert der Eingabezelle B3
'aus dem Tabellenblatt "Eingabe" gefüllt.
'Die Zeilen vier bis sieben bewirken mit dem Offset-Befehl jeweils einen
'Sprung zur nächsten rechts gelegenen Zelle um diese mit dem Wert der Zellen
'B4 bis B7 aus dem Tabellenblatt "Eingabe" zu füllen.
'Die achte Zeile wechselt zum Tabellenblatt "Eingabe".
'Die neunte Zeile löscht die Werte aus den Zellen B3 bis B7.
'Die zehnte Zeile aktiviert Die Zelle B3 um gleich mit einer neuen Eingabe beginnen
'zu können.

Sub Speichern()

Sheets("Daten").Activate
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Sheets("Eingabe").[B3]
ActiveCell.Offset(0, 1).Value = Sheets("Eingabe").[B4]
ActiveCell.Offset(0, 2).Value = Sheets("Eingabe").[B5]
ActiveCell.Offset(0, 3).Value = Sheets("Eingabe").[B6]
ActiveCell.Offset(0, 4).Value = Sheets("Eingabe").[B7]
Sheets("Eingabe").Activate
Range("B3:B7").ClearContents
Range("B3").Activate

End Sub

Ich hoffe es hilft dir weiter.
Gruß Dieter

Anzeige
Re: Macros
23.06.2002 14:01:47
Martin
Hallo Dieter,
ich bin mal so frech und gebe meinen Senf dazu:
den Code sollte man so schreiben, daß man nicht zwischen den Blättern und Zellen
herumspringt, sondern die Bereiche direkt anspricht (Aussage von Hans Herber).
Außerdem kann man für diese Aufgabe auch eine Schleife einbauen.

Sub Speichern()
Dim WSE As Worksheet
Dim WSD As Worksheet
Dim Zeile As Long
Dim i As Integer

Set WSE = ThisWorkbook.Sheets("Eingabe")
Set WSD = ThisWorkbook.Sheets("Daten")

Zeile = WSD.Cells(WSD.Rows.Count, 1).End(xlUp).Row + 1

For i = 1 To 5
WSD.Cells(Zeile, i) = WSE.Range("B" & 2 + i)
Next i

WSE.Range("B3:B7").ClearContents

End Sub

Grüße
Martin

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige