Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2 unterschiedliche Bereiche in eine Schleife

2 unterschiedliche Bereiche in eine Schleife
23.01.2006 19:21:56
Korl
Hallo,
ich möchte, wenn möglich, 2 unterschiedliche Spalten in einer Schleife abarbeiten lassen.
Hier mein Code:
Sub TextinSpalten()
' es werden die Textformatierten Zellen in Zahlen umgewandelt
Dim z As Range, lLetzteT1 As Long
Set wksT1 = Worksheets("Temp1")
lLetzteT1 = IIf(wksT1.Range("B65536") <> "", 65536, wksT1.Range("B65536").End(xlUp).Row)
For Each z In wksT1.Range("B1:B" & lLetzteT1)
z.Value = z.Value * 1
Next z
  
End Sub
In "Range("G1:G2" & lLetzteT1)" soll das gleiche ablaufen wie schon in Spalte "B".
Einige Schreibweisen habe ich schon versucht aber... oder bleibt mir nichts anderes üblich als eine zusätzlich neue "Sub" zu erstellen.
Mir geht es hierbei lediglich um die Schnelligkeit der Abarbeitung.
Gruß Korl

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 unterschiedliche Bereiche in eine Schleife
23.01.2006 19:35:45
Anne
Hi,
ist völlig egal, die Zellen müssen in jedem Fall alle durchlaufen werden.
mfg Anne
AW: 2 unterschiedliche Bereiche in eine Schleife
24.01.2006 00:03:20
Beverly
Hi Anne,
das ist nicht völlig egal. Bei je einer getrennten Schleife für jede Spalte müssten die Zeilen von 1 bis zur letzten belegten Zelle 2mal durchlaufen werden. Wenn man das in einer einzigen Schleife macht, werden die Zeilen nur einmal durchlaufen und in einem Ritt beide Spalten geändert. Das hat bei wenigen Zeilen natürlich keine Einfluss auf die Performance, aber wenn es dann schon einige 1000 sind, ganz gewiss. Kannst den Unterschied ja mal ausprobieren ;-).
Bis später,
Karin
Anzeige
AW: 2 unterschiedliche Bereiche in eine Schleife
24.01.2006 07:43:27
Korl
Hallo Karin,
Danke für Deine ausführliche Erläuterung. Da habe ich dann wiederum dazu gelernt.
Ich wünsche Dir einen schönen Tag.
Gruß Korl
AW: 2 unterschiedliche Bereiche in eine Schleife
23.01.2006 19:47:55
Beverly
Hi,
versuche es mit diesem Code
Sub TextinSpalten() ' es werden die Textformatierten Zellen in Zahlen umgewandelt Dim z As Long, lLetzteT1 As Long Dim wksT1 Set wksT1 = Worksheets("Temp1") lLetzteT1 = IIf(wksT1.Range("B65536") <> "", 65536, wksT1.Range("B65536").End(xlUp).Row) For z = 1 To lLetzteT1 Cells(z, 2).Value = Cells(z, 2).Value * 1 Cells(z, 7).Value = Cells(z, 7).Value * 1 Next z End Sub
Bis später,
Karin
Anzeige
AW: 2 unterschiedliche Bereiche in eine Schleife
23.01.2006 20:08:45
Korl
Hallo Anne und Karin,
ich bedanke mich zunächst für Eure Unterstützung.
Anne, Deine Antwort klingt logisch, Danke.
Karin, der Debugger meint die Typen sind unverträglich.
Ich habe mir alles noch mal durch den Kopf gehen lassen, denn in der zweiten Spalte, braucht eigentlich nur die erste Zelle umgewandelt werden.
Die Frage währe für mich, gibt es noch eine andere Schreibweise hierfür als eine Schleife auf eine Zelle zu stellen?
Gruß Korl
AW: 2 unterschiedliche Bereiche in eine Schleife
23.01.2006 23:52:21
Beverly
Hi,
dann sage mir bitte nicht nur dass, sondern auch an welcher Stelle der Debugger streikt, denn bei mir hat er nichts gesagt. Ich poste keinen Code, den ich nicht getestet habe.
Bis später,
Karin
Anzeige
AW: 2 unterschiedliche Bereiche in eine Schleife
24.01.2006 00:30:29
Korl
Hallo Karin,
ich habe nach der Ursache gesucht warum der Debugger angesprungen ist.
Die Sub rufe ich von einem anderen Tabellenblatt auf und deshalb sprang der Debugger an.
Also grundsätzlich läuft Dein Code.
Entschuldige bitte, dass ich so flüchtig damit umgegangen bin. Es tut mir Leid.
Ich bedanke mich trotzdem noch mal für Deine Mühe.
Gruß Korl
AW: 2 unterschiedliche Bereiche in eine Schleife
24.01.2006 09:39:23
Beverly
Hi,
ist schon OK. Mich hat es nur mächtig gewundert und es war reines Interesse, was mich zu meiner Rückfrage veranlasst hat. Es ist halt so, dass man mit einem nachgestellten Beispiel nicht alle Bedingungen des Originals simulieren kann, und dann treten eben solche Inkompatibilitäten auf.
Bis später,
Karin
Anzeige
Text in den Zellen? o.T.
24.01.2006 00:12:14
Josef
Gruß Sepp
@ Korl
24.01.2006 01:02:32
MichaV
Hallo Korl,
Du hast keine Email- Benachrichtigung an, darum mein Hinweis an dieser Stelle auf eine alte offene Frage von Dir:
https://www.herber.de/forum/messages/723292.html
Gruß- Micha
Anzeige
AW: Text in den Zellen? o.T.
24.01.2006 09:54:41
Beverly
Hi,
ich denke, so sicher ist die Multiplikation mit 1 doch nicht. Bei mir ändert deine Codezeile
Cells(z, 2).Value = Cells(z, 2).Value * 1 die Textzahl nämlich nicht in einen numerischen Wert um. Ich habe mir den Code in deinem Link jetzt nicht angeschaut, aber ich verwende z.B.
Cells(z, 2).NumberFormat = "General"
und das funktioniert.
 
Bis später, Karin
AW: nicht mit Detimalzahlen
24.01.2006 11:16:53
Korl
Hallo Karin,
ich freue mich über Dein Interesse und bedanke mich dafür.
In meinen Projekt lese ich mir ein "*.csv" und bearbeite diese.
Diese Option ".Cells.NumberFormat = "General"" habe ich mit drin.
Leider funktioniert es nicht mit Dezimalzahlen. Eine "Ganzzahl" wird umgewandelt, darum diese Multiplikation mit 1.
Gruß Korl
Anzeige
AW: nicht mit Detimalzahlen
24.01.2006 13:09:15
Beverly
Hi,
ist schon eine eigenartig und interessante Sache. Bei mir erbringt die reine Multiplikation mit 1 nichts. Wäre zwar logisch, da es in Formeln in der Tabelle ja auch funktioniert. Aber VBA ist nicht immer identisch mit dem, was Formeln machen. Der Code mit der eigentlichen Formatumwandlung nach Standard dagegen funktioniert, auch bei Kommazahlen.
Ich hänge mal Spaßes halber meine Datei an.
https://www.herber.de/bbs/user/30329.xls
Die Ursache für das Ganze kann natürlich daran liegen, dass beim Datenimprot aus der CSV noch irgendwelche anderen Dinge ablaufen, die die Enddatei irgendwie beeinflussen, was jedoch nicht so ohne weiteres nachvollziehbar ist.
Bis später,
Karin
Anzeige
AW: nicht mit Detimalzahlen
24.01.2006 15:09:59
Korl
Hallo Karin,
ja, es ist schon eigenartig. Ich habe mir Deine Datei angesehen und obwohl D1 als Text formatiert steht, ist sie bei mir eine Zahl.
 
 DEF
11,22222WAHR- Zelle D1 ist als Text formatiert
2  - Makro "multiplikation" bringt keine Änderung in ein Zahlenformat
37,33332WAHR- Makro "format_general" ändert in das Standart-Format
Formeln der Tabelle
E1 : =ISTZAHL(D1)
D3 : =D1*6
E3 : =ISTZAHL(D3)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Hier ist eine csv von mir: https://www.herber.de/bbs/user/30335.zip
Wenn sie manuell importiert wird ist alles in Ordnung.
Wird sie mittels Makro eingelesen, lässt sie sich mittels "Daten/TextinZahl" auch umwandeln. Will ich dann aber in xl2000 damit arbeiten wirds ...
Mit der Multiplikation mit 1 läuft es dann in beiden Systemen.
Gruß Korl
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige