Aus anderen Dateien auslesen und zählen
#1
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.
Top
#2
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)
Top
#3
Danke!
Wenn ich die Dateien eh öffnen muss kann ich aber auch gleich immer die ZÄHLENWENN Formel reinkopieren.

Trotzdem danke für Hilfe!
Top
#4
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!
Top
#5
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_01a
Sub 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)
Top
#6
Danke, mit Power Query hab ich es hinbekommen! :19:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste