Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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
Inhaltsverzeichnis

Zeile zwischen zwei Tabellen dynamisch einfügen

Zeile zwischen zwei Tabellen dynamisch einfügen
Momo
Hallo ihr Lieben,
ich sitze über einer Anforderung, zu der mir niemand im Büro helfen kann. Da unsere Leute Excel-Experten sind und mir leider nicht helfen konnten, wende ich mich nun an die Excel-Gurus.
Ich habe folgende Situation. Wir haben eine Arbeitsmappe.
In dieser Arbeitsmappe befinden sich zwei Tabellen untereinander. Zwischen diesen beiden Tabellen gibt es eine leere Zeile. In meinem Fall Zeile 23.
Das bedeutet egal was passiert - es gibt immer zwei Tabellen die immer durch eine leere Zeile getrennt werden.
Mein Problem ist nun folgendes. Die Exceldatei mit den Tabellen wird durch ein Programm generiert. Innerhalb dieses Programms kann man anscheinend aktiv als Benutzer navigieren und die obere Tabelle erweitern/verkürzen. Die Befehle die das machen kann ich nicht beeinflussen. Durch die Erweiterung werden immer Zeilen in die erste Tabelle eingefügt. Es können auch Zeilen gelöscht werden.
Wenn die obere Tabelle nun automatisch erweitert wird in den Zeilen, dann fängt sie irgendwann an die zweite Tabelle zu überschreiben (das bedeutet die erste tabelle wird länger und schreibt in die zweite rein) . Kann man per Makro sicherstellen, dass immer zwischen den Tabellen eine Leere Zeile existiert, so dass sie sich nicht überschreiben? Es gibt vielleicht etwas was einem helfen kann. Die zweite Tabelle fängt immer mit einer Zelle an in der "Tabelle" steht.
Ich habe mal ein kleines einfaches Beispiel hier hochgeladen:
https://www.herber.de/bbs/user/72681.xlsx
Würde mich über jeden Tipp freuen.
Gruß,
Momo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
ein Programm?, was für ein Programm?
14.12.2010 13:38:26
Renee
Hi Momo (Hans Dödelmann?),
Die Exceldatei mit den Tabellen wird durch ein Programm generiert. Die Befehle die das machen kann ich nicht beeinflussen. 

Nun, dann muss dieses ominöse Programm dafür sorgen, die Zellen der unteren 'Tabelle' nicht zu überschreiben. Das scheint irgendein SAP-Geschwurbel (BExAnalyzer.xla) und wenn du den nicht beeinflussen kannst, dann bleiben die Möglichkeiten:
- die 2 Tabellen auf 2 Blätter zu verteilen
- die Tabelle2 irgendwo auf die Zeile 500'000 zu verlegen (also etwas mehr als eine Leerzeile ;-)
GreetZ Renée
Anzeige
AW: ein Programm?, was für ein Programm?
14.12.2010 15:29:37
Momo
Hallo Renée,
ja Du hattest Recht. Das ist son SAPP oder so Programm. Wir haben das neu bekommen und nun sollen wir die Auszüge aus dem Programm weiterverarbeiten. Das Problem ist das unser Chef die Tabellen untereinander drucken möchte. Keine Ahnung ob das Excel mit zwei Arbeitsblättern macht?
Gruß,
Momo
Drucken auf 1 Blatt!
14.12.2010 15:44:05
Renee
Hallo Momo,
Mach deinem Chef klar, das es einfacher ist, die Datei so zu gestalten, dass die beiden Tabellen in 2 eigenen Blättern sind.
Wenn Du jetzt diese mit Shift-Klick anwählst und druckst, wählst du beim Drucken in den Eigenschaften des Druckers, 2 Seiten pro Blatt und schon hast es du einfacher und dein Chef, trotzdem was er will ;-)
GreetZ Renée
Anzeige
Schönen Gruß an deine XLperten, sie haben...
14.12.2010 13:39:06
Luc:-?
…eine miese Organisationsform gewählt, Momo… ;-)
Warum nicht besser ein anderes Blatt für Tab2 — da gäb's dann das Problem gar nicht!
Gruß Luc :-?
Leerzeile benennen, Event-Makro
14.12.2010 13:59:17
NoNet
Hallo Momo,
die Funktionalität des "SAP BEXAnalyzer" kannst Du nicht ändern bzw. beeinflussen, daher käme allenfalls imn Betracht, per Ereignis-Makro auf Inhalte in der "Leerzeile" zu überprüfen.
Markiere zunächst also die Zelle A10 und vergibd dafür im Namenfeld (oberhalb Zelle A1, alternativ per Namens-Manager : Strg+F3) den Namen "Leerzeile".
Kopiere dann folgenden Code in das Klassenmodul des Tabellenblattes (Rechtsklick auf den Namen des Blattes im Blattregister unten, "Code anzeigen....") :
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountA([Leerzeile].EntireRow) > 0 Then
Application.EnableEvents = False
[Leerzeile].EntireRow.Insert
[Leerzeile].EntireRow.Copy
[Leerzeile].Offset(-1).PasteSpecial xlFormulas
[Leerzeile].EntireRow.ClearContents
Application.CutCopyMode = False
Application.EnableEvents = True
End If
End Sub
Speichere dann die Datei als Dateityp *.XLSM (Excel 2007 Mappe mit aktivierten Makros).
Natürlich müssen die Makros nach dem Öffnen jedes mal aktiviert sein, damit dieser Mechanismus greift - evtl. muss man die Mappe zertifizieren oder an eine "Vertrauenswürdigen Speicherort" speichern !!
Gruß, NoNet
Anzeige
AW: Leerzeile benennen, Event-Makro
14.12.2010 15:37:19
Momo
Hallo NoNet,
ich habe gerade mal in Excel rumgespielt.
Mir ist aufgefallen, dass die beiden Tabellen schon witziger Weise einen Namen bekommen haben.
Die erste hat den Namen "DF_GRID_1" und die andere den Namen "DF_GRID_2". Jetzt wo Du das Namensfeld angesprochen hast, ist es mir auch gerade aufgefallen. Das ist interessant. Ich probier das mal aus.
Gruß,
Momo

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige