Clever-Excel-Forum

Normale Version: Hilfe bei VBA Skript
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Die .xlsm, kein Bild!
Hallo,

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: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.
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
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.
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
(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
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?

Code:
IF Zelle <>““ And Len (Zelle) >5 Then


Ginge es nicht auch so?

Code:
If Len (Zelle) >5 Then

Gruß
Ich
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:


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