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

Zeilen(-inhalte) in einer Tabelle austauschen

Zeilen(-inhalte) in einer Tabelle austauschen
01.11.2007 20:32:00
Pixeltreter
Hallo,
ich habe folgendes Problem:
In einer Tabelle habe ich im Zellbereich A5:C5 Inhalte stehen.
Diese möchte ich nun austauschen mit den Inhalten des Zellbereiches A17:C17.
Die Eingabe der auszutauschenden Zellbereiche soll über eine Dialogbox erfolgen (was ich auch halbwegs hinbekommen habe, damit meine ich allerdings nur die Dialogbox).
Die ursprünglichen Zeilennummern 5 und 17 sollen erhalten bleiben, eine Verschiebung der beiden genannten Zellbereiche an das untere Ende und nachträgliche Sortierung hilft mir leider nicht weiter, da sich auf diesem Tabellenblatt zwei unabhängige Tabellen befinden (Wer macht denn sowas?), z.B. Tabelle 1 [A1:H10], Tabelle 2 [A11:H20] , und sich das Sortierkriterium für Tabelle 2 im Zellbereich D11:D20 befindet, während die gemeinsame Spalte D für Tabelle 1 und 2 Daten mit demselben Attribut (z.B "Ort") enthält.
Zumindest habe ich inzwischen gelernt, dass man sich VOR der Erstellung einer Tabelle Gedanken über das Layout und enthaltene Funktionen machen sollte...seufz.
Leider ist meine Tabelle inzwischen so umfangreich, dass ich mich scheue alles inkl. Formeln usw. neu zu erstellen. Und von meinem ursprünglichen Ziel, zwei unabhängige Tabellen innerhalb eines Excel-Tabellenblattes auf einmal im Auge zu haben ist inzwischen leider ebenfalls nicht mehr viel übriggeblieben...
Ich würde mich riesig über hilfreiche Ratschläge oder Lösungen freuen, notfalls auch über den finalen Rat diese Datei mit VORHER gründlich durchdachtem Aufbau "einfach" nochmal neu zu erstellen.
mit freundlichen Grüßen
Nerven...ähm Pixeltreter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen(-inhalte) in einer Tabelle austauschen
01.11.2007 21:06:25
Ramses
Hallo
Das geht nur mit VBA,.. aber probiers mal aus
Sub ReplaceData()
    Dim tarRange As Range, srcRange As Range
    On Error Resume Next
    Set tarRange = Application.InputBox("Welcher Zellbereich soll ersetzt werden", "Zielbereich wählen", Type:=8)
    If tarRange Is Nothing Then
        MsgBox "Kein Zielbereich gewählt", vbCritical + vbOKOnly, "Abbruch"
        Exit Sub
    End If
    Set srcRange = Application.InputBox("Welche Zellwerte sollen genommen werden", "Quellbereich wählen", Type:=8)
    If srcRange Is Nothing Then
        MsgBox "Kein Quellbereich gewählt", vbCritical + vbOKOnly, "Abbruch"
        Exit Sub
    End If
    On Error GoTo 0
    If tarRange.Cells.Count <> srcRange.Cells.Count Then
        MsgBox "Ungleicher Zellbereich", vbCritical + vbOKOnly, "Abbruch"
        Exit Sub
    End If
    If tarRange.Columns.Count <> srcRange.Columns.Count Then
        MsgBox "Ungleicher Spaltenbereich", vbCritical + vbOKOnly, "Abbruch"
        Exit Sub
    End If
    If tarRange.Rows.Count <> srcRange.Rows.Count Then
        MsgBox "Ungleicher Zeilenbereich", vbCritical + vbOKOnly, "Abbruch"
        Exit Sub
    End If
    srcRange.Copy tarRange
End Sub

Gruss Rainer

Anzeige
AW: Zeilen(-inhalte) in einer Tabelle austauschen
01.11.2007 21:08:00
Daniel
HI
hier ein Makro zum Tauschen von Zellinhalten:

Sub Tauschen()
Dim arr1, arr2
Dim rng1 As Range
Dim rng2 As Range
Dim Art As String
Dim abbrechen As Boolean
Set rng1 = Application.InputBox("Bereich 1", "Zellbereiche auswählen", , , , , , 8)
Set rng2 = Application.InputBox("Bereich 2 ( " & rng1.Rows.Count & " x " _
& rng1.Columns.Count & " )", "Zellbereiche auswählen", , , , , , 8)
If rng1.Rows.Count  rng2.Rows.Count Or rng1.Columns.Count  rng2.Columns.Count Then
MsgBox ("Tausch nicht möglich, da Zellbereiche unterschiedlich gross.")
Else
Art = InputBox("1 - relative Zellbezüge wandern mit" & Chr(10) & _
"2 - relative Zellbezüge bleiben fest" & Chr(10) & _
"3 - nur Werte kopieren" & Chr(10) & Chr(10) & Chr(10) & _
"andere Werte: Abbruch", "Kopierart", "1")
abbrechen = False
Select Case Art
Case "1"
arr1 = rng1.FormulaR1C1Local
arr2 = rng2.FormulaR1C1Local
Case "2"
arr1 = rng1.FormulaLocal
arr2 = rng2.FormulaLocal
Case "3"
arr1 = rng1.Value
arr2 = rng2.Value
Case Else
abbrechen = True
End Select
If Not abbrechen Then
rng2.Value = arr1
rng1.Value = arr2
End If
End If
End Sub


man kann zusätzlich noch auswählen, wie mit RELATIVEN Zellbezügen umgegangen werden soll:
1- Relative Zellbezüge wandern mit
2- Relative Zellbezüge bleiben zwar relativ, aber der Bezug bleibt am alten Ort
3- es werden die Werte kopiert
Gruß Daniel

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige