11.08.2016, 08:20
Seiten: 1 2
11.08.2016, 08:24
Hallo,
mache einen Doppelklick auf den Text Tabelle1 (EXTF_Buchungen) im Explorerfenster, dann geht ein Codefenster auf und darin ist das Ereignismakro.
mache einen Doppelklick auf den Text Tabelle1 (EXTF_Buchungen) im Explorerfenster, dann geht ein Codefenster auf und darin ist das Ereignismakro.
11.08.2016, 08:26
(11.08.2016, 08:20)RPP63 schrieb: [ -> ]Die .xlsm, kein Bild!
Ist keine xlsm sondern eine csv. Daher kann ich das Makro auch so nicht drin speichern. Die Datei ist ein Aszug der gesamten Datei. Die Spalte Konten soll von 6 auf 5 stellen gekürzt werden.
11.08.2016, 08:46
Läuft bei mir problemlos durch, was aber der geringen Zahl der Zellen geschuldet sein kann.
Setze mal zusätzlich am Anfang des Makros:
Application.ScreenUpdating = False
Braucht bei Deiner Excel-Version nicht zurückgesetzt werden.
Gruß Ralf
Setze mal zusätzlich am Anfang des Makros:
Application.ScreenUpdating = False
Braucht bei Deiner Excel-Version nicht zurückgesetzt werden.
Gruß Ralf
11.08.2016, 08:58
Ok. Ich habe den Zusatz von dir eingefügt. Nach wie vor das gleich Ergebnis. So wie ich euch verstanden habe füge ich das Skript in das jeweilige Tabellenblatt ein und erstelle kein neues Modul. Allerdings ist es egal wo ich es einfüge. In das Tabellenblatt oder ein neues Modul das Ergebnis ist immer das gleiche. Einmal funktioniert es einmal nicht. Ich häng jetzt nochmal die Gesamtdatei an.
11.08.2016, 09:27
Ich komme erst gegen Nachmittag dazu.
Ich werde Dir dann auch die Array-Variante vorstellen, dürfte einen Wimperschlag dauern.
Zwischenzeitlich:
Du willst doch die zweite Stelle des Kontos löschen?
Dann eher:
Left(Zelle, 1) & Mid(Zelle, 3, 9^9)
Gruß Ralf
Ich werde Dir dann auch die Array-Variante vorstellen, dürfte einen Wimperschlag dauern.
Zwischenzeitlich:
Du willst doch die zweite Stelle des Kontos löschen?
Dann eher:
Left(Zelle, 1) & Mid(Zelle, 3, 9^9)
Gruß Ralf
11.08.2016, 09:32
(11.08.2016, 09:27)RPP63 schrieb: [ -> ]Ich komme erst gegen Nachmittag dazu.
Ich werde Dir dann auch die Array-Variante vorstellen, dürfte einen Wimperschlag dauern.
Zwischenzeitlich:
Du willst doch die zweite Stelle des Kontos löschen?
Dann eher:
Left(Zelle, 1) & Mid(Zelle, 3, 9^9)
Gruß Ralf
Vielen herzlichen Dank.
Freu mich auf deine Antwort.
Viele Grüße
Asceroon
11.08.2016, 10:05
Hallo zusammen,
einmal losgelöst von der anderen Diskussion, trifft der erstel Teil der Prüfung nicht immer zu wenn der zweite erfüllt ist?
Ginge es nicht auch so?
Gruß
Ich
einmal losgelöst von der anderen Diskussion, trifft der erstel Teil der Prüfung nicht immer zu wenn der zweite erfüllt ist?
Code:
IF Zelle <>““ And Len (Zelle) >5 Then
Ginge es nicht auch so?
Code:
If Len (Zelle) >5 Then
Gruß
Ich
11.08.2016, 17:58
Hi Du! :19:
Du hast natürlich Recht!
@asceroon:
Mit meinem Wimperschlag lag ich falsch!
So schnell kann kein Mensch blinzeln! :21:
Laufzeit des Makros bei 4779 Datensätzen auf meiner alten Möhre: 0,07 Sekunden. :18:
Gruß Ralf
Du hast natürlich Recht!
@asceroon:
Mit meinem Wimperschlag lag ich falsch!
So schnell kann kein Mensch blinzeln! :21:
Laufzeit des Makros bei 4779 Datensätzen auf meiner alten Möhre: 0,07 Sekunden. :18:
Sub RPP() Dim arrTmp, cnt As Long Dim Start As Double Start = Timer arrTmp = Range(Cells(2, "G"), Cells(2, "G").End(xlDown)) For cnt = 1 To Ubound(arrTmp) If Len(arrTmp(cnt, 1)) > 5 Then _ arrTmp(cnt, 1) = CLng(Left(arrTmp(cnt, 1), 1) & Mid(arrTmp(cnt, 1), 3, 9 ^ 9)) Next Cells(2, "G").Resize(Ubound(arrTmp), 1) = arrTmp Debug.Print Timer - Start End Sub
Gruß Ralf
Seiten: 1 2