Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1280to1284
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

Makro (oder Formel) für neue Anordnung Ausgangsdat

Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 08:48:30
Joerschi
Hallo liebes Forum,
ich versuche derzeit aus einem etwas "schiefen" Ausgangsformat Zellen automatisiert via Makro oder Formeln zurechtzurücken (sind sehr viele untereinander).
Und zwar soll je ein Schriftsatz eine Zeile tiefer kopiert werden und dann leere Spalten automatisch gelöscht.
Im Anhang ein Beispiel (weil es schwer zu erklären ist):

Die Datei https://www.herber.de/bbs/user/82111.xls wurde aus Datenschutzgründen gelöscht


Hat jemand einen Tip oder Ansatz als Rat?
Danke im Voraus und viele Grüße
JAT
PS: Kann mir bitte jemand einen Linktip geben, wo man für seinen Post die Verfahrensweise für das Einfügen eines Excel-Screenshots nachlesen kann?

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 08:52:26
Hans
Hallo Joerschi,
zum PS: Speichere den Screenshot als JPG oder GIF, lade ihn hoch, wie Deine Arbeitsmappe und Verweise in Deinem Beitrag ebenso darauf.
Gruss hans

AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 08:57:29
Joerschi
Danke Hans!

AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 09:10:19
Hans
Hallo Joerschi,
folgender Code:
Sub Verschieben() Dim iRow As Integer, iRowL As Integer Columns(1).Delete iRowL = Cells(Rows.Count, 2).End(xlUp).Row + 1 For iRow = iRowL To 3 Step -3 Cells(iRow - 2, 2).Value = Cells(iRow - 1, 1).Value Cells(iRow - 2, 3).Value = Cells(iRow - 1, 2).Value Rows(iRow & ":" & iRow - 1).Delete Next iRow End Sub Gruss hans

AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 09:15:31
Joerschi
Hallo Hans,
auch vielen Dank dafür.
Ich muss trotzdem "dumm" fragen: ist das VBA? Wo könnte ich den Code einfügen?
Viele Grüße
JAT

Anzeige
AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 09:24:43
Hans
Hallo Joerschi,
ja, das ist VBA (WF möge mir verzeihen)
Ich habe die Arbeitsmappe mit dem Code hochgeladen:
https://www.herber.de/bbs/user/82112.xls
Gruss hans

AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 09:48:53
Joerschi
Hallo Hans,
super - funktioniert sehr gut.
Eine Mini-Bitte: Die Zahlenreihen setzen sich in der jeweiligen zeile immer noch fort (bis spalte x)
Zur Zeit löscht es alles ab Spalte D nach rechts weg :-(
Kann man das tool noch so ergänzen, dass sie erhalten bleiben?
Herzlichen Dank im Voraus für die Lösung :-)
JAT

Anzeige
AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 10:43:57
Hans
Hallo Joerschi,
bei dem folgenden Code wird immer die letzte in Zeile 2 mit Inhalt gefundene Zelle zugrundegelegt:
Sub Verschieben()
Dim iRow As Integer, iRowL As Integer, iCol As Integer, iColL As Integer
Columns(1).Delete
iRowL = Cells(Rows.Count, 2).End(xlUp).Row + 1
iColL = Cells(2, Columns.Count).End(xlToLeft).Column
For iRow = iRowL To 3 Step -3
For iCol = 2 To iColL
Cells(iRow - 2, iCol).Value = Cells(iRow - 1, iCol).Value
Next iCol
Rows(iRow & ":" & iRow - 1).Delete
Next iRow
End Sub

Gruss hans

AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 11:08:29
Joerschi
meine alte Frage: an welcher Stelle kann man das VBA einfügen? :-)

Anzeige
AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 11:10:44
Hans
Hallo Joerschi,
wechsle mit Alt+F11 in die Entwicklungsumgebung. Du gelangst vermutlich direkt in den Code, andernfalls doppelklick im Projektexplorer auf Modul1
Gruss hans

AW: Makro (oder Formel) für neue Anordnung Ausgangsdat
14.10.2012 11:23:41
Joerschi
Hallo Hans,
vielen Dank - habe Änderung eingefügt.
Irgendwas scheint aber immer noch zu haken.
Es wird die erste Zahlenreihe komplett weggelöscht und der text verschwindet auch ;-( - siehe hier am Beispiel: https://www.herber.de/bbs/user/82115.xls
Viele Grüße
JAT

Ich verstehe das nicht ,,,
14.10.2012 11:38:56
Matthias
Hallo
Wieso sollte bei dieser Ausgangssituation ...
Ausgangslage

 ABCDEFG
1Ehime - Tottori 12:00      
2 1.891.923.653.84.75
3       
4FC Gifu - Yamagata 12:00      
5 3.253.43.453.552.382.44
6       
7Fukuoka - Tochigi SC 12:00      
8 2.82.943.53.652.662.72
9       
10Jagiellonia (J) v KS Gornik Zabrze (J) 12:00      
11 1.0931.279501.093
12       
13KSP Polonia Warschau (J) v KKS Lech Poznan (J) 12:00      
14 1.0931.279501.093
15       
16Getafe B v Real Madrid C 12:00      
17 2.222.283.33.553.64.1
18       
19Gijon B v Caudal Deportivo 12:00      
20 2.12.43.34.13.65.5


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
das hier herauskommen ?
so solls aussehen

 ABC
1Zutaten 15020
2Zutaten 23212
3Zutaten 34020


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Es wäre von Vorteil, wenn Du da etwas genauer bist.
Gruß Matthias

Anzeige
AW: Ich verstehe das nicht ,,,
14.10.2012 11:42:10
Joerschi
Hallo Mathias,
der erste Post war ein vereinfachtes Beispiel.
Der letzte Post mit dem Beispiel dann einfach mit konkreten Zahlen bzw. Werten, wo man sieht, dass die Lösung noch nicht zu 100% greift...
Viele Grüße
JAT

Aufgabe verändert
14.10.2012 12:22:36
Erich
Hi Joerschi,
es ist kein Wunder, dass Hans' Lösung nicht auf deine Daten passt.
In deinen bisherigen Ausgangsdaten standen die Texte (wie z. B. "Zutaten 1") doppelt inj der Tabelle,
in Spalte A und Spalte B. Deshalb hat Hans die Spalte A komplett gelöscht.
Nun stehen die Texte bei dir nur noch in Spalte A - dann darf man die natürlich nicht mehr löschen.
Probier mal:

Sub Verschieben()
Dim lRows As Long, lCols As Long, lRow As Long
lRows = Cells(Rows.Count, 1).End(xlUp).Row
lCols = Cells(2, Columns.Count).End(xlToLeft).Column - 1
For lRow = 1 To lRows Step 3
Cells((lRow + 2) / 3, 1) = Cells(lRow, 1)
Cells((lRow + 2) / 3, 2).Resize(, lCols) = _
Cells(lRow + 1, 2).Resize(, lCols).Value
Next lRow
Rows((lRow + 2) / 3 & ":" & lRows + 1).Clear
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Jetzt passt es - vielen herzlichen Dank
14.10.2012 12:25:40
Joerschi
Hallo Erich und Hans,
vielen Dank Euch beiden - jetzt passt es.
Meine Entschuldigung für "Irreführung" bzgl. der Aufgabe, das war nicht gewollt. Ich wollte eigentlich nur vereinfachen....
Beste Grüße
JAT

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige