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

Tauschen Der Spalten Funktioniert (MAKRO) Nicht ?!

Tauschen Der Spalten Funktioniert (MAKRO) Nicht ?!
22.03.2008 23:28:00
Leo
Abend zusammen,
ich hab` heut` abend noch ein weiteres Problem - von meiner Freundin ganz zu schweigen (sie schlägt mich tot wenn sie erfährt was ich heute abend mache & sie wieder versetze) ... Doch bleiben wir bei der Sache ...
Ich hab soeben versucht ein MAKRO zum vetrauschen zu schreiben :
ICH MÖCHTE GERNE DIE 1. SPALTE MIT DER 32. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 2. SPALTE MIT DER 31. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 3. SPALTE MIT DER 30. SPALTE VERTAUSCHEN
...
...
...
ICH MÖCHTE GERNE DIE 30. SPALTE MIT DER 3. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 31. SPALTE MIT DER 2. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 32. SPALTE MIT DER 1. SPALTE VERTAUSCHEN

Sub Vertauschen()
Dim iSpalte   As Integer  ' For/Next Spaltenindex A - O
Dim lIndx     As Long     ' Index zum bearbeiten des Arrays
Dim lZeile    As Long     ' For/Next Zeilenindex 1 - 32
Application.ScreenUpdating = False ' Bildschirm Update unterbinden
For iSpalte = 1 To 15                       ' Spalte A bis O
lIndx = 0                               ' Array-Index auf 0 setzen
For lZeile = 32 To 1 Step -1            ' von Zeile 32 bis 1
aVar(lIndx) = Cells(lZeile, iSpalte) ' Array mit Daten einer Spalte füllen
lIndx = lIndx + 1                    ' Index um 1 erhöhen
Next lZeile                             ' nächste Zeile abwärts
For lZeile = 1 To 32                    ' von Zeile 1 bis 32
Cells(lZeile, iSpalte) = aVar(lZeile - 1) ' Spalte aus Array zurückholen
Next lZeile                             ' nächste Zeile
Next iSpalte                               ' nächste Spalte
Application.ScreenUpdating = True          ' Bildschirm Update freigeben
End Sub


Doch leider kommt immer die Fehlermeldung COMPILE ERROR !!! Schaut euch einfach mal die Datei an !!! Für einen EXCEL bzw. VBA Experten ist auch dieses Problem eigentlich keins !!! Doch für einen Rookie wie mich macht es nur phantomschmerzen bzw. einen heißen Kopf !!! Hier die Datei : https://www.herber.de/bbs/user/50943.xls
Dank Euch vielmals für Euren support !!!
MfG
Leo van der Haydn

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

Betreff
Datum
Anwender
Anzeige
AW: Tauschen Der Spalten Funktioniert (MAKRO) Nicht ?!
22.03.2008 23:41:28
Klaus-Dieter
Hallo Leo,
ehe ich mir einen Kopf mache, Spalten, das ist das Senkrechte, Zeilen, das ist das Waagerechte. Das hast du entweden im Makro oder in deiner Beschreibung durcheinander gebracht. Was willst du jetzt tauchen?
Viele Grüße Klaus-Dieter

Online-Excel

AW: Tauschen Der Spalten Funktioniert (MAKRO) Nicht ?!
22.03.2008 23:55:00
Klaus-Dieter
Hallo Leo,
wenn du wirklich Zeilen und Spalten verwechselt hast, frage ich mich, warum du deine Liste nicht einfach nach Spalte A aufsteigend sortiert hast. Dann hättest du auch noch Zeit für deine Freundin gehabt. ;-)
Viele Grüße Klaus-Dieter

Online-Excel

Anzeige
AW: Tauschen Der Spalten Funktioniert (MAKRO) Nicht ?!
23.03.2008 00:10:34
Tino
Hallo,
habe ich dich richtig verstanden?
Würde ich dies über eine zweite Tabelle machen und diese am Schluss
wieder löschen.

Sub Tausche()
Dim anZ As Byte
Dim MeinTab As Worksheet
Set MeinTab = ActiveSheet
ActiveSheet.Copy After:=Sheets(1)
Application.ScreenUpdating = False
With MeinTab
For anZ = 1 To 15
Range(Cells(1, 16 - anZ), Cells(22, 16 - anZ)).Copy .Range(.Cells(1, 0 + anZ), .Cells(22, 0 +  _
anZ))
Range(Cells(1, 0 + anZ), Cells(22, 0 + anZ)).Copy .Range(.Cells(1, 16 - anZ), .Cells(22, 16 -  _
anZ))
Next anZ
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Gruß
Tino

Anzeige
AW: Ich hab` mich falsch ausgedrückt !!!
23.03.2008 00:35:54
Leo
Verdammt !!!
Ich stehe hier unter starkstrom !!! Ein Atomreaktor ist nichts dagegen 8)
Ihr habt beide recht !!! Hab` mich im eifer des gefechts falsch ausgedrückt !!!
Aber dank euch trotzdem für den bisherigen support !!! Vielleicht kann ich ja das MAKRO SPALTEN Vertauschen irgendwann malk nutzen !!! Danke ...
ICH MÖCHTE GERNE DIE 1. ZEILE MIT DER 32. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 2. ZEILE MIT DER 31. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 3. ZEILE MIT DER 30. SPALTE VERTAUSCHEN
...
...
...
ICH MÖCHTE GERNE DIE 30. ZEILE MIT DER 3. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 31. ZEILE MIT DER 2. SPALTE VERTAUSCHEN
ICH MÖCHTE GERNE DIE 32. ZEILE MIT DER 1. SPALTE VERTAUSCHEN
Ich bekomm` die Daten von `nem Kumpel - und der bekommt Sie eben immer nur so aus seiner Software entpackt !!! Weshalb ich mich eben selber um das vertauschen (der historischen Daten) heute Nacht halt` noch kümmern muss - sonst pflippt mein Onkel demnächst aus 8)
Wie dem auch sei - ich würd` mich wahnsinnig freuen, wenn ihr mir noch kurz das MAKRO für das VERTAUSCHEN DER ZELLEN 1-32 bzw. A-0 noch einmal formulieren könntet !!! Ich kriegs heut nicht mehr gebacken !!! Muss was essen sonst explodiere ich hier wie ein Vulkan !!!
MfG
Leo van der Haydn

Anzeige
AW: Ich hab` mich falsch ausgedrückt !!!
23.03.2008 01:07:55
Tino
Hallo,
jetzt verstehe ich aber nur noch Bahnhof.
In deinem Beispiel sind 15 Spalten und 22 Zeilen.
Du sprichst von einer 32. Spalte und einer 32. Zeile?
____________________________________________________________
Zu den letzten Code von mir.
Habe mal einige Kommentare dabei geschrieben.
Dabei ist mir noch aufgefallen, dass der Kopierbefehl nur einmal gebraucht wird.

Sub Tausche()
Dim anZ As Byte
Dim MeinTab As Worksheet
Set MeinTab = ActiveSheet 'Merke aktuelle Tabelle
ActiveSheet.Copy After:=Sheets(1) 'dupliziere diese Tabelle
Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
With MeinTab 'um den Code etwas kürzer zu machen
For anZ = 1 To 15 'Schleife für 15 Spalten
'kopiere Spalte 16 nach Spalte 1 in Org. Tabelle usw.
Range(Cells(1, 16 - anZ), Cells(33, 16 - anZ)) _
.Copy .Range(.Cells(1, 0 + anZ), .Cells(33, 0 + anZ))
Next anZ
End With
Application.DisplayAlerts = False 'Excel Meldung aus
ActiveSheet.Delete 'Tabelle löschen
Application.DisplayAlerts = True 'Excel Meldung an
Application.ScreenUpdating = True
End Sub


Gruß
Tino

Anzeige
AW: Tauschen Der Spalten Funktioniert (MAKRO) Nich
23.03.2008 01:52:00
Leo
Schön das Du noch da bist TINO,
der Lokführer fährt noch mal zurück - um im Bild zu bleiben ("Ich verstehe nur Bahnhof") - und erzählt Dir noch einmal wohin er fahren will ... 8)
Defintion :
Wenn ich mich nicht wirklich täusche, dann sind die horizontalen Zahlen SPALTEN & die vertikalen Buchstaben ZEILEN. Also von links nach rechts SPALTEN und von oben nach unten ZEILEN !!!
Vergiß` einfach was vorher war, lösch` es, werf es weg - oder aber mach damit was Du willst !!! Wir starten einfach nochmal gemeinsam neu durch !!! Reloaded sozusagen ;)
Ich hab Dir die Datei jetzt noch hochgeladen : https://www.herber.de/bbs/user/50945.xls
Was gutes hat die Sache ja das wir Rätselslösung immer noch nicht haben. Mittlerweile hab` ich nämlich festgestellt, dass ich nicht nur SPALTEN (horizontale) von A bis O sonder von A bis Q brauche. Aber das siehst Du ja in der Mappe !!! Und das ganze eben von SPALTE 1 bis 33 ...
ZEILEN (also die vertikale - von oben nach unten) spielen in diesem Fall KEINE ROLLE !!!
Schau`s Dir einfach mal an ...
Ich brauch jetzt nochmal einen LILA MILKA Schmunzelhasen aus Schokolade ;)
MfG
Leo van der Haydn

Anzeige
AW: Tauschen Der Spalten Funktioniert (MAKRO) Nich
23.03.2008 02:20:00
Tino
Hallo,
ist es so besser?

Sub Sortiere_Verschieb()
Application.ScreenUpdating = False
Range(Range("A2:Q2"), Range("A2:Q2").End(xlDown)).Sort Key1:=Range("A2"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Rows("1:1").Copy
Rows(Range("A65000").End(xlUp).Offset(1, 0).Row).PasteSpecial
Rows("1:1").Clear
Application.ScreenUpdating = True
End Sub


Gruß
Tino

AW: Tauschen Der Spalten Funktioniert (MAKRO) Nich
23.03.2008 10:10:00
Klaus-Dieter
Hallo Leo,
"Defintion :
Wenn ich mich nicht wirklich täusche, dann sind die horizontalen Zahlen SPALTEN & die vertikalen Buchstaben ZEILEN. Also von links nach rechts SPALTEN und von oben nach unten ZEILEN !!!"
VÖLLIG FALSCH! Genau umgedreht wird ein Schuh draus.
Viele Grüße Klaus-Dieter

Online-Excel

Anzeige
AW: Tauschen Der Spalten Funktioniert (MAKRO) Nich
23.03.2008 14:17:00
Leo
Okay Guys,
wirklich wirklich gut !!! Der Ostersonntag ist für einen atheisten gerettet !!! Danke ...
FROHE OSTERN !!!
MfG
Leo van der Haydn

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige