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

Spalte fortführen

Spalte fortführen
08.12.2003 14:28:19
René
Hallo zusammen!

Ich habe eine kurze Frage. Ich habe vier Spalten, in die ich mit der Funktion "Einfügen" -> "kopierte Zellen einfügen" regelmäßig Zellen einfüge.

Ich mache dies auf diesem Weg, da der Zellbereich in Formeln auf anderen Blättern automatisch übernommen wird! In Spalte 5 jedoch habe ich über eine Formel eine Plausibilätskontrolle der Eingaben in den ersten vier Spalten eingebaut!

Dies sollte möglichst beim Einfügen auch mit übernommen werden, damit auch die neu eingefügten Zellinhalte kontrolliert werden. Wie mache ich das??? Ich stehe leider auf dem Schlauch.

Danke für Eure Hilfe,
Gruß
René

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte fortführen
08.12.2003 14:52:07
NEWBE
Wie sieht die Plausibiltätskontrolle denn aus ??
AW: Spalte fortführen
08.12.2003 15:00:58
René
Die sieht so aus, daß in der ersten Spalte Artikel eingefügt werden und in den nächsten drei Spalten Umsätze. Diese werden auf anderen Blättern jahresspezifisch addiert. Die Kontrolle kontrolliert, ob die Teile, die importiert werden auf den anderen Blättern hinterlegt sind, so daß es ausgeschlossen ist, daß Umsätze unberücksichtigt bleiben! Sie gibt einfach den Hinweis "ACHTUNG TEIL NICHT ANGELEGT AUS!!"
AW: Spalte fortführen
08.12.2003 14:58:41
IngoG
Hallo Rene,
es gibt mind. 2 möglichkeiten:

1. Du fügst immer eine ganze zeile ein und kopierst aus spalte 5 die formel in die leere Zelle (evt auch über macro)

2. Du änderst deine Formel in folgender Form: anstatt =wenn(a1="";"";"Bsp")
schreibst Du: =wenn(indirekt("a"&zeile())"";"";"Bsp")
Du mußt allerdings darauf achten, unten genügend formeln in Spalte 5 stehen zu haben, da diese nicht mit nach unten wandern.

Gruß Ingo
Anzeige
AW: Spalte fortführen
08.12.2003 15:09:11
René
Ok, mit dem Ausfüllen der Zellen nach unten habe ich auch schon gearbeitet. Allerdings werden sehr viele Daten erfasst werden (ca. 1000), so daß die Performance und Schnelligkeit der Tabelle unwahrscheinlich leidet. Für das Einfügen braucht er dann Minuten! Und das manuelle nach unten ausfüllen gerät leider leicht in Vergessenheit, besonders weil ich nicht als einziger an dieser Tabelle arbeiten werde. Ich dachte, es gäbe eine Möglichkeit, daß irgendwie automatisch die Formel nach unten mit übernommen wird!!?? Aber trotzdem herzlichen Dank für Deine Hilfe!
René
Nachfragen
08.12.2003 16:02:26
Martin Beck
Hallo Rene,

1. Wäre auch eine Lösung mit VBA möglich/zulässig?

Wenn ja:

2. Welches ist der Bereich, in den Du kopierst? Spalte A:D von Zeile 1 bis Zeile n, wobei n variabel ist?

3. Überschreibst Du dabei vorher vorhandene Einträge? Oder werden die neuen DAten unten angefügt?

Gruß
Martin Beck
Anzeige
AW: Nachfragen
08.12.2003 17:55:46
René
Hi Martin!

Also zur Frage 1: Ich bin ein von Natur aus ehrlicher Mensch und ich muss Dir sagen, obwohl es mir unangenehm ist, ich habe keine Ahnung was VBA überhaupt ist! :-( Deshalb wird sich das wohl als eher schwierig erweisen! Denkbar wäre es aber!

Frage 2: So ist es!

Frage 3: Es wird überschrieben, wobei bei jedem überschreiben aber mehr Daten hinzu kommen!!

Vielen Dank,
René
Lösung mit VBA
09.12.2003 13:59:57
Martin Beck
Hallo René,

1. VBA = Visual Basic for Applications, d.h. vereinfacht die Makrosprache von Excel.

2. Nachfolgend eine Lösung Deines Problems in VBA. Dabei habe ich mal angenommen, daß

a) Deine Tabelle "Archiv" heißt. Diesen Ausdruck mußt Du durch den richtigen Tabellennamen ersetzen.

b) Die Plausibilitätskontrolle bereits in Zelle E1 beginnt, d.h. daß in E1 bereits eine Formel steht, die nach unten kopiert werden kann. Steht die Formel weiter unten, bitte nochmal mitteilen, wo genau.

Hier jetzt der Code:


Private Sub Worksheet_Calculate()
Dim ws As Worksheet
Set ws = Worksheets("Archiv")
z = ws.Range("A65536").End(xlUp).Row
ws.Range("E1").Copy Destination:=ws.Range(Cells(1, 5), Cells(z, 5))
End Sub


Diesen Code kopierst Du. Dann Klick mit der rechten Maustaste auf das Register der betreffenden Tabelle. Option "Code anzeigen" anklicken. Excel wechselt jetzt in die sog. Entwicklungsumgebung. Der Cursor blinkt in einem großen weißen Feld, in dem irgendwelches kryptisches Zeug steht. Dieses bitte löschen und dann den obigen Code einfügen. Die Anpassung des Tabellennamens im Code vornehmen. Zu Excel wechseln und in den Bereich A:D etwas hineinkopieren.

Wenn's nicht funktioniert, noch einmal melden.

Gruß
Martin Beck
Anzeige
AW: Lösung mit VBA
09.12.2003 16:36:35
René
Hallo Martin!

Das ist echt super nett von Dir. Danke sehr. Ich werde es morgen sofort ausprobieren, ob es geklappt hat. Die Formel steht in der Zelle J4, ich habe nur aus Vereinfachungsgründen A bis D gesagt. Außerdem sind die ersten 3 Zeilen mit Überschriften belegt. Aber ich denke, dann muss ich doch einfach das "E1" durch "J4" ersetzen, oder? Nochmals vielen Dank!

Gruß René

P.S.: Wie lernt man eigentlich diese VBA-Sprache?
AW: Lösung mit VBA
09.12.2003 17:34:01
Martin Beck
Hallo René,

wenn ich den Tabellenaufbau jetzt richtig verstanden habe, mußt Du die Zeile

ws.Range("E1").Copy Destination:=ws.Range(Cells(1, 5), Cells(z, 5))

durch

ws.Range("J4").Copy Destination:=ws.Range(Cells(4, 10), Cells(z, 10))

ersetzen.

Zum Thema VBA erlernen:

1. Makrorekorder verwenden.
2. Hier mitlesen und Fragen stellen.
3. Ein VBA-Buch kaufen und durcharbeiten.

Gruß
Martin Beck
Anzeige
AW: Lösung mit VBA
10.12.2003 19:23:00
René
Hi Martin!

Das ist echt ne tolle Sache. Ich bin überwältigt. Also, ich glaube es wird Zeit, daß ich mich mal um dieses VBA kümmere, wenn ich weiter so aufwändige Tabellen erstellen wird.
Vielen herzlichen Dank für Deine Mithilfe. Die Tabelle arbeitet so wie ich es will. Schönen Abend noch,
Gruß René

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige