Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellinhalt mit Nachbarzelle tauschen
#1
Hallo,

möchte ich die Inhalte zweier Spalten z.B.  der Spalten  B und C vertauschen kann ich dies folgendermaßen erledigen:


Code:
Columns("B:B").Cut: Columns("D:D").Insert xlToRight


Statt ganze Spalten zu tauschen, möchte ich jetzt so etwas für nur eine Zelle aus der Spalte B mit ihrer Nachbarzelle aus der Spalte C machen.

Bisher habe ich nur so etwas (Tausch der Zelle B3 mit C3):

Selection.Cut
Range("D3").Select
Selection.Insert Shift:=xlToRight

Wie kann ich den Code vereinfachen und verallgemeinern, dass alles in einer Codezeile steht?
Antworten Top
#2
Hallo,

von der Idee her 2 temp Var bilden
ur_b= Cells(i,2) bzw. ur_c= Cells(i,3)
Cells(i,2=ur_c) bzw. Cells(i,3=ur_b)
Das ganze kannst du in eine Schleife packen vor i = 1 to zeile_end und diese noch verschachteln for j=2 to 3
Viel Erfolg!
Andreas
[-] Folgende(r) 1 Nutzer sagt Danke an Schachspieler für diesen Beitrag:
  • Eisbär
Antworten Top
#3
Habe mich wohl etwas im Kreis gedreht.

Ich glaub das ist der kürzeste Weg einen Zellinhalt aus der Spalte B mit seiner Nachbarzelle aus der Spalte C zu tauschen:

Code:
Range("B" & ActiveCell.Row).Cut: Range("B" & ActiveCell.Row).Offset(0, 2).Insert Shift:=xlToRight


Falls es jemand kürzer hinbekommt: Bitte posten!
Antworten Top
#4
Halöchen,

nicht viel, aber
Code:
With Range("B" & ActiveCell.Row): .Cut: .Offset(0, 2).Insert Shift:=xlToRight: End With
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste