25.07.2018, 20:14
also hier meine Beispieldatei!
du musst die Funktion auf deine Tabelle anpassen!
du musst die Funktion auf deine Tabelle anpassen!
automatischer Zellbezug mit VBA in Zelle
|
25.07.2018, 20:14
also hier meine Beispieldatei!
du musst die Funktion auf deine Tabelle anpassen!
25.07.2018, 20:53
Hey!
Das ist cool! Gefällt mir gut. Vielen lieben Dank! :18:
25.07.2018, 21:02
Funktioniert alles wie es soll?
26.07.2018, 09:20
Hey,
ja es funktioniert sehr gut. Danke. Eine Kleinigkeit vielleicht noch. Anstatt Code: Range("C3:R84").Select 'Diesen Bereich musst du anpassen! wäre es schön, wenn er xlLastCell nutzen würde und je nachdem wie viele Einträge vorhanden sind, mir diese einfügt. Mit etwas in Richtung: Code: Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Wie kann ich ihm sagen er soll es so lange runterziehen bis keine Werte mehr übertragen werden? LG
26.07.2018, 14:25
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2018, 14:25 von Frogger1986.)
Das müsste über einen Umweg passieren! Erst müsste gezogen werden, soweit bis auf jedem Fall alle Werte übertragen sind und dann aus den Zeilen in denen keine Werte sind die Formeln gelöscht werden!
Oder Es muss bei jedem Bezugswechsel das Angeknüpfte Blatt geöffnet werden und die letzte Zeile abgefragt werden...
26.07.2018, 15:43
Hallo Jules,
nimm mal diesen Code Code: Sub test() schreib irgendwo was in eine Zelle, klicke A1 an und führe den Code aus. Schreib was woanders hin, und nochmal usw. Zitat:Es muss bei jedem Bezugswechsel das Angeknüpfte Blatt geöffnet werden und die letzte Zeile abgefragt werden...In einer offenen Datei muss man dazu kein Blatt öffnen Es reicht, wenn man sich auf das Blatt bezieht, im Prinzip so: Code: … Sheets("Tabelle2").Range("A1", Sheets("Tabelle2").Range("A1").SpecialCells(xlLastCell)).Address
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
26.07.2018, 17:34
Wunderbar. Klappt soweit alles!
Trotz aller Müh, werde ich wohl langfristig doch die komplette VBA-Lösung hernehmen. Bietet mir mehr Möglichkeiten Code: Dim shname As String Jetzt bin ich gerade allerdings dran mit Checkboxen für den jeweiligen Monat zu arbeiten. Die Idee dabei war folgende: Code: Private Sub CheckBox1_Click() Jetzt frage ich mich allerdings, wie ich ihm sage, dass er auch hier die Formel bis zum Ende ziehen soll Sheets("Übersicht").Cells(4, letztespalte + 1).FormulaR1C1 = "=" & shname & "!R[1]C[9]" Steh gerade komplett auf dem Schlauch. Denn: Code: Range("B4:M4").Select Funktioniert ja hier nicht. Ich kann ja keine wirkliche SelectionRange bilden?! :16:
26.07.2018, 17:44
Hallo Jules,
bisschen sollte dabei "meine Massagebox" helfen. Die gibt doch die Adresse aus, entsprechend kannst Du auch sowas mit einer entsprechenden String-Variable nehmen: strAdresse = … Range(strAdresse).FillDown Selectieren brauchst Du auch nicht und wenn Du wieder auf einem anderen Blatt sein solltest, na, das hatten wir ja schon .
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
26.07.2018, 19:13
@schauan
Es ging doch darum alle Daten aus einem geschlossenen Arbeitsblatt in einem Dateipfad zu importieren!??? Und wenn diese Datei geschlossen ist kann ich doch das Ende der Daten nicht erfassen... Oder?
27.07.2018, 08:55
Guten Morgen,
also langsam bin ich komplett durcheinander. Unbeachtet der Tatsache, dass es sich wie Frogger sagt um ein geschlossenes Arbeitsblatt handelt. Vielleicht kann Schauan mir nochmal sagen, wie er sich die Formel vorstellt, damit er die Formel auch an richtiger Stelle bis unten zieht: Code: letztespalte = Sheets("Übersicht").Cells(4, Columns.Count).End(xlToLeft).Column So nämlich nicht :22: |
|