Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Macros aufzeichnen

Forumthread: Macros aufzeichnen

Macros aufzeichnen
04.01.2005 13:07:29
Joachim Glaus
Hallo liebe Excel-Experten
Folgende Situation: In der ersten Tabelle sind in Spalte A fortlaufende Nummern in Spalte B eine Auswahl von ca. 10 verschiedene Abkürzungen. Diese Abkürzungen verweisen auf auf andere Tabellen (ca. 4). Jetzt sollte die fortlaufende Nummer automatisch in die andere Tablle "kopiert" werden, wenn ich eine der entsprechende Abkürzung in Spalte B schreibe. Ich konnte dies bisher mit Zellenfunktionen mit WENN, etc. erreichen. Das Problem hiermit besteht, dass die fortlaufende Nummer nur auf der gleichen Zeile übertragen wird. Somit bestehen dann in denn Tabellen wo die Nummer hineinkopiert wird, leere Zeilen entstehen. Ich möchte nun erreichen, vielleicht mit Hilfe von Makros, dass die fortlaufende Nummer in den Tabellen automatisch (jeweils auch in Spalte A) auf die nächstuntere Zeile eingefügt wird.
Könnt ihr mir da helfen. Das wäre super! Vielen Dank schon im voraus
Joachim
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macros aufzeichnen
04.01.2005 18:16:58
Beni
Hallo Joachim,
kopiere diesen Code in das Modul der Tabelle, mit rechte Maustaste auf Blattregister/Code anzeigen.
Gruss Beni

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
With Sheets(Target.Text)
lz = .Cells(65536, 1).End(xlUp).Row
.Cells(lz + 1, 1) = Cells(Target.Row, 1)
End With
End If
End Sub

Anzeige
AW: Macros aufzeichnen
05.01.2005 11:28:57
Joachim
Vielen Dank Beni
Es könnte sein das ich nicht nur etwas falsch mache. Es funktioniert irgendwie nicht. Kannst du mir mal erklären was dein "Code" macht?
Muss ich im Visual Basic-Fenster links Modul doppelklicken und dann im weissen Fenster den Code reinkopieren, oder? Wenn führt das Makro den Befehl aus? Beim öffnen, schliessen, Tastenkombination oder sobald dass das Feld leer ist?
Gruss
Joachim
Anzeige
AW: Macros aufzeichnen
05.01.2005 19:59:45
Beni
Hallo Joachim,
mit rechte Maustaste auf Blattregister/Code anzeigen, oder mit Alt+F11 zum Visual-Basic-Editor, doppelklick aus Tabellen-Modul.
Diese Prozedur wird ausgeführt, wenn in Spalte2 eine Veränderung geschiet.
Gruss Beni
AW: Macros aufzeichnen
06.01.2005 10:41:49
Joachim
Hallo Beni
Kannst du mal die Datei anschauen? Es ist zwar eine Kopie, wegen Firmengeheimnis etc., du weisst schon... In den Tabellenblättern sollten die leeren Zellen (in Spalte A) "aufgefüllt werden. Wäre dir dankbar!!

Die Datei https://www.herber.de/bbs/user/15680.xls wurde aus Datenschutzgründen gelöscht

Gruss
Anzeige
AW: Macros aufzeichnen
06.01.2005 11:47:52
Beni
Hallo Joachim,
die Tabellennamen müssen gleich sein, wie die Namen in SpalteB,
ich habs Dir korrigiert.
Gruss Beni
https://www.herber.de/bbs/user/15688.xls
AW: Macros aufzeichnen
06.01.2005 11:48:01
Beni
Hallo Joachim,
die Tabellennamen müssen gleich sein, wie die Namen in SpalteB,
ich habs Dir korrigiert.
Gruss Beni
https://www.herber.de/bbs/user/15688.xls
Anzeige
AW: Macros aufzeichnen-Vielen Dank!
06.01.2005 13:53:41
Joachim
Hallo Beni
Vielen Dank, das hat soweit super geklappt!
Folgendes Problem besteht noch (wenn das lösbar ist): Die Nummer wird soweit in das Tabellenblatt kopiert, sobald ich eine Abkürzung in Spalte B schreibe. Wenn ich nun den Namen ändere (angenommen ich hab mal den Namen verwechselt), bleibt die Nummer aber im Tabellenblatt bestehen. Kann man das so programmieren, dass sobald der Text weg ist, die Nummer wieder frei verfügbar ist?
Gruss
Joachim
Anzeige
AW: Macros aufzeichnen-Vielen Dank!
06.01.2005 18:51:02
Beni
Hallo Joachim,
füge diesen Code in das Tabellenmodul in der Tabelle Du die Eingaben in SpalteB machst,
in den anderen Tabellenmodul darf dieser Code nicht sein.
Leider kann ich Dir keine Beispieldatei anfügen, seit ich Zuhause das Scheiss-XP habe, geht das nicht mehr.
Gruss Beni
Dim alterWert

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Target = "" Then
Nummer = Cells(Target.Row, 1)
Set n = Sheets(alterWert).Columns(1).Find(What:=Nummer, LookIn:=xlValues, LookAt:=xlWhole)
If Not n Is Nothing Then n(1, 1).Delete Shift:=xlUp
Exit Sub
End If
If Target <> "" Then
With Sheets(Target.Text)
lz = .Cells(65536, 1).End(xlUp).Row
.Cells(lz + 1, 1) = Cells(Target.Row, 1)
End With
End If
End If
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
alterWert = Target
End If
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige