Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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

Frage zu Makro

Frage zu Makro
11.11.2021 11:45:07
Sebastian
Hi zusammen, habe eine kurze Frage. Ich würde gerne per Makro eine Formel eintragen lassen welche nach unten hin weiter geführt wird. Eigentlich kein Problem.
Das Makro soll in Spalte B19 eine Formel einträgt die aus einer anderen geschlossenen Excel Datei den Wert einer Zelle kopiert. Aus A14. Das ist auch nicht das große Problem. Meine Frage ist: Ich möchte das das Makro so lange die Formel nach unten in B Kopiert wie Zeilen in der Quell-Datei in A vorhanden sind :D
Geht das ? Wie müsste der Code aussehen ?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Makro
11.11.2021 12:01:04
Klaus
Hallo Sebastian,
ich behaupte: Um die letzte Zeile aus der Quelldatei A zu ermitteln, musst du diese mindestens einmal schreibgeschützt öffnen. Nach ermitteln der Zeile kannst du sie direkt wieder schließen.
Das bekommst du hin, oder? Workbook open / cells(rows.count,1).end(xlup) / workbook close? Oder brauchst du für das Script Hilfe?
Ich lasse den Beitrag aber offen und hoffe, dass mich einer der Pro's eines besseren belehrt, fände das nämlich ebenfalls interessant!
LG,
Klaus M.
AW: Frage zu Makro
11.11.2021 13:18:24
JoWe
Hallo,
Wenn Du die entsprechende Zeilennummer aus der Quell-Arbeitsmappe kennst, übergib sie in eine Variable z.B. "zeNr_Source_AM"
In Deinen Code benötigst Du dann die folgenden Zeilen:

zeNr_Source_AM = 45 'hier die entsprechende Zeilennr. aus der Quell-Arbeitsmappe übergeben
With Sheets("Ziel_Arbeitsmappe") 'hier an Deine Angaben anpassen
.Range("B19").AutoFill Destination:=Range("B19:B" & zeNr_Source_AM), Type:=xlFillDefault
.Range("B19:B" & zeNr_Source_AM).Select
.Range("B19").Select
End With
Gruß
Jochen
Anzeige
AW: Frage zu Makro
11.11.2021 13:32:20
Sebastian
Hi Jochen, da ich nicht soooo der Held bin bei den Makros, wie sähe denn der ganze Code aus ? Die Zellennummer aus der Quelle wäre A14. Also sprich A14 müsste auf B19 usw. die Quell Datei heißt "Report" und liegt im selben Ordner wie die Quelle :)
AW: Bitte: Lade beide Arbeitsmappen hoch.
11.11.2021 14:08:05
JoWE
AW: Frage zu Makro
11.11.2021 14:17:44
Yal
Hallo Sebastian,
zwar hätte Jochen davor ein
Sub SoHeisstMeineMakro
und danach ein
End Sub
eintragen können, aber es wird langsam von jemand erwartet, der sich schon seit ein paar Stunden mit Makro beschäftigt, das selber zu probieren.
Die Ermittlung von eine "letzte befüllte Zelle in einer Spalte läuft so (am Bsp. Spalte B. Bitte selber für andere Spalte ableiten :-)

set LetzteZelle = Worksheets("xyz").Range("B99999").End(xlUp)
Du kannst auch auf einem von diesen Wörter klicken und Strg+F1 drucken. Dann bist Du im Online Hilfe. Sieht komisch aus, Du musst aber durch :-P
VG
Yal
Anzeige
AW: Frage zu Makro
11.11.2021 16:44:54
ChrisL
Hi Sebastian
Zum Thema: Aus geschlossener Mappe lesen
Aus einer geschlossenen Mappe kann man ganz generell nicht lesen. Egal mit welcher Technik man auf eine externe Datei zugreift, geöffnet wird sowieso. Die Frage ist nur, ob der Benutzer das Öffnen sieht/bemerkt.
In Zusammenhang mit dem Thema wird öfters mal ExecuteExcel4Macro verwendet. Nicht meine bevorzugte Lösung, aber trotzdem hier ein Beispiel:

Sub t()
Const strPfad As String = "'C:\Pfad\[Mappe1.xlsx]Tabelle1'!"
Dim lZ As Long: lZ = 19
Do Until ExecuteExcel4Macro(strPfad & "R" & lZ - 5 & "C1") = 0
Cells(lZ, 2).FormulaR1C1 = "=" & strPfad & "R" & lZ - 5 & "C1"
lZ = lZ + 1
Loop
End Sub
Die Variante würde ich höchstens für eine Handvoll Werte verwenden. Wenn die Tabelle länger wird, dann würde ich bevorzugt mittels "Daten abrufen" arbeiten. Der Weg von Jochen scheint mir auch problemlos und mit Application.ScreenUpdating=False merkt der User gar nicht, dass die Datei im Hintergrund geöffnet wird.
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige