Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
116to120
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
116to120
116to120
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro automatisch starten

Makro automatisch starten
03.05.2002 20:11:01
Mike
Hallo,
ich habe nachfolgendes Makro im "Modul1" stehen. Zur Ausführung bringe ich es manuell.
Wie kann ich nun erreichen, dass dieses Makro automatisch gestartet wird, sobald sich die Einträge in Spalte A ändern?
Wo hinein muss es geschrieben werden?

Option Explicit
Sub InSpaltenTrennen()
Application.ScreenUpdating = False 'Bildschirmaktualisierung abschalten.
Dim c As Range
Dim t1 As String, t2 As String
For Each c In Selection
t1 = Left(c.Text, InStr(c.Text, ",") - 1)
t2 = Right(c.Text, Len(c.Text) - InStr(c.Text, ","))
t2 = Left(t2, Len(t2) - 1)
c.Offset(0, 1).NumberFormat = "@"
c.Offset(0, 1).Value = t1
c.Offset(0, 2).NumberFormat = "@"
c.Offset(0, 2).Value = t2
Next c
Application.ScreenUpdating = True 'Bildschirmaktualisierung wieder einschalten.
End Sub

Vielen Dank im Voraus.

Gruß
Mike

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro automatisch starten
03.05.2002 20:37:39
WernerB.
Hallo Mike,

aus meiner Sicht macht es wenig Sinn, dieses Makro in diesem Zustand automatisch zu starten, da der betroffene Zellbereich beim Start ja markiert sein soll; bei einem autmatischen Start ist dies sicherlich nicht der Fall.
Man könnte es natürlich entsprechend umschreiben.

1. Dazu müsste man aber wissen, ob in der Spalte A nur solche Zellinhalte vorkommen, die zerlegt werden sollen?

2. Sind die Einträge in der Spalte A lückenlos oder gibt es dazwischen Leerzellen (das Ende kann ggf. auch per Makro ermittelt werden)?

3. Beginnen diese Einträge ab Zeile 1 oder gibt es da noch Spaltenüberschriften?

Erst wenn diese Fragen geklärt und in Makrosprache umgesetzt sind, sollte m.E. ein automatischer Start in Erwägung gezogen werden.

MfG
WernerB.

Anzeige
Re: Makro automatisch starten
03.05.2002 21:21:04
Mike
Hallo WernerB.,
danke, dass du mir helfen willst.
Zu deinen Fragen:
zu 1): In die Spalte A kopiere ich die Daten aus einer ".csv-Datei". Es handelt sich hierbei um Rufnummern und Namen aus einem Handy-Telefonbuch. Rufnummer und Name sind immer durch Komma getrennt und haben die Form => Nummer,"Name","
Sie sollen in Spalte C (Rufnummer) und Spalte D (Name) neu aufgeteilt werden. Leider werden die Namen in Spalte C auch in Anführungszeichen gesetzt. Könnte man dies evtl. ändern?
zu 2):
Die Einträge sind lückenlos und enden je nach gemachten Einträgen im Handy.
zu 3):
Die Einträge beginnen in Zeile 1 und es gibt keine Spaltenüberschriften.

Für die Spalten habe ich eine "Bedingte Formatierung" gewählt, damit doppelte Einträge farblich gekennzeichnet werden.

Ich gehe folgendermaßen vor:
1.) zuerst lösche ich alle Einträge in der Tabelle.
2.) dann kopiere ich die Spalte A mit den Einträgen in der ".csv-Datei" und übertrage sie in die Spalte A der Tabelle.
Sind doppelte Einträge vorhanden, werden diese gleich farblich gekennzeichnet.
Im gleichen Moment sollte jetzt das "InSpaltenTrennen()"-Makro starten. Auch hier werden dann wegen der bedingten Formatierung die doppelten Einträge farblich markiert.
3.) so kann ich die doppelten Einträge leicht erkennen und löschen.

Ich hoffe, dass ich es ausführlich beschrieben habe und du eine Lösung für mich basteln kannst.

Gruß
Mike




Anzeige
Re: Makro automatisch starten
04.05.2002 08:54:30
WernerB.
Hallo Mike,

das Makro "InSpaltenTrennen" solltest Du durch die hier mitgelieferte Version ersetzen (muss aber in dem normalen Standardmodul bleiben!).
Ich bin jetzt davon ausgegangen, dass nach dem abschließenden Komma im Ursprungstext auch noch ein unerwünschtes Anführungszeichen steht.

Das zweite Makro "Private Sub Worksheet_Change(..." gehört ins Klassenmodul des betreffenden Tabellenblattes.
Mit einem rechten Mausklick auf den Tabellennamen, dann auf "Code anzeigen", werden der VB-Editor und auch das Klassenmodul des betreffenden Tabellenblattes automatisch geöffnet. Die große weiße Fläche auf der rechten Seite ist das Klassenmodul. In dieses Klassenmodul muss dieses Makro hinein geschrieben/kopiert werden. Dieses Makro ruft dann ggf. selbsttätig das Makro "InSpaltenTrennen" auf.

Viel Erfolg wünscht
WernerB.

Anzeige
Re: Makro automatisch starten
04.05.2002 11:13:49
Mike
Hallo WernerB.,

das klappt ja hervorragend. Danke für deine tolle Hilfe. Prima erklärt. Kompliment.

Gruß
Mike

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige