Mal etwas grundsätzliches: das ist hier kostenlose Hilfe. Hilfe für Dich. Kostenlos heißt: man darf schon einmal etwas warten - insbesondere am Wochenende. Dein "Schade" ist ein Jammern - sorry, aber so ist es. Wenn dir das alles nicht schnell genug geht, beauftrage jemanden damit.
Hallo ralf, das ist genau das was ich wollte, hätte es vielleicht besser beschreiben sollen Drei Fragen habe ich allerdings noch. Warum kopiert Excel das erste mal, eine Leerzeile mehr, ist jetzt nicht schlimm, liegt es daran, das die oberen 5 Zeilen Gruppiert sind?
Zweitens, wie würde ich noch die Zeilen von "H9" bis "S9" mit reinbekommen?
Und drittens, wenn ich die Formel: =SVERWEIS($F$11;Artikel!$C$4:$D$15;2;0)*Tabelle4[@Spalte3] eingebe wird mir ein Fehler ausgegeben: #WERT! was auf die Spalte 3 zurückzuführen ist. Wie ist es möglich, *Anzahl (E9) zu berechnen?
currentregion erfasst den abgegrenzten Bereich um B9 ohne Leerzeile . d.h. Es muß rundherum eine Zelle frei sein um den Bereich von VBA erkennen zu lassen. So habe ich die Vorgabe verstanden. Also auch nach unten eine freie Zeile. .Copy ist selbsterklärend Cells(.Parent.Rows.Count, 2).End(xlUp) .Parent holt sich das übergeordnete Objekt(das Arbeitsblatt) und von dort aus die letzte belegte Zeile aus Spalte 2 Offset(2) geht 2 Zeilen tiefer und bildet den Einfügepunkt inclusive eine freie Zeile. Kanst du gerne anpassen.
du hast F11 in der Verweisformel auch fixiert. Warum?
Zitat:Zweitens, wie würde ich noch die Zeilen von "H9" bis "S9" mit reinbekommen?
siehe currentregion, also du mußt die Zellen einfach nur füllen
Tabelle4[@Spalte3] soll bitte was sein? Es gibt keine Intelligente Tabelle mit Namen Tabelle4 in der Datei.
leider beschäftigst du dich anscheinend nicht mit den Formel oder Inhalten der Makros. Nur übernehmen hilft eben nicht immer weiter. =SVERWEIS($F9;Artikel!$C$2:$D$13;2;0)*E9
Das $-Zeichen hat eine bestimmte Bedeutung (nachschlagen). Wenn du das $-Zeichen vor der Zeile lässt bleibt der Bezug immer zu der Zelle F9. Das willst du aber nicht, weil da ja immer wieder andere Werte stehen können/werden.
Wenn die Anzahl mit denen du die Werte aus der Spalte G multiplizieren möchtest, nicht in der Zelle E9 stehen, musst du schon die richtige Bezeichnung für die Multiplikation der zu suchenden Zelle eingeben, aber das hat dir ja ralf schon geschrieben.
Sich mit den Hilfen zu beschäftigen, ist auch wieder Hilfe zur Selbsthilfe - und nur so lernt man etwas. Und - es kann genauso viel Spaß machen wie das eigentliche Spielen.
Hallo Leute, ich komme erst jetzt dazu, Euch erstmal Danke zu sagen!!! Ich habe doch so einiges gelernt, wie man solche Datei richtig erstellt, zumindest sollte man, sowas mal skizieren wie man sich etwas vorstellt und am Ende aussehen/ funktionieren soll. Habe während der Zeit in meiner Tabelle, sehr viele Fehler gefunden (ich will dies das und jenes) und am Ende bemerkt das vieles von mir falsch oder unzureichend erklärt/ beschrieben wurde.
Hallo Leute, ich greife das Thema noch mal auf, weil ich einen Fehler bei der Erklärung geliefert habe.
Wenn ich den Button betätige, werden die Zeilen wie gewollt kopiert und eingefügt alles ok, allerdings habe ich nicht bedacht, dass ich die verschiedenen Daten gruppiere, jetzt muss ich bei dem letzten Datum die Gruppierung öffnen, damit die zu kopierenden Zellen eingefügt werden können.
Ist es änderbar, dass ich das letzte Datum/ Gruppierung nicht öffnen muss? Und ist es möglich, dass die aktive Zelle nicht "B8" sondern die erste Zelle der neu eingefügten Zellen z.B. "B29" mit tagesaktuellen Datum sein wird? Danke Gruß Phoeni
Na sind wir jetzt in der Sonderwunschecke angekommen.
Code:
Sub tabcopy() Dim rng As Range With Range("B9").CurrentRegion .Parent.Outline.ShowLevels RowLevels:=2 Set rng = Cells(.Parent.Rows.Count, 2).End(xlUp).Offset(2) .Copy rng rng.Select .Parent.Outline.ShowLevels 1 With rng.CurrentRegion .EntireRow.Offset(1).Resize(.Rows.Count - 1).Rows.Group End With End With Set rng = Nothing End Sub