Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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

Vorzeichenumkehr per Makro von ausgewählten Werten

Vorzeichenumkehr per Makro von ausgewählten Werten
27.08.2008 21:48:45
ausgewählten
Hallo liebe Leute,
nachdem ich vor 2 Jahren schon einmal super Hilfe bekommen habe in diesem Forum, hoffe ich, dass mir heut vielleicht wieder jemand einen Tipp geben kann. Und zwar folgendes:
Ich bekomme regelmäßig recht große Exceldateien (hier Zieldatei genannt) mit jeweils gleichem Aufbau: In der 1. Spalte befinden sich eine Nummer, die eine Kostenart darstellt. In der zweiten Spalte befindet sich ein Eurobetrag der immer positiv ist. (Siehe Beispieldatei https://www.herber.de/bbs/user/54974.xls ).
Nun ist es so, dass einige dieser Eurobeträge mit negativem Vorzeichen versehen werden müssen.
Ich habe also eine weitere Exceldatei (hier Startdatei genannt) , die in der ersten Spalte die Kostenarten enthält, deren Vorzeichen in den Zieldateien umgedreht werden müssen.
Die Ideallösung sähe so aus, das man in dieser Startdatei auch den Pfad und Namen der Zieldatei angibt, die die zu ändernden Daten enthält.
Das Makro würde dann die Zieldatei öffnen, die jeweiligen Kostenarten heraussuchen und den zugehörigen Eurobetrag in der Spalte B mit einem negativen Vorzeichen versehen, speichern und schließen.
Mit Formeln und dem Makrorekorder bin ich leider gar nicht zurande gekommen. Deswegen ist meine Frage, ob jemand ein ähnliches Makro hat oder einen Ansatz kennt, wie man so etwas lösen kann!?
Auf jeden Fall vielen herzlichen Dank im Voraus für alle Anregungen und Tipps!
Gruß
Elmar

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vorzeichenumkehr per Makro von ausgewählten We
27.08.2008 22:04:00
ausgewählten
Hallo,
Pfad zur Zieldatei in Quelle!B1, zu drehende Konten in A:A
ungetestet

Sub VZ_drehen()
Dim wksZiel As Worksheet, rng As Range, wksQuelle As Worksheet
Application.ScreenUpdating = False
Set wksQuelle = ThisWorkbook.Sheets("Quelle")
Set wksZiel = Workbooks.Open(wksQuelle.Range("B1")).Sheets(1)
With wksZiel
For Each rng In .Range(.Cells(2, 2), .Cells(Rows.Count, 2).End(xlUp))
rng = rng * ((Workbooks.CountIf(rng.Offset(0, -1), .Columns(1)) > 0) * 2 + 1)
Next
End With
Application.ScreenUpdating = True
End Sub


Gruß aus’m Pott
Udo

Anzeige
AW: Vorzeichenumkehr per Makro von ausgewählten Werten
28.08.2008 09:02:55
ausgewählten
Hallo Udo, vielen Dank für die schnelle Antwort!
Hab eben einen Test durchgeführt aber leider kommt ein Abbruch bei Workbooks.CountIf. Genau gesagt meldet er "Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden"
Fehlt hier vielleicht nur ein Leerzeichen o.ä.?
Und wenn ich das noch fragen darf: Kannst Du mir ungefähr sagen, was Dein Makro in den beiden Zeilen macht:
For Each rng In .Range(.Cells(2, 2), .Cells(Rows.Count, 2).End(xlUp))
rng = rng * ((Workbooks.CountIf(rng.Offset(0, -1), .Columns(1)) > 0) * 2 + 1)
Meine VBA-Kenntnisse reichen leider nicht ganz aus um das zu verstehen.
Vielen Dank!
Gruß
Elmar
Anzeige
AW: Vorzeichenumkehr per Makro von ausgewählten Werten
28.08.2008 20:38:41
ausgewählten
Hallo,
war auch falsch.

Sub VZ_drehen()
Dim wksZiel As Worksheet, rng As Range, wksQuelle As Worksheet
Application.ScreenUpdating = False
Set wksQuelle = ThisWorkbook.Sheets("Quelle")
Set wksZiel = Workbooks.Open(wksQuelle.Range("B1")).Sheets(1)
With wksZiel
For Each rng In .Range(.Cells(2, 2), .Cells(Rows.Count, 2).End(xlUp))
rng = rng * ((WorksheetFunction.CountIf(rng.Offset(0, -1), wksQuelle.Columns(1)) > 0) * 2  _
+ 1)
Next
End With
Application.ScreenUpdating = True
End Sub


Gruß aus’m Pott
Udo

Anzeige
AW: Vorzeichenumkehr per Makro von ausgewählten Werten
01.09.2008 08:23:00
ausgewählten
Hallo Udo,
ich habe es nochmal getestet. Das Makro läuft jetzt zwar durch, allerdings ändern sich in der als Beispiel abgelegten Zieldatei die Vorzeichen nicht. Leider kann ich nicht erkennen, woran es liegt.
Wenn ich z.B. in der Startdatei die Kostenart 4440 hinterlege, dann müsste am Ende in der Zieldatei in Zelle B12 statt 4578 nun -4578 stehen.
Dürfte ich Dich bitten, dass Du nochmal schaust?
Herzlichen Dank im Voraus.
Gruß
Elmar
AW: Vorzeichenumkehr per Makro von ausgewählten Werten
01.09.2008 09:08:00
ausgewählten
Hi Elmar,

Sub VZ_drehen()
Dim wksZiel As Worksheet, rng As Range, wksQuelle As Worksheet
Application.ScreenUpdating = False
Set wksQuelle = ThisWorkbook.Sheets("Quelle")
Set wksZiel = Workbooks.Open(wksQuelle.Range("B1")).Sheets(1)
With wksZiel
For Each rng In .Range(.Cells(2, 2), .Cells(Rows.Count, 2).End(xlUp))
rng = rng * ((WorksheetFunction.CountIf(wksQuelle.Columns(1), rng.Offset(0, -1)) > 0) *  _
2 + 1)
Next
End With
Application.ScreenUpdating = True
End Sub


Gruß
Reinhard

Anzeige
Tausend Dank!
01.09.2008 23:20:36
Elmar
Hallo Reinhard,
vielen Dank für den "Feinschliff", es funktioniert jetzt!
Und Dir Udo natürlich auch nochmal vielen Dank!
Ihr habt mir sehr geholfen!
Viele Grüße
Elmar
AW: Vorzeichenumkehr per Makro von ausgewählten Werten
01.09.2008 14:31:52
ausgewählten
Hallo Udo,
ich habe es nochmal getestet. Das Makro läuft jetzt zwar durch, allerdings ändern sich in der als Beispiel abgelegten Zieldatei die Vorzeichen nicht. Leider kann ich nicht erkennen, woran es liegt.
Wenn ich z.B. in der Startdatei die Kostenart 4440 hinterlege, dann müsste am Ende in der Zieldatei in Zelle B12 statt 4578 nun -4578 stehen.
Dürfte ich Dich bitten, dass Du nochmal schaust?
Herzlichen Dank im Voraus.
Gruß
Elmar
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige