Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1516to1520
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

wert letzter zelle aus spallte a einer geschl. map

wert letzter zelle aus spallte a einer geschl. map
07.10.2016 11:55:54
Christof
Moin,
ich würde gerne den Wert der letzten Zelle aus Spalte A einer geschlossenen Arbeitsmappe auslesen. Diese liegt nicht im selben Ordner wie die aktive Arbeitsmappe.
LG Christof

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wie in einer geöffneten auch ...
07.10.2016 12:05:13
...
Hallo Christof,
... wenn ein beliebiger Wert gesucht ist (Text oder Zahl) dann so:
=VERWEIS(9;1/('LW:\Verzeichnisname[Dateiname.xlsx]Tabellenname'!$A$1:$A$99""); 'LW:\Verzeichnisname[Dateiname.xlsx]Tabellenname'!$A$1:$A$99)
Den auszuwertenden Bereich (hier bis Zeile 99) evtl. noch anpassen, aber nur auf das max notwendige.
Gruß Werner
.. , - ...
AW: wie in einer geöffneten auch ...
07.10.2016 12:23:01
Christof
Also meine Quell-Arbeitsmappe hat in Spallte A einen fortlaufenden Wert(Zahl). Ich möchte jetzt, den letzten wert in Spalte A in meine Ziel-Arbeitsmappe schreiben.
z.B: A14 enthält 978 es wird erneut ein eintrag in der Quellmappe vorgenohmen somit enthält A15 nun 979 ich Möchte also nun in meiner Zielmappe den Wert 979 bekommen usw.
Anzeige
AW: dann wird die Formel etwas einfacher ...
07.10.2016 13:07:12
...
Hallo Christof,
... dann reicht =VERWEIS(9^9;('LW:\Verzeichnisname[Dateiname.xlsx]Tabellenname'!$A$1:$A$99)
Gruß Werner
.. , - ...
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 12:19:11
Daniel
Hi
wenn die Spalte A vor der letzten befüllten Zeile keine Leerzellen oder eine bekannte Anzahl von Leerzellen enthält, dann auch
=Index('LW:\Verzeichnisname[Dateiname.xlsx]Tabellenname'!$A:$A; Anzahl2('LW:\Verzeichnisname[Dateiname.xlsx]Tabellenname'!$A:$A)+0) 
für die +0 am ende setzt du Anzahl der der bekannten Leerzeilen ein.
das hat gegenüber der Formel von neopa den Vorteil, dass es flexibler ist weil du ohne Probleme die ganze Spalte als Zellbezug verwenden kannst, dafür funktioniert sie nicht, wenn eine variable Anzahl von Leerzellen vorkommen kann.
Gruß Daniel
Anzeige
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 12:39:40
Christof
Weiteres Problem ist, dass der Pfad variabel ist
Dim OrdnerName As String
OrdnerName = Right(Sheets("SCHADENBUCH").Cells(9, 3).Value, 4)
If Dir("N:\Mitarbeiter\Kauer\" & OrdnerName & "\" & OrdnerName & "Index.xlsx") 

AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 12:49:31
Daniel
Hi
variable Ordner oder Dateinamen sind in Formeln nicht möglich.
wenn du mit VBA arbeitest, müssstest du in VBA die Formel mit dem passenden Ordnernamen als Textstring generieren und dann in die Zelle schreiben.
Gruß Daniel
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 12:59:16
Christof
Bin leider etwas überfordert
=INDEX(B17; ANZAHL2(B17)+B18)
Wenn ich B17 mit folgendem Wert versehe

'N:\Mitarbeiter\Kauer\2016\2016 Index.xls'!$A:$A
funktioniert das leider nicht
Anzeige
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 13:25:25
Rudi
Hallo,
Wenn ich B17 mit folgendem Wert versehe
da fehlt der Tabellenname.
Außerdem sollte doch Max() reichen, wenn der Wert fortlaufend eingetragen wird.
Gruß
Rudi
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 13:33:59
Daniel
Hi
das funktioniert so nicht.
du kannst Zellbezüge nicht so einfach auch anderen Zellen auslesen.
wenn ein Text aus einer anderen Zelle als Zellbezug verwenden willst, dann musst du INDIREKT verwenden.
dh wenn dein Zellbezug den du eigentlich verwenden willst in B17 als Text steht, dann:
=Index(Indirekt(B17);Anzahl2(Indirekt(B17))+B18)
hierbei musst du aber zwei Punkte beachten:
1. der Dateiname muss in eckige Klammern gesetzt werden
es fehlt bei dir der Tabellenblattname,
du musst darauf achten, dass das erste Hochkomma auch wirklich Bestandteil des textes ist und nicht nur das Texterkennungszeichen.
'N:\Mitarbeiter\Kauer\2016\[2016 Index.xls]Tabelle1'!$A:$A
2. Indirekt arbeitet nur, wenn die Quelldatei geöffnet ist, ansonsten bekommst du den Bezugsfehler.
das MS so eingerichtet, weil:
- Zellbezüge auf geschlossene Dateien sehr viel Rechenzeit benötigen (Excel muss wahrscheinlich die Datei im Hintergrund öffnen, um die Formel berechnen zu können)
- die Funktion INDIREKT die unangenehme Eigenschaft hat, dass sie volatil ist (so der Fachausdruck), das bedeutet, dass eine Formel, die Indirekt enthält bei JEDER Änderung in Excel neu berechnet wird, egal was und in welcher Datei du änderst (nicht volatile Funktionen werden nur dann neu berechnet, wenn sich im verwendeten Zellbereich eine Änderung ergeben hat)
Ich hoffe du verstehst, dass beide "Bremsen" in Kombination sehr schnell dazu führen, dass du mit der Datei nicht mehr sinnvoll arbeiten kannst. Daher hat MS hier wohl einen Riegel vorgeschoben.
Gruß Daniel
Anzeige
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 14:16:50
baschti007
Halli Hallo Du Könntst es auch so machen
Es müssen aber min 2 Zeilen gefüllt sein bei nur 1 kommt ein Fehler =D

Sub LetzenWertFinden()
Pfad = "C:\Users\" & Environ("Username") & "\Desktop\"
Datei = "Test.xlsx"
Tabelle = "Tabelle1"
Bereich = "$B:$B"
Range("A1").Formula = "=index('" & Pfad & "[" & Datei & "]" & Tabelle & "'!" & Bereich & ", _
countA('" & Pfad & "[" & Datei & "]" & Tabelle & "'!" & Bereich & "),'" & Pfad & "[" & Datei & "]" & Tabelle & "'!" & Bereich & ")"
Range("A1") = Range("A1").Value
End Sub
Gruß Basti
Anzeige
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 16:13:15
Christof
Hab bisher das gebaut
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$9" Then
Dim OrdnerName As String
OrdnerName = Right(Sheets("SCHADENBUCH").Cells(9, 3).Value, 4)
If Dir("N:\Mitarbeiter\Kauer\" & OrdnerName, vbDirectory) = "" Then
MkDir ("N:\Mitarbeiter\Kauer\" & OrdnerName)
End If
Dim SchadenNr As String
Dim Pfad As String
Dim Datei As String
Dim Tabelle As String
Dim bereich As String
Pfad = "N:\Mitarbeiter\Kauer\" & OrdnerName & "\"
Datei = OrdnerName & " Index.xlsx"
Tabelle = "Tabelle1"
bereich = "$A:$A"
SchadenNr = Application.WorksheetFunction.Index = "=INDEX('" & Pfad & "[" &  _
Datei & "]" & Tabelle & "'!" & bereich & ", COUNTA('" & Pfad & "[" & Datei & "]" & Tabelle & "'!" & bereich & ") "
Cells(11, 5).Value = SchadenNr & "/" & Right(Sheets("SCHADENBUCH").Cells(9, 3).Value, 2)
End If
End Sub
nur wird mir immer das Index markiert mit dem hinweis, Argument ist nicht optional
Anzeige
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 18:37:05
Christof
Hat denn keiner eine Idee warum er sagt, Argument ist nicht optional?
AW: wert letzter zelle aus spallte a einer geschl. map
07.10.2016 18:58:16
EtoPHG
Hallo Chris,
Doch ich hab eine Ahnung.
Die WorksheetFunction.Index verlangt mindestens 2 vorgeschriebene und bis 2 zusätzliche [optionale] Argumente. Was du machst, ist der Funktionen einen einzigen String zu übergeben, daher die Meldung.
Der String sollte wohl eine Formel darstellen, was wiederum völlig verkehrt ist, da die Parameter sind:
1. Bereich (Range)
2. Zeile (Double)
3. [Spalte (Double)]
4. [Bereich (Range)]
So, nun ist es an Dir mit der einfachen Hilfe von XL-VBA rauszufinden, wie du das anstellst.
Gruess Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige