Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen

Zellen
08.02.2005 07:37:25
Mike
Hi!
Folgende Frage:
Gibt es die Möglichkeit einen Zellbereich mit seinem Inhalt zu verschieben und das per Funktion?

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
sischer dät
reesi
AW: sischer dät
08.02.2005 08:13:30
Mike
Wie heißt diese Funktion dann? Habe folgendes Problem: möchte einfach in einer verschachtelten WENN Funktion einen Bereich verschieben lassen, wenn das Argument in der Wenn funktion zu trifft. HELP!
BEREICH.VERSCHIEBEN() o.T.
08.02.2005 08:52:00
Heinz
..
AW: BEREICH.VERSCHIEBEN() o.T.
08.02.2005 09:02:09
Mike
Die Funktion BEREICH.VERSCHIEBEN verschiebt weder Zellen, noch ändert sie die Markierung (Auswahl); sie liefert nur einen gegenüber dem Ausgangsbezug versetzten Bezug, der in Berechnungen verwendet werden kann. Selbständig als Formel findet sie daher keine Verwendung.
Danke für eure Antworten aber es muss eine andere Möglichkeit geben! Mit Bereich.verschieben kann man auf jeden fall nichts verschieben! Any other ideas?
Anzeige
AW: BEREICH.VERSCHIEBEN() o.T.
08.02.2005 09:26:37
Heinz
Hallo Mike,
vielleicht solltest du dich etwas genauer ausdrücken was du eigentlich willst.
Hajo schreibt immer von der nicht vorhandenen Glaskugel ;-)
Gruß
Heinz
AW: BEREICH.VERSCHIEBEN() o.T.
08.02.2005 11:41:53
Mike
Hallo Heinz!
Ich möchte das wenn sich der Wert oder das Wort in spalte A ändert (von der einen auf die nächste Zeile), dass sich der ganze nachfolgende Zellbereich um 2 Zeilen nach unten verschiebt (samt Inhalt natürlich). Dies möchte ich mit einer verschachtelten Wenn Funktion lösen, wobei dann natürlich diese "Verschiebefunktion" noch von mir erstellt werden muss. Aber da ich keine Ahnung von VBA habe, kann ich das ohne euer Hilfe nicht lösen!
Hoffe das ich mich verständlich ausgedrückt habe! Danke im Voraus!
Anzeige
AW: BEREICH.VERSCHIEBEN() o.T.
08.02.2005 14:31:10
Heinz
Hallo Mike,
das lässt sich m.E. ohne VBA nicht realisieren.
Ein Ereignismakro, das auf die Eintragungen der Spalte A reagiert, kann dann darunter - unter dem neuen Eintrag, der sich von dem darüberliegenden unterscheidet - zwei Zeilen einfügen:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Application.EnableEvents = False
If Target.Value <> Target.Offset(-1, 0).Value Then _
Range(Target.Offset(1, 0), Target.Offset(2, 0)).EntireRow.Insert
Application.EnableEvents = True
End Sub

Diesen Code gehört in das Klassenmodul der Tabelle, in der das Ganze passieren soll. Dahin kommst du wenn du das Register der Tabelle mit der rechten Maustaste anklickst und Code anzeigen wählst.
Gruß Heinz
Anzeige
AW: BEREICH.VERSCHIEBEN() o.T.
08.02.2005 14:35:40
Mike
Danke Heinz!!
Werde das erst mal ausprobieren! Aber bin zuversichtlich das das klappt! THX!
AW: BEREICH.VERSCHIEBEN() o.T.
08.02.2005 14:54:00
Mike
Hallo Heinz!
Hab das grad ausprobiert, aber wenn ich Daten der Art FZ GELSENK in A1 und NORDFROST in A2 habe, bekomme ich die fehlermeldung Laufzeitfehler 13 Typen unverträglich! Liegt das daran weil ich Zeichen anstatt Zahlen verwende?
Laufzeitfehler
08.02.2005 15:06:45
Mike
@Heinz
Hab auch mal alle Daten aus dem tabellenblatt entfernt! und dann zahlen in die Spalte A eingefügt: 1,2,3,4,5,6, usw. jeweils in die zellen untereinander. dann bekomme ich einen anderen fehler namens:Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler. Eigentlich sollte er ja nach der 1 zwei Leerzeilen einfügen nach der 2 zwei Leerzeilen usw.
Was könnte das sein? Bitte um deine Hilfe
Anzeige
AW: Laufzeitfehler
09.02.2005 06:45:08
Heinz
Hallo Mike,
entschuldige bitte, dass ich mich erst heute wieder melde, gestern war ich dann nicht mehr am PC.
So, das Makro funktioniert folgendermaßen:
immer wenn, du in die Spalte A einen Wert einträgst, egal ob Zahl oder Text, wird überprüft, ob davor ein vom neuen Eintrag verschiedener Wert steht. Wenn ja, werden nach der nunmehr aktiven Zelle, in der der Eintrag erfolgt ist, zwei Zeilen eingefügt.
Nun hängt es davon ab, wie du deine Daten einträgst. Wenn du z.B. mehrere Werte auf einmal in die Spalte A kopierst, funktioniert das Ganze nicht. Daher müsste man dann wissen, wie der Ablauf der Dateneintragung in deinem Falle ist.
Also trägst du die Daten Zelle für Zelle ein? Was soll in weiterer Folge in den nun leeren Zellen passieren?
Gruß
Heinz
Anzeige
AW: Laufzeitfehler
09.02.2005 07:11:25
Mike
Hallo Heinz!
Sorry aber bei mir war gestern die Hölle los, deswegen melde ich mich erst heute.
Folgendes: Ich trage die Daten nicht Zelle für Zelle ein, die Daten werden nachher durch kopieren eingefügt. In den leeren zellen soll später in der ersten leeren Zellen eine Summe aus den davor stehenden Zellen gebildet werden (also hoch bis zur nächsten leeren Zelle). Diese sollen in den spalten d,e und f gebildet werden. Aber ich denke das kriege ich auch anders hin, als mit VBA. Wäre halt schön wenn das mit dem einfügen der Leerzeilen klappen würde, wenn ich die Daten in die spalte a kopiere. Hoffe du verstehst mein Problem.
Gruß Mike
Anzeige
AW: Laufzeitfehler
09.02.2005 10:12:30
Heinz
Hallo Mike,
hier ein Makro, das du nach dem Kopieren der Daten selbst starten musst, um eben bei jedem Textunterschied zwei Zeilen einzufügen.
In der Zeile For i = lz To 3 Step -1 steht die 3 für die erste Zeile nach dem ersten Eintrag, d.h. wenn deine Daten z.B. erst in der Zeile 10 beginnen, ersetze die 3 durch 11.

Sub ZeilenEinfügen()
Dim lz&, ez&, i&
lz = Cells(Rows.Count, 1).End(xlUp).Row
For i = lz To 3 Step -1
If Cells(i, 1).Value <> Cells(i - 1, 1).Value Then
Range(Cells(i, 1), Cells(i + 1, 1)).EntireRow.Insert
End If
Next i
End Sub

Gruß
Heinz
Anzeige
AW: Laufzeitfehler
09.02.2005 10:14:37
Mike
@Heinz
Vielen Dank für deine Bemühungen! Werde das mal ausprobieren!
Gruß
Mike
AW: Laufzeitfehler
09.02.2005 10:54:47
Mike
@Heinz
ES KLAPPT! DAS IST GENAU DAS WAS ICH WOLLTE!
TAUSEND DANK!
Gruß
Mike
Freut mich! o.T.
09.02.2005 15:06:28
Heinz
..

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige