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

Kopfnuss: Spiegelbildlich umkopieren/Zeile umdrehe

Kopfnuss: Spiegelbildlich umkopieren/Zeile umdrehe
21.10.2005 22:13:54
Martin
Hallo,
als Ausgabe von eine Makro habe ich folgende Daten (reines Beispiel, stehen Namen drinnen):
2
1 2
1 1 2
1 1 1 2
1 1 1 2
1 1 2
1 2
2
1 1 2
Ich möchte das jetzt so in ein neues Blatt kopiere, daß jede Zeile "umgedreht" wird, also die 2 in jeder Zeile immer in Spalte 1 steht.
Wie geht das?
jeder Tipp hilft,
Martin

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopfnuss: Spiegelbildlich umkopieren/Zeile umd
22.10.2005 00:01:26
Matthias
Hallo Martin,
das Zielblatt muss leer sein:
Sub Umkehren() Dim lz As Long, ls As Integer Dim ShQ As Worksheet, ShZ As Worksheet Dim i As Long, j As Integer Set ShQ = Sheets("Tabelle1") 'Quellblatt Set ShZ = Sheets("Tabelle2") 'Zielblatt lz = ShQ.Range("A65536").End(xlUp).Row 'letzte Zeile For i = 1 To lz ls = ShQ.Cells(i, 1).End(xlToRight).Column 'letzte Spalte For j = 1 To ls ShZ.Cells(i, ls - j + 1) = ShQ.Cells(i, j) Next j Next i End Sub
Gruß Matthias
Spiegelbildlich umkopieren/Zeile Formellösung
22.10.2005 00:28:27
Beate
Hallo Martin:
Dein Ausgangsbereich in Tabelle 1:
 
 ABCD
12   
212  
3112 
41112
51112
6112 
712  
82   
9112 
 

Dein Zielbereich in einem anderen anderen Tabellenblatt, die Formeln aus Zeile 1 können runterkopiert werden:
 
 ABCD
12   
221  
3211 
42111
52111
6211 
721  
82   
9211 
Formeln der Tabelle
A1 : =WENN(((Tabelle1!D1="")*(Tabelle1!C1="")*(Tabelle1!B1=""));Tabelle1!A1;WENN((Tabelle1!D1="")*(Tabelle1!C1="");Tabelle1!B1;WENN(Tabelle1!D1="";Tabelle1!C1;Tabelle1!D1)))
B1 : =WENN(((Tabelle1!C1="")*(Tabelle1!B1=""));"";WENN(Tabelle1!C1="";Tabelle1!A1;WENN(Tabelle1!B1="";"";Tabelle1!B1)))
C1 : =WENN(Tabelle1!B1="";"";WENN(Tabelle1!B1=A2;"";Tabelle1!B1))
D1 : =WENN(((Tabelle1!A1=A1)+(ANZAHL2(Tabelle1!A1:D1)<=ANZAHL2(A1:C1)));"";Tabelle1!A1)
 

