Registriert seit: 06.05.2016
Version(en): 2013
Hallo zusammen,
ich hoffe mir kann jemand helfen. Ich hab mich schon ein bisschen umgesehen, was das Auslesen aus anderen Dateien angeht, es bis jetzt aber nicht hinbekommen.
Folgende Situation: Ich habe einen Haufen .csv-Dateien aus denen ich die Anzahl eines verwendeten Suchbegriffs auslesen möchte (das habe ich gemacht mit =ZÄHLENWENN(A:A;"*text*")). Da die Formel für alle Dateien gleich ist, müsste sich das doch irgendwie mit Verknüpfungungen automatisieren lassen, oder?
Es wäre toll, wenn mich jemand auf den richtigen Pfad hier stupsen kann, da ich kein Excel-profi bin.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
eine csv-Datei ist keine richtige Exceldatei. Daher musst Du sie immer erst in Excel öffnen, um mit Excelformeln darin etwas zählen zu können.
Wenn Du eine csv offen hast, erstellt Dir excel beim Eintrag der Formel z.B. folgenden Bezug:
=ZÄHLENWENN('G:\Test\[Tabelle.csv]Tabelle'!$C:$C;2)
Schließt Du die Datei wieder und lässt die Formel neu berechnen, erhälst Du nicht mehr das Ergebnis, sondern
#WERT
Zum Automatisieren würdest Du ein Makro benötigen, dass dir die Werte direkt aus der csv holt oder die Dateien öffnet und die Daten holt.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 06.05.2016
Version(en): 2013
Danke!
Wenn ich die Dateien eh öffnen muss kann ich aber auch gleich immer die ZÄHLENWENN Formel reinkopieren.
Trotzdem danke für Hilfe!
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
07.05.2016, 02:43
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2016, 02:43 von GMG-CC.)
Moin,
ich füge diese Dateien mit Power Query zusammen und dann würde ich inder nun existierenden einen Datei auch ZÄHLENWENN() einsetzen. Geht aber erst ab der 2010er Version. Ansonsten per VBA
alle *.csv in ein Tabellenblatt kopieren.
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
ich hatte auch geschrieben, dass man die Daten direkt erhalten kann. Allerdings benötigt man dazu ein Makro. Hier mal ein Prinzipmakro, wie man die Anzahl der Datensätze einer csv ermitteln kann:
Modul mdl_ADO_01aSub ZaehlenADO()
'benoetigte Verweise:
'Microsoft ActiveX Data Objects 2.8 Library
'Variablendeklarationen
'ADO
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
'String
Dim strPath As String
'Pfad festlegen
strPath = "G:\\Test\\"
'Verbindungsstring festlegen
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=""text;HDR=Yes;FMT=Delimited()"";"
'Datenabfrage
'Mit dem Recordset
With rs
'Connection + Einstellungen
.ActiveConnection = conn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
'Verbindung mit SQL-Abfrage oeffnen
.Open "SELECT COUNT(*) FROM [Tabelle.csv]"
'Ergebnis ausgeben
Debug.Print .GetString
'Datenabfrage schliessen
.Close
'Ende Mit dem Recordset
End With
'Verbindung schliessen
conn.Close
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 06.05.2016
Version(en): 2013
Danke, mit Power Query hab ich es hinbekommen! :19: