Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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
Inhaltsverzeichnis

FieldInfo bei TextToColumns

FieldInfo bei TextToColumns
Reinhard
Hallo Wissende,
dieser Code
Columns("A:A").TextToColumns Destination:=Range("A1"), _
DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 9), Array(2, 2), _
Array(9, 2), Array(15, 2), Array(23, 2), Array(27, 2), Array(31, 2), _
Array(32, 2), Array(62, 1), Array(73, 9), Array(85, 9), Array( _
95, 9), Array(105, 9), Array(121, 2)), TrailingMinusNumbers:=True

wandelt eine einspältige Tabelle um. In der beispielmappe ist das der Bereich A1:A10.
In A12:A21 sieht man wie es umgewandelt aussieht.
Array(31,2) usw. verstehe ich trotz Stierens in die Hilfe nicht.
Die 2 deute ich als "Text" und die 9 als Spalte überspringen.
Die zahlen davor sind für mich nicht deutbar.
Was mir auch sehr unklar ist, woher, warum wieso kommt C oder D in Spalte F bei A12:A21? C bedeutet der Betrag ist noch zu zahlen, D bedeutet den kriegt man. Oder umgedreht.
Beispielmappe: https://www.herber.de/bbs/user/74364.txt

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
FieldInfo bei TextToColumns mit xlFixedWidth
13.04.2011 07:10:28
Erich
Hi Reinhard,
das steht etwas versteckt in der VBA-Hilfe:
Wenn für die Spalten der Quelldaten eine feste Spaltenbreite festgelegt ist,
gibt das erste Element jeder zweiteiligen Matrix die Anfangsposition in der Spalte
als eine ganze Zahl an (ausgehend von 0). Das zweite Element der zweiteiligen Matrix
gibt die Analyseoption für die Spalte als eine Nummer von 1 bis 9 an, wie oben dargestellt.
Im folgenden Beispiel werden zwei Spalten einer Datei mit fester Spaltenbreite analysiert.
In der ersten Spalte wird am Anfang der Zeile begonnen, und es werden die ersten 10 Zeichen berücksichtigt.
In der zweiten Spalte ist die Anfangsposition 15; alle Zeichen bis zum Ende der Zeile werden berücksichtigt.
Damit die Zeichen zwischen 10 und 15 nicht mitberücksichtigt werden, wird ein "Spalte überspringen-Eintrag" hinzugefügt.
Array(Array(0, 1), Array(10, 9), Array(15, 1))
Die jeweils 1. Zahl gibt also die "Position ab" an, beginnend bei Pos. 0.
Alles klar?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: FieldInfo bei TextToColumns mit xlFixedWidth
13.04.2011 12:37:45
Reinhard
Hallo Erich,
ja, das las ich auch.
Aber ich verstehe es immer noch nicht umgesetzt auf meine Anfrage.
Zumindest nicht 100%ig :-(
Gruß
Reinhard
AW: FieldInfo bei TextToColumns mit xlFixedWidth
13.04.2011 13:07:05
Rudi
Hallo,
Columns("A:A").TextToColumns Destination:=Range("A1"), _
DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 9), Array(2, 2), _
Array(9, 2), Array(15, 2), Array(23, 2), Array(27, 2), Array(31, 2), _
Array(32, 2), Array(62, 1), Array(73, 9), Array(85, 9), Array( _
95, 9), Array(105, 9), Array(121, 2)), TrailingMinusNumbers:=True
Wie ich das sehe:
Spalte1 (0-1) wird übersprungen (9)
Spalte2 (2-8) Text (2)
Spalte3 (9-14) Text
Spalte4 (15-22) Text
Spalte5 (23-26) Text
Spalte6 (27-30) Text
Spalte7 (31) Text
Spalte8 (32-61) Text
Spalte9 (62-72) Standard (1)
dann folgen 4 Spalten, die übersprungen werden. Eigentlich müsste man hieraus eine machen können.
Spalte14 (121-Ende) Text
So müsste das Ergebnis das gleiche sein:
Columns("A:A").TextToColumns Destination:=Range("A1"), _
DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 9), Array(2, 2), _
Array(9, 2), Array(15, 2), Array(23, 2), Array(27, 2), Array(31, 2), _
Array(32, 2), Array(62, 1), Array(73, 9), Array(121, 2)), TrailingMinusNumbers:=True
Jetzt klar?
Gruß
Rudi
Anzeige
FieldInfo - noch zwei Darstellungen
13.04.2011 14:03:23
Erich
Hi Reinhard,
vielleicht helfen diese beiden Darstellungen weiter:
 ABCD
1Stelle abbisalsin Spalte
201nichtnicht
328TextA
4914TextB
51522TextC
62326TextD
72730TextE
83131TextF
93261TextG
106272StandardH
1173120nichtnicht
12121EndeTextI

Formeln der Tabelle
ZelleFormel
B2=A3-1
B3=A4-1

 A
10000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222
20123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
3CM0912650510000            1010CAPPOINTEMENTS BRUTS (S)       00000066404 00000000000 000000000 000000000 1BN0344201111031102  
4nn11111112222223333333344445555677777777777777777777777777777788888888888nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn9999999999...
5nn|  A  |  B  |   C   | D  | E ||              G             |     H    |                                               |      I

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: FieldInfo bei TextToColumns mit xlFixedWidth
13.04.2011 15:24:15
Reinhard
Hallo Erich, Rudi,
dankeschön für eure Mühe(n).
Ja, warum da mehrfach nacheinander etwas durch ,9 übersprungen wurde war ein Punkt meines Unverständnisses.
Wenn ich mich nicht mehr melde so habe ich das ausprobiert und es langt einmal an der Stelle mit ,9 zu überspringen.
Seit meinem letzten Beitrag und diesem hatte ich den PC aus und etwas anders getan aber im Unterbewußtsein darüber nachgedacht und ich glaube dadurch und durch quasi eure Betätigung es jetzt verstanden zu haben.
jetzt teste ich einige für mich wichtige Dinge um es perfekt zu verstehen, auch da gilt, melde ich mich nicht mehr so habe ich es dann doch verstanden.
Merci.
Gruß
reinhard
Anzeige
Mutmaßung
13.04.2011 17:22:35
Erich
Hi Reinhard,
diese Hintereinanderschaltung mehrerer Überspringer ist ja vielleicht historisch entstanden.
Es könnte sogar sinnvoll sein, das so stehen zu lassen - wenn man ahnt oder weiß, dass man
die Stellen 85 bis 94 demnächst wieder braucht, vielleicht als Text. Dann muss man nur eine 9 durch eine 2 ersetzen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Mutmaßung
13.04.2011 17:52:32
Reinhard
Hallo Erich,
ich habe nicht alles gesagt um nicht zu verwirren.
Historisch glaube ich nicht. Einerseits, auch wenn ich mir den nachfolgenden Code anschaue sieht es sehr nach aufgezeichnetem makro aus.
Nur wie zeichnet man ein Makro auf daß im Code viermal "überspringt", wenn doch wohl einmal auch reichen würde?
Das was du sagst ist natürlich korrekt. Das wäre ein Vorbau für die Zukunft. Also alle später möglichen "Spalten" "erwähnen" und dabei dann mit ,9 oder ,x sagen was geschehen soll damit.
Dann kann man in der tat durch Änderung von ,9 in ,x Spalten einbeziehen oder nicht.
Was mich sehr irritiert, da geht es wohl um viel Geld und die haben da insgesamt gesehn so einen diledantischen makrocode.
Und was mir auch suspect ist. Da wird irgendwo in Brüssel so eine Quelltext.txt erzeugt und weitergeschickt.
Die dir quasi in A1:A10 vorliegt.
Die aus Brüssel sagen dazu:
Excel öffnen > Data> get external data> from other source >als XML > File in Excel laden > delimited > finish > OK Makro abspielen und das file als txt tab limited speichern.
Schon das kapier ich nicht, ich öffne die Quelltext.txt in Excel, im textassistenten wähle ich "getrennt" dann "Fertigstellen".
Ob das exakt das Gleiche ist wie aus Brüssel vorgegeben weiß ich nicht.
Und in "der Sache" habe ich einzig zwei Textdateinen, einmal die Quelltext.txt und dann die Datei Zieltext.txt, dazu noch eine xla wodrin der Code steht.
In der hier hochgeladenen Textdatei habe ich gezeigt in A1:A10 wie die Quelltext.txt aussieht und in A12:A21 wie das dann in der Zieltext.txt aussehen soll nach dem makro.
So oder so gesehen ist mir da vieles unklar und nachfragen bleiben meist unbeantwortet :-(
Eagal, danke für deinen Einsatz.
Gruß
Reinhard
Sub a_txt_to_columns()
' a_txt_to_columns Macro
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 9), Array(2, 2), Array(9, 2), Array(15, 2), Array(23, 2), _
Array(27, 2), Array(31, 2), Array(32, 2), Array(62, 1), Array(73, 9), Array(85, 9),  _
Array( _
95, 9), Array(105, 9), Array(121, 2)), TrailingMinusNumbers:=True
End Sub
Sub b_arrange_columns()
' b_arrange_columns Macro
Columns("A:A").EntireColumn.AutoFit
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("C:C").Select
Selection.Copy
Columns("A:A").Select
ActiveSheet.Paste
Columns("C:C").Select
Application.CutCopyMode = False
Selection.ClearContents
Columns("B:B").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
Columns("J:J").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=-1
Columns("B:B").Select
ActiveSheet.Paste
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
Columns("J:J").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveWindow.LargeScroll ToRight:=-1
Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("I:I").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=-1
Columns("C:C").Select
ActiveSheet.Paste
Columns("I:I").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveWindow.LargeScroll ToRight:=-1
Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("G:G").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
Columns("L:L").Select
Selection.Copy
Columns("G:G").Select
ActiveSheet.Paste
Columns("L:L").Select
Application.CutCopyMode = False
Selection.ClearContents
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("I:I").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("J:J").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 22
ActiveWindow.ScrollRow = 23
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 42
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 47
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 51
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 60
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 65
ActiveWindow.ScrollRow = 68
ActiveWindow.ScrollRow = 72
ActiveWindow.ScrollRow = 74
ActiveWindow.ScrollRow = 75
ActiveWindow.ScrollRow = 79
ActiveWindow.ScrollRow = 81
ActiveWindow.ScrollRow = 83
ActiveWindow.ScrollRow = 84
ActiveWindow.ScrollRow = 89
ActiveWindow.ScrollRow = 91
ActiveWindow.ScrollRow = 92
ActiveWindow.ScrollRow = 94
ActiveWindow.ScrollRow = 98
ActiveWindow.ScrollRow = 99
ActiveWindow.ScrollRow = 102
ActiveWindow.ScrollRow = 106
ActiveWindow.ScrollRow = 108
ActiveWindow.ScrollRow = 109
ActiveWindow.ScrollRow = 111
ActiveWindow.ScrollRow = 114
ActiveWindow.ScrollRow = 115
ActiveWindow.ScrollRow = 117
ActiveWindow.ScrollRow = 121
ActiveWindow.ScrollRow = 123
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 125
ActiveWindow.ScrollRow = 128
ActiveWindow.ScrollRow = 129
ActiveWindow.ScrollRow = 131
ActiveWindow.ScrollRow = 132
ActiveWindow.ScrollRow = 133
ActiveWindow.ScrollRow = 134
ActiveWindow.ScrollRow = 135
ActiveWindow.ScrollRow = 137
ActiveWindow.ScrollRow = 138
ActiveWindow.ScrollRow = 140
ActiveWindow.ScrollRow = 141
ActiveWindow.ScrollRow = 142
ActiveWindow.ScrollRow = 143
ActiveWindow.ScrollRow = 144
ActiveWindow.ScrollRow = 145
ActiveWindow.ScrollRow = 146
ActiveWindow.ScrollRow = 147
ActiveWindow.ScrollRow = 148
ActiveWindow.ScrollRow = 150
ActiveWindow.ScrollRow = 151
ActiveWindow.ScrollRow = 152
ActiveWindow.ScrollRow = 153
ActiveWindow.ScrollRow = 154
ActiveWindow.ScrollRow = 157
ActiveWindow.ScrollRow = 159
ActiveWindow.ScrollRow = 160
ActiveWindow.ScrollRow = 163
ActiveWindow.ScrollRow = 164
ActiveWindow.ScrollRow = 165
ActiveWindow.ScrollRow = 168
ActiveWindow.ScrollRow = 169
ActiveWindow.ScrollRow = 170
ActiveWindow.ScrollRow = 171
ActiveWindow.ScrollRow = 173
ActiveWindow.ScrollRow = 174
ActiveWindow.ScrollRow = 175
ActiveWindow.ScrollRow = 177
ActiveWindow.ScrollRow = 179
ActiveWindow.ScrollRow = 180
ActiveWindow.ScrollRow = 181
ActiveWindow.ScrollRow = 182
ActiveWindow.ScrollRow = 185
ActiveWindow.ScrollRow = 186
ActiveWindow.ScrollRow = 188
ActiveWindow.ScrollRow = 190
ActiveWindow.ScrollRow = 191
ActiveWindow.ScrollRow = 194
ActiveWindow.ScrollRow = 195
ActiveWindow.ScrollRow = 196
ActiveWindow.ScrollRow = 198
ActiveWindow.ScrollRow = 200
ActiveWindow.ScrollRow = 201
ActiveWindow.ScrollRow = 203
ActiveWindow.ScrollRow = 204
ActiveWindow.ScrollRow = 205
ActiveWindow.ScrollRow = 209
ActiveWindow.ScrollRow = 210
ActiveWindow.ScrollRow = 211
ActiveWindow.ScrollRow = 214
ActiveWindow.ScrollRow = 215
ActiveWindow.ScrollRow = 217
ActiveWindow.ScrollRow = 219
ActiveWindow.ScrollRow = 220
ActiveWindow.ScrollRow = 221
ActiveWindow.ScrollRow = 223
ActiveWindow.ScrollRow = 225
ActiveWindow.ScrollRow = 226
ActiveWindow.ScrollRow = 228
ActiveWindow.ScrollRow = 231
ActiveWindow.ScrollRow = 232
ActiveWindow.ScrollRow = 233
ActiveWindow.ScrollRow = 234
ActiveWindow.ScrollRow = 237
ActiveWindow.ScrollRow = 239
ActiveWindow.ScrollRow = 241
ActiveWindow.ScrollRow = 247
ActiveWindow.ScrollRow = 248
ActiveWindow.ScrollRow = 250
ActiveWindow.ScrollRow = 253
ActiveWindow.ScrollRow = 258
ActiveWindow.ScrollRow = 259
ActiveWindow.ScrollRow = 261
ActiveWindow.ScrollRow = 267
ActiveWindow.ScrollRow = 269
ActiveWindow.ScrollRow = 272
ActiveWindow.ScrollRow = 277
ActiveWindow.ScrollRow = 279
ActiveWindow.ScrollRow = 280
ActiveWindow.ScrollRow = 286
ActiveWindow.ScrollRow = 288
ActiveWindow.ScrollRow = 289
ActiveWindow.ScrollRow = 292
ActiveWindow.ScrollRow = 295
ActiveWindow.ScrollRow = 297
ActiveWindow.ScrollRow = 299
ActiveWindow.ScrollRow = 300
ActiveWindow.ScrollRow = 303
ActiveWindow.ScrollRow = 305
ActiveWindow.ScrollRow = 306
ActiveWindow.ScrollRow = 310
ActiveWindow.ScrollRow = 311
ActiveWindow.ScrollRow = 312
ActiveWindow.ScrollRow = 314
ActiveWindow.ScrollRow = 315
ActiveWindow.ScrollRow = 316
ActiveWindow.ScrollRow = 317
ActiveWindow.ScrollRow = 316
ActiveWindow.ScrollRow = 311
ActiveWindow.ScrollRow = 307
ActiveWindow.ScrollRow = 305
ActiveWindow.ScrollRow = 303
ActiveWindow.ScrollRow = 301
ActiveWindow.ScrollRow = 298
ActiveWindow.ScrollRow = 297
ActiveWindow.ScrollRow = 295
ActiveWindow.ScrollRow = 285
ActiveWindow.ScrollRow = 282
ActiveWindow.ScrollRow = 279
ActiveWindow.ScrollRow = 275
ActiveWindow.ScrollRow = 267
ActiveWindow.ScrollRow = 264
ActiveWindow.ScrollRow = 259
ActiveWindow.ScrollRow = 252
ActiveWindow.ScrollRow = 236
ActiveWindow.ScrollRow = 228
ActiveWindow.ScrollRow = 220
ActiveWindow.ScrollRow = 212
ActiveWindow.ScrollRow = 183
ActiveWindow.ScrollRow = 179
ActiveWindow.ScrollRow = 168
ActiveWindow.ScrollRow = 164
ActiveWindow.ScrollRow = 157
ActiveWindow.ScrollRow = 141
ActiveWindow.ScrollRow = 135
ActiveWindow.ScrollRow = 128
ActiveWindow.ScrollRow = 125
ActiveWindow.ScrollRow = 109
ActiveWindow.ScrollRow = 102
ActiveWindow.ScrollRow = 96
ActiveWindow.ScrollRow = 90
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 70
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 50
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 46
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 23
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 22
ActiveWindow.ScrollRow = 24
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 33
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 37
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 45
ActiveWindow.ScrollRow = 47
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 55
ActiveWindow.ScrollRow = 57
ActiveWindow.ScrollRow = 60
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 64
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 68
ActiveWindow.ScrollRow = 69
ActiveWindow.ScrollRow = 72
ActiveWindow.ScrollRow = 74
ActiveWindow.ScrollRow = 76
ActiveWindow.ScrollRow = 80
ActiveWindow.ScrollRow = 81
ActiveWindow.ScrollRow = 83
ActiveWindow.ScrollRow = 85
ActiveWindow.ScrollRow = 84
ActiveWindow.ScrollRow = 81
ActiveWindow.ScrollRow = 79
ActiveWindow.ScrollRow = 78
ActiveWindow.ScrollRow = 75
ActiveWindow.ScrollRow = 73
ActiveWindow.ScrollRow = 72
ActiveWindow.ScrollRow = 71
ActiveWindow.ScrollRow = 70
ActiveWindow.ScrollRow = 69
ActiveWindow.ScrollRow = 68
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 65
ActiveWindow.ScrollRow = 64
ActiveWindow.ScrollRow = 63
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 61
Columns("N:P").Select
Range("P61").Activate
Selection.Delete Shift:=xlToLeft
Columns("K:K").Select
Range("K61").Activate
Selection.Copy
Columns("O:O").Select
Range("O61").Activate
ActiveSheet.Paste
Columns("K:K").Select
Range("K61").Activate
Application.CutCopyMode = False
Selection.ClearContents
ActiveWindow.SmallScroll ToRight:=-2
Selection.Delete Shift:=xlToLeft
ActiveWindow.ScrollColumn = 7
Columns("J:J").Select
Range("J61").Activate
Selection.Delete Shift:=xlToLeft
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollRow = 60
ActiveWindow.ScrollRow = 59
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 57
ActiveWindow.ScrollRow = 56
ActiveWindow.ScrollRow = 52
ActiveWindow.ScrollRow = 51
ActiveWindow.ScrollRow = 50
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 42
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 28
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 22
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.SmallScroll Down:=42
ActiveWindow.ScrollColumn = 7
Columns("A:M").Select
Range("M43").Activate
Columns("A:M").EntireColumn.AutoFit
ActiveWindow.ScrollRow = 42
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 29
ActiveWindow.ScrollRow = 28
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("A1").Select
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 23
ActiveWindow.ScrollRow = 24
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 27
ActiveWindow.ScrollRow = 29
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 31
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 37
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 42
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 45
ActiveWindow.ScrollRow = 47
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 52
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 57
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 59
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 63
ActiveWindow.ScrollRow = 64
ActiveWindow.ScrollRow = 65
ActiveWindow.ScrollRow = 66
ActiveWindow.ScrollRow = 65
ActiveWindow.ScrollRow = 64
ActiveWindow.ScrollRow = 63
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 61
ActiveWindow.ScrollRow = 60
ActiveWindow.ScrollRow = 59
ActiveWindow.ScrollRow = 58
ActiveWindow.ScrollRow = 57
ActiveWindow.ScrollRow = 56
ActiveWindow.ScrollRow = 55
ActiveWindow.ScrollRow = 54
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 52
ActiveWindow.ScrollRow = 49
ActiveWindow.ScrollRow = 48
ActiveWindow.ScrollRow = 47
ActiveWindow.ScrollRow = 46
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 41
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 37
ActiveWindow.ScrollRow = 36
ActiveWindow.ScrollRow = 35
ActiveWindow.ScrollRow = 34
ActiveWindow.ScrollRow = 33
ActiveWindow.ScrollRow = 32
ActiveWindow.ScrollRow = 30
ActiveWindow.ScrollRow = 28
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 24
ActiveWindow.ScrollRow = 23
ActiveWindow.ScrollRow = 21
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
End Sub
Sub c_concatenate()
Columns("M:M").Select
Range("M361").Activate
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("L1").Select
Do While ActiveCell  ""
ActiveCell.Offset(0, 1).FormulaR1C1 = _
ActiveCell.Offset(0, -2) & " " & ActiveCell.Offset(0, -1) & " " & ActiveCell.Offset(0,  _
0)
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Sub d_delete_columns_JKL()
Columns("J:L").Select
Range("L1").Activate
Selection.Delete Shift:=xlToLeft
Columns("J:L").EntireColumn.AutoFit
Range("A1").Select
End Sub
Sub e_divide_column2()
Dim asheet As Worksheet, aCell As Range, aRange As Range
Set asheet = Worksheets("Sheet1")
Set aRange = asheet.UsedRange.Columns(2)
For Each aCell In aRange.Cells
If aCell  0 Then
aCell = aCell / 100
End If
Next aCell
End Sub
Sub f_format_columns()
' f_format_columns Macro
Columns("B:B").Select
Selection.NumberFormat = "0.00"
Columns("A:A").Select
Selection.NumberFormat = "General"
End Sub
Sub g_all_macros()
Application.Run "a_txt_to_columns"
Application.Run "b_arrange_columns"
Application.Run "c_concatenate"
Application.Run "d_delete_columns_JKL"
Application.Run "e_divide_column2"
Application.Run "f_format_columns"
End Sub

Anzeige
dilettantischer Makrocode
13.04.2011 22:19:17
Rudi
Hallo,
dazu kann ich nur sagen, dass ich diesen im besten Sinne des Wortes auch schreibe.
siehe Def. Dilettant: http://de.wikipedia.org/wiki/Dilettant
Das der Code nur aufgezeichnet und nicht professionell/ dilettantisch erstellt wurde, kann ich nur bestätigen.;-)
Gruß
Rudi
AW: dilettantischer Makrocode
14.04.2011 18:27:44
Reinhard
Hallo Rudi,
okay, okay, hast Recht :-)
Mein Deutsch ist miserabel.
Mein Englisch noch mehr.
Mein Französisch nicht mehr vorhanden, k.A. warum ich da 5 Jahre Schulstunden dafür verschwendet habe.
Mein XL-Vba ist miserabel.
ABER, das einzige was ich daran ändern/verbessern will ist das XL-Vba :-)
Und da habe ich noch reichlich zu tun... *gg*
Gruß
Reinhard
Anzeige

26 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige