Excel automatisch Zahlen ändern lassen, wie geht das?

3 Antworten

ich nehme an, dass in jeder Zeile andere Werte stehen, die Du jeweils vertauschen willst?

Direkt ist das nur mit einem Ereignismakro möglich (zB worksheet_selectionChange(), das kann man so gestalten, dass nur, wenn die zwei benachbarten Zellen des Zielgebiets markiert sind, das in Aktion tritt: also Bedingung Selection.Cells.Count = 2 usw.)

Das erfordert aber den Dateityp .xls (alt) oder .xlsm.  Solche Makros führen aber zu nervigen Warnungen, ausserdem kann es sein, dass du bei zweimaliger Auslösung den Ganzen Vorgang nochmal (in diesem Falle also Rücktausch) abwickelst. (man müsste, um das nachzuvollziehen, die Zelle wechselnd färben (automatisch) oder durch die Farbänderung das Makro blockieren

Wenn Du das willst, melde dich nochmal (in dieser AW, sonst krieg ich das nicht gemeldet).

Ansonsten schlage ich Dir dreierlei vor:

  1. einfach die Spalten versetzen (am Spaltenkopf markieren, Umrandung mit der Maus fassen, nach vorne -oder hinten- schieben (Kontextmenü: Ausschneiden und nach ... verschieben). Das geht nicht, wenn sich Formeln drauf beziehen, weil die Bezüge mitwandern.
  2. Spalte kopieren, in eine Leerspalte einfügen. Andere Spalte kopieren, in die Erste einfügen. Ausgelagerte erste Spalte in die zweite einkopieren, Zwischenspalte löschen - fertig. Geht nicht, wenn die Werte durch Formeln generiert sind.
  3. die Einträge selbst zu belassen, aber die Auswerteformeln der Zahlen ändern. Da kann ich jedoch aus der Entfernung nicht beurteilen, wie das bei Dir strukturiert ist.

Irgendwas geht da immer, aber dazu müsste man ganz genau wissen, was los ist und worauf es ankommt!

Keine Ahnung, welche Lösung Du hier erwartest. Was genau ist die unterschiedliche SPALTE zwischen B1 und B2?

Abgesehen von dieser anfänglichen Nebelbombe: Steht in den Spalten 200x untereinander immer die gleiche Zahl oder was genau soll hier ausgetauscht werden, was nicht einfach mit copy/paste und Spalte einfügen erledigt werden kann?

Hi, ja das geht (schneller als ich es hier erklären kann). Da du jeweils die Zahlen gegeneinander austauschen willst kannst du diese nicht einfach ersetzen, also nicht in einem Schritt. Schreibe in C2 folgende Formel:

=wenn(B1=8300;8301;8300)

dann Enter und die Formel automatisch nach unten ausfüllen lassen indem du bei der Zelle mit der Formel unten rechts auf das kleine schwarze Kreuz doppelklickst.