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

Zellenaustausch möglich?

Zellenaustausch möglich?
Karsten
Hallo,
z.B. steht in A1 und B1 "X" und in A2 und B2 "Y". Wenn ich A2 und B2 markiere, die Umschalttaste drücke, und die Markierung in den A1 und B1 - Bereich schiebe, habe ich in A1 und B1 "Y" und in A2 und B2 "X".
Nun meine Frage:
Gibt es die Möglichkeit, mithilfe einer Tastenkombination oder eines Makrobefehls, einen Austausch der Zellen über mehrere Zeilen zu machen? Obiges Beispiel funktioniert nur wenn beide Zeilen direkt nebeneinander liegen. Danke für eure Hilfe.
Gruß
Karsten

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellenaustausch möglich?
18.09.2009 14:30:19
fcs
Hallo Karsten,
da heißt dann die Bearbeitungsfolge:
1. Markieren
2. Ausschneiden
3. Neue Position wählen
4. Menü: Einfügen -- ausgeschnittene Zellen oder rechte Maustaste "Ausgeschnittene Zellen einfügen"
Gruß
Franz
AW: Zellenaustausch möglich?
18.09.2009 22:23:41
Karsten
Hallo Franz,
danke, im Endeffekt ist das das gleiche. Was ich meine, hab ich mal in einer Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/64540.xls
In Tabelle1 ist der Urzustand, in Tabelle2 ist das, was ich erreichen will, aber mit deiner bzw. meiner Lösung nicht geht. Durch Recherche habe ich etwas gefunden, (siehe Tabelle3) was meiner Sache schon näher kommt. Allerdings geht das nur mit einzeln markierte Zellen. Mich würde interessieren, wie der Makro aussehen müsste, daß die nebensteheden Zellen der B-Spalte sich ebenfalls austauschen.
Gruß
Karsten
Anzeige
AW: Zellenaustausch möglich?
19.09.2009 14:08:45
fcs
Hallo Karsten,
ah, jetzt hab ich verstanden was du möchtest.
Hier zwei Varianten.
Variante 1 tausch die Werte für einen vorgegebenen Bereich, ausgehend von den beiden markierten Zellen.
Variante 2 ist flexibler. Der auszutauschende Bereich wird gewählt. Das Makro fragt dann nach der 1. zelle des Zielbereichs.
Gruß
Franz
Sub Inhalte_zweier_Zellen_austauschen()
Dim arr1, arr2
Dim rng1 As Range, rng2 As Range
Dim Bereich As String
Bereich = "A1:B1" 'Bereich ausgehend von den beiden markierten Zellen _
dessen Daten ausgetausch werden sollen
If Selection.Cells.Count = 2 Then
If Selection.Areas.Count = 2 Then
Set rng1 = Selection.Areas(1).Range("A1")
Set rng2 = Selection.Areas(2).Range("A1")
Else
Set rng1 = Selection.Range("A1")
Set rng2 = Selection.Range("A2")
End If
arr1 = rng1.Range(Bereich).Value
arr2 = rng2.Range(Bereich).Value
rng1.Range(Bereich) = arr2
rng2.Range(Bereich) = arr1
Else
MsgBox "Bitte nur nur 2 Zellen für Werteaustausch markieren!"
End If
Ende:
arr1 = Null:        arr2 = Null
Set rng1 = Nothing: Set rng2 = Nothing
End Sub
Sub Inhalte_zweier_Zellen_austauschen_Variante()
Dim rng1 As Range, rng2 As Range
Dim Bereich As String
On Error GoTo Ende
'gewählten Zellbereich merken
Set rng1 = Selection
'Zielzelle für Werteaustasch wählen
Set rng2 = Application.InputBox(Prompt:="Bitte 1. Zelle des Zielbereichs wählen", _
Title:="Werte zwischen Zellen austauschen", _
Default:=rng1.Range("A1").Address, _
Type:=8)
arr1 = rng1.Value 'Werte des 1. Bereichs merken
'2. Bereich gemäß größe des 1.Bereichs festlegen
Set rng2 = rng2.Range("A1").Range(Cells(1, 1), Cells(rng1.Rows.Count, rng1.Columns.Count))
arr2 = rng2.Value 'Werte des 2. Bereichs merken
'Werte durchtauschen
rng1 = arr2
rng2 = arr1
Ende:
arr1 = Null:        arr2 = Null
Set rng1 = Nothing: Set rng2 = Nothing
End Sub

Anzeige
AW: Zellenaustausch möglich?
19.09.2009 20:34:11
Karsten
Hallo Franz,
wirklich Spitze. Die 2. Variante gefällt mir am besten.
Kannst du das Gleiche auch so schreiben, dass man den markierten Bereich einfach mit der Maus dahin zieht, wo er gebraucht wird und beim loslassen den neuen Bereich ersetzt und das was vorher drinn stand im alten Bereich steht? Also wie deine Variante 2, nur mit Mausziehen. Wenn ja, ich dank die schon mal für deine Anstrengungen.
Gruß
Karsten
erledigt oT
20.09.2009 13:14:21
zu
zu

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige