Vertauschen der Werte zweier markierter Zellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Vertauschen der Werte zweier markierter Zellen
von: Hans Jürgen
Geschrieben am: 10.07.2002 - 12:01:50

Hallo liebe Profis,
bitte helft mir bei folgendem Problem:
ich möchte die Werte zweier markierter, variablen Zellen tauschen. z. B.: Ich markiere Zelle A5 und mit gehaltener STR-Taste die Zelle A25. Wie kann ich die Werte dieser Zellen vertauschen?

Vielen Dank bereits im voraus.

Mfg. Hans Jürgen

nach oben   nach unten

Re: Vertauschen der Werte zweier markierter Zellen
von: Andreas
Geschrieben am: 10.07.2002 - 12:41:16

Hallo Hans Jürgen,

das hier sollte weiterhelfen:
https://www.herber.de/mailing/008998h.htm

Viel Spaß,
Andreas

nach oben   nach unten

Re: Vertauschen der Werte zweier markierter Zellen
von: Heinz A. Wankmüller
Geschrieben am: 10.07.2002 - 15:59:22

Hallo Hans Jürgen,

hier eine Lösung, die auch das Tauschen zwischen zwei verschiedenen Tabellen zulässt:


Private Sub CommandButton1_Click()
Dim rgEins As Range, rgZwei As Range
Dim As Long
Dim strFormula As String

  On Error GoTo Tausch_Error

  Set rgEins = Range(Me.RefEdit1.Value)
  Set rgZwei = Range(Me.RefEdit2.Value)

  If rgEins.Cells.Count <> rgZwei.Cells.Count Then
    MsgBox "Die Bereiche müssen gleich groß sein!"
    Exit Sub
  Else
    For i = 1 To rgEins.Cells.Count
      strFormula = rgEins.Cells(i).Formula
      rgEins.Cells(i).Formula = rgZwei.Cells(i).Formula
      rgZwei.Cells(i).Formula = strFormula
    Next i
  End If

Tausch_End:
  Exit Sub

Tausch_Error:
  MsgBox "Fehler! - Womöglich wollten Sie nicht " & _
  "zusammenhängende Bereiche tauschen."
  Resume Tausch_End
End Sub

Gruß
Heinz

nach oben   nach unten

Re: Vertauschen der Werte zweier markierter Zellen
von: Hans Jürgen
Geschrieben am: 10.07.2002 - 19:15:20

Hallo Heinz,

vielen Dank für die schnelle Antwort. Ich habe die Funktion gleich mit Excel ausprobiert und erhalte dabei folgende Fehlermeldung:
Fehler beim Kompilieren, unzulässige Verwendung des Schlüsselworts Me.
Es wird die Zeichenfolge Me im Eintrag
Set rgEins = Range(Me.RefEdit1.Value)
markiert.

nach oben   nach unten

Re: Vertauschen der Werte zweier markierter Zellen
von: Hans Jürgen
Geschrieben am: 10.07.2002 - 19:25:03

Hallo Andreas,

vielen Dank für deine schnelle Antwort. Ich habe natürlich das Makro gleich ausprobiert und dabei festgestellt, dass dies immer noch nicht die Lösung meines Problems ist. Wenn ich z. B. die Daten der beiden Zellen A5 und A26 tauschen möchte und mit gehaltener STRG-Taste markiere, dann tauscht es mir die Werte der Zellen A5 und A6. Wenn ich allerdings zwei angrenzende Zellen markiere (A1 und A2 oder A1 und B1)werden die Daten richtig getauscht. Vielleicht gibt es ja noch eine andere Möglichkeit?

Vielen Dank

Mfg. Hans Jürgen


nach oben   nach unten

Re: Vertauschen der Werte zweier markierter Zellen
von: WernerB.
Geschrieben am: 10.07.2002 - 20:26:47

Hallo Hans Jürgen,

das nachstehende Makro sollte Deine Wünsche erfüllen.
Zuerst die beiden Zellen markieren, dann dieses Makro starten:


Option Explicit
Sub Wertetausch()
Dim As Range
Dim w1 As Variant, w2 As Variant
Dim As Long, a As Long
    For Each c In Selection
      a = a + 1
    Next c
    If a <> 2 Then
      MsgBox "Die Anzahl der markierten Zellen ist nicht zwei !" & Chr(10) & _
        "Das Makro wird abgebrochen !", , _
        "Dezenter Hinweis für " & Application.UserName & ":"
      Exit Sub
    End If
    a = 0
    For Each c In Selection
      a = a + 1
      If a = 1 Then w1 = c.Value
      If a = 2 Then w2 = c.Value
    Next c
    a = 0
    For Each c In Selection
      a = a + 1
      If a = 1 Then c.Value = w2
      If a = 2 Then c.Value = w1
    Next c
End Sub

Viel Erfolg wünscht
WernerB.
nach oben   nach unten

Re: Vertauschen der Werte zweier markierter Zellen
von: Hans Jürgen
Geschrieben am: 11.07.2002 - 17:40:58

Hallo WernerB.,
vielen Dank für Deine Hilfe. Dein Makro ist Spitze!!
Genau das habe ich gesucht!!

Mfg. Hans Jürgen


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Vertauschen der Werte zweier markierter Zellen"