Clever-Excel-Forum

Normale Version: VBA - automatisches Löschen von Datensätzen möglich?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(24.05.2015, 11:16)WillWissen schrieb: [ -> ]Hi,


Zitat:Gibt es eine Möglichkeit, diese Arbeitsschritte mit Hilfe eines Makros zu automatisieren?

zeichne dir den kompletten Vorgang, so wie du ihn ausgeführt hast, mit dem Makrorekorder auf und stelle den Code hier ein. Es gibt genügend VBA-Spezialisten, die dir den Code dann auf deine Bedürfnisse zurechtschneidern.

Super, das probiere ich gleich :87: :87: :87:
Hallo,

habe gerade festgestellt, dass das bei Dir nicht funktioniert, da die Strassennamen in unterschiedlichenSchreibweisen vorliegen. Damit scheitert eine einfache VBA Lösung!
(24.05.2015, 12:17)BoskoBiati schrieb: [ -> ]Hallo,

habe gerade festgestellt, dass das bei Dir nicht funktioniert, da die Strassennamen in unterschiedlichenSchreibweisen vorliegen. Damit scheitert eine einfache VBA Lösung!

Hallo Zusammen,

ich möchte mich für eure hilfreichen Tipps bedanken.

Dank eurer Hilfe habe ich nun einen Weg gefunden, die benötogten Dateien zu generieren, ohne einen übertrieben hohen Aufwand leisten zu müssen :19: :19: :19:

Liebe Grüße
Beanie
Hi Beanie,


Zitat:Dank eurer Hilfe habe ich nun einen Weg gefunden, die benötogten Dateien zu generieren, ohne einen übertrieben hohen Aufwand leisten zu müssen [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
] [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
] [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

würdest du uns deinen Weg zeigen? Eventuell später suchende User hätten so bereits eine Lösung zur Verfügung.
Hallo,

hier noch eine Makro-Version, die 5Einträge pro Bezirk generiert, da aufgrund der vielen unterschiedlichen Schreibweisen von Namen viel Straßennamen doppelt vorkommen!

[attachment=2162]
Oh super, ganz lieben Dank für deine Mühe, Edgar :100: :18:


Also ich habe es gestern so gelöst, in dem ich Folgendes als Makro aufgenommen habe:

1. In Spalte G Umwandeln aller Straßennamen, so dass sie mit Großbuchstaben beginnen und dann klein weiter geschrieben werden: =GROSS2(A2) und per Doppelklick nach unten kopiert
2. Spalte G - kopiert und als Wert in Spalte A eingefügt
3. Spalte G - gelöscht
4. Spalte G - Straßennamen vereinheitlicht: =WENN(ISTFEHLER(SUCHEN("str";A2)=0);A2;WENN(SUCHEN("str";A2)=0;A2;LINKS(A2;SUCHEN("str";A2)-1)&"str."))
5. Spalte G - kopiert und als Wert in Spalte A eingefügt
6. Über "Daten" und "Duplikate entfernen" (Spalte "Straße" und "Bezirk" aktiviert) die doppelten Straßen pro Bezirk gelöscht
7. Spalte G - =(Zählenwenn(E$2:E2;E2)<4) eingefügt und per Doppelklick nach unten kopiert
8. Spalte G nach "wahr" gefiltert
9. Spalte "Bezirk" nach A-Z sortiert

Das klappte bei meinen anderen Filialdateien als aufgezeichnetes Makro prima. Zu 99% habe ich dadurch, dass ich vorher keine A-Z-Sortierung der Straßen bzw. Bezirke vorgenommen habe, sondern dies erst ganz am Ende tue auch kein Problem mit den noch in manchen Fällen sehr unterschiedlichen Schreibweisen der Straßen. Durch das Anwenden von Punkt 8 im unsortierten Zustand werden nur in Einzelfällen pro Bezirk Straßen gleichen Namens aber mit unterschiedlicher Schreibweise gezogen, die ich dann mühelos manuell ausgetauscht habe, da es wirklich nur Einzelfälle waren.

Also, nochmals vielen Dank für eure Ideen, Zeit und Mühen :100: :15: :18:

Liebe Grüße
Beanie
Hallo,

ungünstige Formel in Punkt 4:


Code:
=wenn(istzahl(suchen("Str");glätten(links(a2;suchen("str";a2)-1))&"str.";A2)

oder:

Code:
=wenn(istzahl(suchen("Str");glätten(links(a2;suchen("str";a2)-1))&" Str.";A2)


Ich denke aber, dass das Makro doch sehr lange Zeit benötigt, wahrscheinlich länger als meins (ca. 8sec.), da das Eintragen der Formel allein schon sehr viel Zeit beansprucht:
(25.05.2015, 21:02)BoskoBiati schrieb: [ -> ]Hallo,

ungünstige Formel in Punkt 4:



Code:
=wenn(istzahl(suchen("Str");glätten(links(a2;suchen("str";a2)-1))&"str.";A2)

oder:


Code:
=wenn(istzahl(suchen("Str");glätten(links(a2;suchen("str";a2)-1))&" Str.";A2)
Ich denke aber, dass das Makro doch sehr lange Zeit benötigt, wahrscheinlich länger als meins, da das Eintragen der Formel allein schon sehr viel Zeit beansprucht:



Hallo Edgar,

ja, es dauert etwas länger als dein Makro Blush

Was bewirkt "glätten" genau?

LG

Beanie
Hallo,

glätten löscht Leerzeichen am Ende des Strings.

z.B.  Apendorfer Str wird im ersten Fall zu Apendorferstr., mit der zweiten Formel zu Apendorfer Str.
bei Landstr. ebenso.
(25.05.2015, 21:18)BoskoBiati schrieb: [ -> ]Hallo,

glätten löscht Leerzeichen am Ende des Strings.

z.B.  Apendorfer Str wird im ersten Fall zu Apendorferstr., mit der zweiten Formel zu Apendorfer Str.
bei Landstr. ebenso.

ah, ok .... danke :19:
Seiten: 1 2