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

Austausch von Zellinhalten per Makro?

Austausch von Zellinhalten per Makro?
19.06.2003 14:06:01
Karsten J.
Hallo

Ich möchte gerne ein Makro schreiben, womit ich bei zwei Zellen den Zellinhalt austauschen kann.

Nach Start des Makros sollte die erste Auswahlmöglichkeit kommen, die dann bestätigen , dann die zweite Auswahl und wieder bestätigen. Danach sollte er die beiden Zellinhalte austauschen.

Ist das machbar?

MfG

Karsten


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Austausch von Zellinhalten per Makro?
19.06.2003 15:38:46
L.Vira

Ja klar, was sind das für Zellinhalte, Werte, Formeln?

Re: Austausch von Zellinhalten per Makro?
19.06.2003 15:44:16
Karsten J.

Hallo

In der ersten Zelle steht z.B.
=WENN(Besetzung!B5=0;"";Besetzung!B5)
in der zweiten
=WENN(Besetzung!B17=0;"";Besetzung!B17)
oder
=WENN(Besetzung!F8=0;"";Besetzung!F8)

also alle sehr ähnlich, es werden bloß ander Zellen ausgelesen.

Und die sollen dann ausgetauscht werden.

MfG

Karsten


Re: Austausch von Zellinhalten per Makro?
19.06.2003 17:55:40
L.Vira

Option Explicit
Sub tauschen()
Dim R1 As Range, R2 As Range, F1 As String, F2 As String
On Error GoTo ende
Set R1 = Application.InputBox(prompt:="Zelle 1 auswählen...", Type:=8)
F1 = R1.FormulaLocal
Set R2 = Application.InputBox(prompt:="Zelle 2 auswählen...", Type:=8)
F2 = R2.FormulaLocal
If R1 = R2 Then
MsgBox "Unterschiedlich Zellen auswählen!"
Set R1 = Nothing: Set R2 = Nothing
Exit Sub
End If
R1 = F2
R2 = F1
ende:
End Sub

Anzeige
Re: Austausch von Zellinhalten per Makro?
19.06.2003 18:22:17
Karsten J.

Hallo

Das Programm sieht toll aus.

Leider passiert nichts?

Liegt das am sperren oder sowas?

MfG

Karsten

Re: Austausch von Zellinhalten per Makro?
19.06.2003 19:28:17
L.Vira

Wenn das Blatt geschützt ist, gehts natürlich nicht.

Re: Austausch von Zellinhalten per Makro?
19.06.2003 22:07:25
Karsten J.

Hallo

Auch ohne Schutz geht es nicht.

Ich kann beide Felder auswählen, aber nichts passiert.

MfG

Karsten

Re: Austausch von Zellinhalten per Makro?
19.06.2003 22:10:59
L.Vira

Tut mir Leid, hab keinen Plan, worans hapern könnte.

Re: Austausch von Zellinhalten per Makro?
19.06.2003 22:12:06
Karsten J.

Danke für die HILFE

MfG

Karsten

Re: Austausch von Zellinhalten per Makro?
20.06.2003 10:51:49
L.Vira

Du musst die Zellen auswählen, indem du sie anklickst.

Re: Austausch von Zellinhalten per Makro?
20.06.2003 10:54:32
Karsten J.

Das mache ich ja.

Will aber trotzdem nicht.

Suche auch schon warum es nicht geht.

Es muß ja die Formel getauscht werden, sonst würde die Formel ja wieder den aaalten Stand herstellen, richtig oder?

MfG

Karsten

Anzeige
Re: Austausch von Zellinhalten per Makro?
20.06.2003 12:23:23
Karsten J.

Hallo

Jetzt geht e mit diesen Änderungen:

Option Explicit
Sub tauschen()
Dim xyz, wert3, x1, x2
xyz = 0
Dim R1 As Range, R2 As Range, F1 As String, F2 As String
On Error GoTo ende
Set R1 = Application.InputBox(prompt:="Zelle 1 auswählen...", Type:=8)
F1 = R1.FormulaLocal
Set R2 = Application.InputBox(prompt:="Zelle 2 auswählen...", Type:=8)
F2 = R2.FormulaLocal
If F1 = F2 Then
MsgBox "Unterschiedlich Zellen auswählen!"
Set R1 = Nothing: Set R2 = Nothing
Exit Sub
End If
x1 = R1
x2 = R2
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
test1:
xyz = xyz + 1
If xyz = 52 Then GoTo ende
Sheets("Besetzung").Select
Cells(xyz, 2).Select
wert3 = ActiveCell.Value
If R1 <> wert3 Then GoTo test1
If R1 = wert3 Then ActiveCell.FormulaR1C1 = x2

test2:
xyz = xyz + 1
If xyz = 60 Then xyz = 1
Sheets("Besetzung").Select
Cells(xyz, 2).Select
wert3 = ActiveCell.Value
If R2 <> wert3 Then GoTo test2
If R2 = wert3 Then ActiveCell.FormulaR1C1 = x1

ende:

Sheets("Drucken").Select
Range("a1").Select
With Application
.ScreenUpdating = True
.EnableEvents = True

End With

Sheets("Drucken").Select
Range("a1").Select
End Sub

Jetzt ändere ich nicht die Formel, sondern den Wert ind den Unrsprungsfeldern.

MfG

Karsten

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige