Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
236to240
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
236to240
236to240
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Splitter Code, Hilfe gesucht..

Splitter Code, Hilfe gesucht..
02.04.2003 17:46:03
RalfF
SOS, brauche Hilfe.... Ich habe eine Datei mit ausgeblendenten Tabellenblättern, so auch welche die sichtbar sind. Auf diesen sichtbaren habe ich auf (Tab.) L1 in Spalte A und B Zahlen. In Spalte B sind positive wie negative Werte. Diese sollen so per Makro aufgeteilt werden:
Wenn ein Wert in Spalte B negativ ist soll er mit dem davor stehenden Wert aus Spalte A auf das Tab L2 übertragen werden . Ist der Wert positiv(auch Spalte B), muß er mit dem davor stehenden Wert aus Spalte A auf das Tab. L2 übertragen werden.
Ich habe das so auch schon in einer anderen Datei am laufen, nur hier weiß ich nicht was z.B. mit „Worksheet“ gemeint ist. Mit Excel 98 kommt ein Laufzeitfehler13 und in Excel2000 macht er mir die Daten auf L1 durcheinander, aber teilt nicht auf..
Hier der Code und weiter unten stehen die Werte, die aufteilen möchte. Habt ihr noch eine Idee? Danke und Gruß, Ralf

Sub Splitter2()
Dim i As Integer
Dim iPos As Integer
Dim iNeg As Integer
iPos = 1
iNeg = 1
For i = 1 To 17
If Worksheets(11).Cells(i, 2) > 0 Then
Worksheets(12).Cells(iPos, 1) = Worksheets(11).Cells(i, 1)
Worksheets(12).Cells(iPos, 2) = Worksheets(11).Cells(i, 2)
iPos = iPos + 1
ElseIf Worksheets(11).Cells(i, 2) < 0 Then

Worksheets(13).Cells(iNeg, 1) = Abs(Worksheets(11).Cells(i, 1))
Worksheets(13).Cells(iNeg, 2) = Abs(Worksheets(11).Cells(i, 2))
iNeg = iNeg + 1
End If
Next
End Sub


So sehen meine Daten aus, die ich aufteilen möchte.....
Spalte A SpalteB

0101024 350.286,16
0855025 0,00
1100027 120,33
0,00
1193221 317,39
0,00
2100022 0,00
2110026 -34,32
2192326 11.301,38
2192520 0,00
2200027 255,46
2200322 8,50
3930025 0,00
7630023 0,00
7630420 0,00
0,00
0,00





4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Splitter Code, Hilfe gesucht..
02.04.2003 18:21:47
Ingo

Naja, bin zwar auch net der profi, aber worksheets sind deine arbeitsblätter. die zahl in klammer dahinter ist das entsprechende blatt. also die 3 wäre dein drittes tabellenblatt. schau doch mal durch, ob des mit den blättern 11, 12 und 13 richtig ist!?
viel glück,
Ingo

Re: Splitter Code, Hilfe gesucht..
02.04.2003 18:28:45
gordon

Hallo Ralf,

evtl. auch die worksheets (Deine Blätter) direkt über deren Namen adressieren, statt
If Worksheets(11).Cells(i, 2) > 0 Then

If Worksheets("L1").Cells...

Gruß
gordon

Re: Nee noch nicht Splitter Code, Hilfe gesucht..
02.04.2003 18:54:03
RalfF

Hallo Gordon,
das hatte ich versucht, klappt aber nicht.........
Hallo Ingo,
ich habe mal nachgesehen wie die Tabellenblätter heißen .
Tabelle11 (L1)
Tabelle12 (L2)
Tabelle13 (L3)

kann man da nicht evtl. einen anderen Code erfinden? Andersherum läuft es ja in einer ähnlichen Datei reibungslos...
Seltsam nur, das hier der Laufzeitfehler13 erscheint, habe keine Ahnung wie ich das testen soll.
Danke für eure Hilfe, RalfF

Anzeige
Re: Ich habe es/ Splitter Code, Hilfe gesucht..
02.04.2003 20:00:11
RalfF

Danke Leute, habe es selber rausbekommen. Sieht jetzt so aus...

Sub Splitter2()
Dim i As Integer
Dim iPos As Integer
Dim iNeg As Integer
iPos = 1
iNeg = 1
For i = 1 To 17
If Worksheets("L1").Cells(i, 2) > 0 Then
Worksheets("L2").Cells(iPos, 1) = Worksheets("L1").Cells(i, 1)
Worksheets("L2").Cells(iPos, 2) = Worksheets("L1").Cells(i, 2)
iPos = iPos + 1
ElseIf Worksheets("L1").Cells(i, 2) < 0 Then

Worksheets("L3").Cells(iNeg, 1) = Abs(Worksheets("L1").Cells(i, 1))
Worksheets("L3").Cells(iNeg, 2) = Abs(Worksheets("L1").Cells(i, 2))
iNeg = iNeg + 1
End If
Next
End Sub




Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige