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.

Tabelle an Tabelle ankern
#1
Guten Tag liebe Excelgötter,

ich möchte das erste mal eine etwas kompliziertere Excel-Datei erstellen. Dies klappt auch sehr gut, nur an einer Stelle hänge ich fest.

Ich habe in meinem Druckbereich eine Tabelle über =Filter(Choose(Xlookup()) eingefügt, welche je nach getroffener Auswahl mal länger und mal kürzer ist. Diese funktioniert auch tatsächlich genau so wie Sie soll.
Ich möchte nun direkt unter besagte Tabelle eine weitere Tabelle mit etwa gleicher Formel einfügen.
Gibt es eine Möglichkeit den Abstand zwischen den beiden Tabellen automatisch immer gleich zu halten? z.B. erste Tabelle endet A17--> zweite Tabelle startet A20; erste Tabelle endet A5--> zweite Tabelle startet A8.

Wäre hier für jede Hilfe dankbar, da ich bisher alle mir denkbaren Ansätze einer Lösung nicht umsetzten konnte.
Antworten Top
#2
Hallo Aira,

bin jetzt kein Excelgott, aber evtl. kann ich trotzdem helfen.

Dazu poste doch mal eine Beispieldateii und deinen Code.
Das wird auch den wirklichen Göttern dieses Olymps helfen.

Gruß,
Lutz
Antworten Top
#3
Moin!
Ich sehe da keine Möglichkeit!
Durch die dynamischen Formeln ist .SpillingToRange logischerweise variabel.
Um einen #ÜBERLAUF! sicher zu verhindern, wirst Du die Formeln nebeneinander schreiben müssen.
(oder eben die Formeln einmalig per VBA in die Tabelle schreiben, dann kann man (VBA) rechnen)
Macht aber nur Sinn, wenn man das Formelergebnis gleich in den Wert umwandelt.

Gruß Ralf

Die Variante mit VBA juckt mich!  19
Ich bastele mal etwas …
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Funktioniert natürlich ausschließlich in Excel 365!

Modul Modul1
Option Explicit 
 
Sub Spills() 
Const FormulaText$ = "=RANDARRAY(RANDBETWEEN(2,4))" 
Const Abstand& = 3 
Const Durchlauf& = 4 
Dim i&, Start& 
Start = 1 
 
With Tabelle2 
  For i = 1 To Durchlauf 
    With .Cells(Start, 1) 
      .Formula2 = FormulaText 
      With .SpillingToRange 
        Start = Start + 3 + .Rows.Count 
        .Copy: .PasteSpecial xlPasteValues 
      End With 
    End With 
  Next 
End With 
End Sub 



Ergibt:
Arbeitsblatt mit dem Namen 'Tabelle2'
A
10,68959296
20,27481002
3
4
5
60,31025713
70,84983332
8
9
10
110,65094119
120,62943839
130,00337692
140,85087692
15
16
17
180,76276768
190,70960756
200,75503278
210,84801511
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hi,
bitte entschuldige die späte Antwort.

Anbei eine Beispieldatei.

Lieber RPP63,

leider weiß ich rein gar nichts über VBA, ist es möglich das VBA auf meine Excel Beispieldatei zurecht zu schneidern?

Aber schon einmal vielen Dank.


Angehängte Dateien
.xlsx   New Microsoft Excel Worksheet.xlsx (Größe: 12,24 KB / Downloads: 5)
Antworten Top
#6
Moin!
Ich bleibe bei meinen Antworten #3 und #4
Entweder nebeneinander,
oder Neuschreiben per VBA.

Dies kann man zwar ins Worksheet_Calculate() auslagern, könnte aber je nach Größe die Datei ganz schön ausbremsen.
(heißt: bei Neuberechnung Spalte zunächst löschen und die Spill-Arrays neu schreiben)

Eindeutig besser ist aber imo das Nebeneinander.

Gruß Ralf

(29.03.2021, 08:18)Aira schrieb: leider weiß ich rein gar nichts über VBA, ist es möglich das VBA auf meine Excel Beispieldatei zurecht zu schneidern?

Das wäre zwar möglich, würde Dir aber im produktiven Betrieb überhaupt nichts bringen, da Du
  • es nicht auf Deine tatsächlichen Belange anpassen könntest
  • bei Problemen im laufenden Betrieb hilflos wärst
Verstehe mich nicht falsch, aber ein Forum dient nicht dazu, Komplettlösungen für Produktivdateien zu leisten.
Dies alleine schon aus Haftungsgründen.

Schließlich wirst Du kaum Deinem Chef sagen können, wenn die Datei unbrauchbar ist:
"Das hat aber der Ralf im CEF genau so geschrieben!"
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Hallo Ralf,
da muss ich mich wohl Entschuldigen.
Du hast definitiv recht, die Lösung war nur auf einmal zu einfach greifbar.

Ich werde mal zusehen das ich an einer Excel-Schulung teilnehmen werde.

Trotzdem Danke und frohe Ostern.
Antworten Top
#8
Du brauchst Dich nicht entschuldigen.
Ich wollte "nur" auf die Folgen hinweisen.

Eine Schulung ist immer gut.
Aber ich freue mich jetzt schon auf das Gesicht des Dozenten, wenn Du ihn auf Spill-Formeln ansprichst und wissen willst, was dieser Code-Snippet bedeutet:
If Zelle.HasSpill Then Zelle.SpillParent.SpillingToRange.Delete
Huh

Auch Dir frohe Ostern!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Hallo, 19

man könnte auch einfach die Formeln per VBA schreiben und über einen Ereigniscode darauf reagieren. Dann können die Tabellen mehr oder weniger Zeilen haben - der Abstand bleibt der gleiche. 21
________
Servus
Case
Antworten Top
#10
Ich hatte das ja in #4 skizziert.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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