Gruß,
Beate
Anzeige
@ Matthias
22.10.2005 00:33:13
Beate
Hallo Matthias,
dein Makro klemmt noch, wenn in Tabelle1 die 2 direkt in Spalte A steht. Dann bleibt im Kopierbereich die Zeile leer. Kriegst du sicher auch noch hin.
Gruß,
Beate
AW: @ Matthias
22.10.2005 00:55:02
Matthias
Hallo Beate,
danke für den Hinweis, hab es nun stümperhaft korrigiert:
Sub Umkehren() Dim lz As Long, ls As Integer Dim ShQ As Worksheet, ShZ As Worksheet Dim i As Long, j As Integer Set ShQ = Sheets("Tabelle1") 'Quellblatt Set ShZ = Sheets("Tabelle2") 'Zielblatt lz = ShQ.Range("A65536").End(xlUp).Row 'letzte Zeile For i = 1 To lz ls = ShQ.Cells(i, 1).End(xlToRight).Column 'letzte Spalte If ls = 256 Then ls = 1 Debug.Print ls For j = 1 To ls ShZ.Cells(i, ls - j + 1) = ShQ.Cells(i, j) Next j Next i End Sub
Gruß Matthias
Anzeige
AW: Zeilen umkehren - per VBA
22.10.2005 09:19:27
Erich
Hallo zusammen,
und noch eine VBA-Lösung, bei der man auch den zu bearbeitenden Bereich vorgibt:
Sub ZeilenUmkehren() Dim ShQ As Worksheet, ShZ As Worksheet, Ber As Range Dim berZ1 As Long, berZL As Long, berS1 As Integer, berSL As Integer Dim berSLz As Integer, ii As Long, jj As Integer, kk As Integer ' ---------------------------------------------------------------- Vorgaben Set ShQ = Sheets("Tabelle1") ' Quellblatt Set ShZ = Sheets("Tabelle2") ' Zielblatt Set Ber = ShQ.Range("B2:D6") ' Quellbereich (Zielbereich ist analog) ' erste/letzte Zeile/Spalte des Bereichs berZ1 = Ber.Rows(1).Row berZL = Ber.Rows.Count + berZ1 - 1 berS1 = Ber.Columns(1).Column berSL = Ber.Columns.Count + berS1 - 1 ' suche letzte belegte Zeile im Bereich If IsEmpty(Cells(berZL, berSL)) Then _ berZL = Ber.Find("*", Ber.Cells(1), xlValues, xlWhole, , xlPrevious).Row For ii = berZ1 To berZL ' suche letzte belegte Spalte in Zeile ii berSLz = IIf(IsEmpty(ShQ.Cells(ii, berSL)), _ ShQ.Cells(ii, berSL).End(xlToLeft).Column, _ berSL) ' Umkehrung ausführen kk = berS1 For jj = berSLz To berS1 Step -1 ShZ.Cells(ii, kk) = ShQ.Cells(ii, jj) kk = kk + 1 Next jj Next ii End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Kopfnuss: Spiegelbildlich umkopieren/Zeile umd
22.10.2005 00:35:43
Erich
Hallo Martin,
zu Matthias' schöner VBA-Lösung hier noch eine eher hässliche Lösung per Excelformel. Die Formel in A1 von Ergebnis kannst du auf alle möglichen Zellen in Ergebnis kopieren.
Dabei gibt es noch einen Nachteil:
Wenn vor einer gefüllten Zelle eine leere Zelle auftritt, wird sie mit einer Null gefüllt.
Quelle
 ABCD
12   
212  
3112 
41112
5987 
698 7
7ab  
8a c 
 
Ergebnis
 ABCD
12   
221  
3211 
42111
5789 
67089
7ba  
8c0a 
Formeln der Tabelle
A1 : {=WENN(MAX(WENN(Quelle!$A1:$J1<>""; SPALTE(Quelle!$A1:$J1)))>=SPALTE(); INDEX(Quelle!$A1:$J1;1;MAX(WENN(Quelle!$A1:$J1<>""; SPALTE(Quelle!$A1:$J1)))+1-SPALTE());"")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen umkehren - per Formel
22.10.2005 09:15:35
Erich
Hallo Martin,
der Nachteil mit den Nullen ließ sich noch beseitigen:
Ergebnis
 ABCD
12   
221  
3211 
42111
5789 
67 89
7c a 
Formeln der Tabelle
A1 : {=WENN(MAX(WENN(Tabelle1!$A1:$J1<>""; SPALTE(Tabelle1!$A1:$J1)))>=SPALTE(); INDEX(Tabelle1!$A1:$J1;1;MAX(WENN(Tabelle1!$A1:$J1<>""; SPALTE(Tabelle1!$A1:$J1)))+1-SPALTE())&"";"")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Kopfnuss: Spiegelbildlich umkopieren/Zeile umdrehe
22.10.2005 22:13:43
FP
Hallo Martin,
wie wäre es damit? ( ersetze einfach Tabelle3 durch den Blattnamen in dem Deine zu spiegelnden Daten stehen )
Formel nach rechts bzw. unten kopieren.
Tabelle3
 ABCDEFGHIJKL
11     1     
222    22    
3123   321   
41124  4211  
511125 52111 
6111126621111
711125 52111 
81124  4211  
9123   321   
1022    22    
111     1     
Formeln der Tabelle
G1 : =WENN(SPALTE(A1)>ANZAHL2(Tabelle3!$A1:$F1);"";INDEX(Tabelle3!$A1:$F1;ANZAHL2(Tabelle3!$A1:$F1)-SPALTE(A1)+1))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige
AW: spiegeln Bereich mit Text und leeren Zellen
22.10.2005 22:56:35
FP
Hallo Martin,
falls auch leere Zellen vorkommen und gespiegelt werden sollen:
Tabelle3
 ABCDEFGHIJKL
1a     a     
2ab    ba    
3abc   cba   
4abcd  dcba  
5abcde edcba 
6ab deffed ba
7abcde edcba 
8abcd  dcba  
9abc   cba   
10ab    ba    
11a     a     
12            
Formeln der Tabelle
G1 : =WENN(ANZAHL2(Tabelle3!$A1:$F1)=0;"";T(INDEX(Tabelle3!$A1:$F1;REST(VERGLEICH("";Tabelle3!$A1:$F1;-1)-SPALTE(A1);6)+1)))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Servus aus dem Salzkammergut
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige