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

Neues Makro mit Loops

Neues Makro mit Loops
26.02.2013 17:01:05
Christian
Hallo zusammen
Ich habe von SAP einen Download (s. Sheet Quelle) pro Kostenstelle , Kostenart und Betrag. Nun existiert jeweils ein Zwischentotal (* xxxxxx) pro Kostenart in der Zeile. Ich möchte jedoch pro Kostenstelle, Kostenart und Betrag eine Zeile haben (s. Sheet Ziel).
Ich wäre sehr dankbar, wenn mir jemand mit den Grundprogrammierungen helfen kann.
Datenlink: https://www.herber.de/bbs/user/84059.xlsx
Besten Dank
Viele Grüsse
Christian

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neues Makro mit Loops
26.02.2013 17:10:06
Daniel
Hi
dein Sheet "Ziel" enthält nur Überschriften.
man kann daraus nicht erkennen, wie das Ergebnis aussehen soll.
gruß Daniel

AW: Text in Spalten, Feste Breite oT
26.02.2013 18:06:35
JoWE

AW: Neues Makro mit Loops
27.02.2013 08:49:23
Christian
Hallo Daniel
Danke für deine Antwort. Ich habe das Sheet "Ziel" nun mit den Daten ergänzt.
https://www.herber.de/bbs/user/84065.xlsx
Viele Grüsse
Christian

AW: Neues Makro mit Loops
27.02.2013 13:29:18
Daniel
Hi
probier mal diesen Code.
funktioniert mit deiner Beispieldatei.
Sub Umwandeln()
With ActiveSheet.UsedRange
With .Columns(.Columns.Count).Offset(0, 1).Resize(, 3)
.Columns(1).FormulaR1C1 = "=IF(R[1]C2="""",MID(R[1]C1,4,8),R[1]C)"
.Columns(2).FormulaR1C1 = "=MID(RC1,4,4)"
.Columns(3).FormulaR1C1 = "=Value(RC2)"
.Formula = .Value
.Cells(1, 1).Value = "KoA"
.Cells(1, 2).Value = "KST"
.Cells(1, 3).Value = "Betrag"
End With
.Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlUp
.Delete shift:=xlToLeft
End With
End Sub
Gruß Daniel

Anzeige
AW: Neues Makro mit Loops
27.02.2013 16:41:36
Christian
Hallo Daniel
Vielen, vielen Dank. Es hat soweit alles funktioniert, ausser das Löschen der Zeile mit leeren Werten, da gab es eine Fehlermeldung.
https://www.herber.de/bbs/user/84080.xlsx
Könntest du die VBA so anpassen, dass auch sowohl die leeren Zeilen, als auch die Zeilen mit dem Wert 0 gelöscht werden?
Besten Dank
Gruss Christian

AW: Neues Makro mit Loops
27.02.2013 17:55:01
Daniel
Hi
probiers mal so
Sub Umwandeln()
With ActiveSheet.UsedRange
With .Columns(.Columns.Count).Offset(0, 1).Resize(, 3)
.Columns(1).FormulaR1C1 = "=IF(R[1]C2="""",MID(R[1]C1,4,8),R[1]C)"
.Columns(2).FormulaR1C1 = "=MID(RC1,4,4)"
.Columns(3).FormulaR1C1 = "=IF(ISERROR(RC2*1),FALSE,IF(RC2*1=0,FALSE,RC2*1))"
.Formula = .Value
.Cells(1, 1).Value = "KoA"
.Cells(1, 2).Value = "KST"
.Cells(1, 3).Value = "Betrag"
.Columns(3).SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
.Delete shift:=xlToLeft
End With
End Sub
allerdings enthält deine Beispieldatei keine Werte mit 0.
du solltest, wenn du eine Beispieldatei hier hochlädst auch darauf achten, daß alle Sonderfälle vorkommen, sonst werden sie u.U. bei der Programmierung nicht berücksichtigt.
Gruß Daniel

Anzeige
AW: Neues Makro mit Loops
28.02.2013 09:05:57
Christian
Hi Daniel
Perfekt. Vielen Dank nochmals.
Gruss Christian

AW: Neues Makro mit Loops
28.02.2013 09:07:02
Christian
Hallo Daniel
Perfekt. Vielen Dank nochmals.
Gruss Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige