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

Probleme mit

Probleme mit
04.06.2022 16:52:30
Christian
Hallo,
kann ich die eigentlich recht simple Formel
=ZÄHLENWENN(Ergebnis!$R$2:INDEX(Ergebnis!R:R;Ergebnis!$T$1);A1)
einschränken, insofern, dass nicht der komplette Text aus A1 verglichen werden soll, sondern lediglich das was vor dem letzten Leerzeichen in A1 steht?
Vielen lieben Dank und schöne Pfingstfeiertage
Christian

43
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Korrektur des Betreffs: Zählenwenn einschränken
04.06.2022 16:53:13
Christian
.
das ist komplizierter, als Du denkst
04.06.2022 17:57:23
WF
Hi,
die A1 hinten musst Du ändern in:
LINKS(A1;LÄNGE(A1)-LÄNGE(TEIL(A1;VERWEIS(9^9;FINDEN(" ";A1;ZEILE(1:999)))+1;50)))
WF
vereinfacht
04.06.2022 18:08:34
WF
A1 wird zu:
LINKS(A1;VERWEIS(9^9;FINDEN(" ";A1;ZEILE(1:999)))-1)
WF
AW: vereinfacht
04.06.2022 19:17:30
Christian
Hallo WF, da kann etwas nicht stimmen,
deine beiden Formeln für sich ohne den ZÄHLENWENN Teil geben beide ab Zeile 84 #NV aus (und die Zählenwenn dann entsprechend 0).
Gruß
Christian
und...
04.06.2022 19:24:06
Christian
an mangelnden Leerzeichen kann es nicht liegen, dass kein Leerzeichen gefunden wird.
AW: dann ...
04.06.2022 19:56:22
neopa
Hallo Christian,
... steht in A84 ein Text, der kein echtes Leerzeichen enthält, sondern lediglich eins, welches sich als solche sich darstellt.
Kannst Du (D)eine Beispieldatei einstellen, damit man es überprüfen kann?
Gruß Werner
.. , - ...
Anzeige
AW: dann ...
04.06.2022 20:24:07
Christian
Hallo Werner,
das ist eigentlich ausgeschlossen, da ich die Texte selbst mit &" "& erstellt habe.
Aber ich bastele eine Bsp Datei, kein Problem, dauert nur was aus 2,7 MB kleiner 300KB zu machen, wenn in dem Fall mehrere Blätter benötigt werden.
Gruß
Christian
AW: dann ...
04.06.2022 20:33:14
Christian
ich kann es leider grad nicht testen, da mein Excel abgeschmiert ist.
Aber kann es an dem ZEILE(1:999) in WFs Formel liegen, dass sich dieser Wert in jeder Zeile ändert?
Ist das nicht die Position im Text in der das Leerzeichen gesucht wird? (1. bis 999. Zeichen) wenn sich die Formel dann in Zeile 84 auf 84:1083 geändert hat und der Text weniger als 83 Zeichen hat gibts nen Fehler, könnte es das sein?
Anzeige
AW: dann ...
04.06.2022 20:37:04
Christian
Excel geht wieder, hab die $ zeichen eingefügt an dieser Stelle, jetzt geht's
danke euch allen für eure Zeit und eure Hilfe
Schöne Pfingsten noch
Christian
AW: dann ist ja alles gut owT
05.06.2022 09:00:01
neopa
Gruß Werner
.. , - ...
AW: ergänzend noch ...
05.06.2022 09:10:11
neopa
Hallo Christian,
... als Hinweis, dass es von Nutzen sein könnte, wenn Du in der Formel die Funktion GLÄTTEN() noch einbindest.
Das meine ich so: ...FINDEN(" ";GLÄTTEN(A1);ZEILE(... Damit fängst Du evtl. nach geführte Leerzeichen im Text der Zelle A1 ab, welche ohne GLÄTTEN() zu einem von Dir ungewollten Suchtext führen könnte.
Gruß Werner
.. , - ...
AW: ergänzend noch ...
05.06.2022 15:58:35
Christian
Hallo Werner,
danke für den Hinweis. Ich muss jedoch zugeben, dass ich bei der Bitte einer Formel, die alles vor dem letzten Leerzeichen ausgibt, auch erwartet habe, dass WF mir eine Formel gibt, die keine Leerzeichen am schluss mehr ausgibt.
Dazu ist aber auch zu sagen, WF's Formel hat diese Erwartung in meinem Fall auch erfüllt.
Gruß
Christian
Anzeige
AW: da liegt wohl ein Missverständnis vor ...
05.06.2022 16:18:54
neopa
Hallo Christian,
... die Formel von WF ermittelt ein korrekte Ergebnis, solange Du keine (ungewollte) "fehlerhafte" Angaben in A1 bzw. A# getätigt hast. Nach meinen Erfahrungen hängt nicht selten einem Textwert z.B. aus Versehen oder aus Unachtsamkeit heraus ein Leerzeichen nach, welches visuell nicht bzw. kaum auffällt. In so einem Fall würde die Formel Suchtext eben dem gesamten Text bis zu diesem überflüssigen Leerzeichen nutzen und ein von Dir ungewolltes Ergebnis ergeben. Dieses würde bzw. könnte Dir auch nicht (sofort) auffallen. Um solchen vorzubeugen, rate ich die Formel um die Funktion GLÄTTEN() zu erweitern, weil damit das ungewollte Leerzeichen aus Deinen Vergleichstexten für eine korrekte Auswertung zuvor als nicht vorhanden betrachtet wird (es wird in Spalte A so aber nicht eliminiert). Wenn Du jedoch 100% sicher bist, dass solche ungewollten Leerzeichen bei Dir nicht vorkommen, kannst Du Dir natürlich das GLÄTTEN() auch sparen.
Gruß Werner
.. , - ...
Anzeige
AW: da liegt wohl ein Missverständnis vor ...
05.06.2022 16:34:00
Christian
Hallo Werner,
ich habe die Texte selbst erstellt, in dem ich mit & Formeln und Texte verkettet habe, sämtliche Texte beruhen auf demselben Schema. Daher kann ich das ausschließen.
Gut das konntest du nicht wissen, daher trotzdem danke für den Hinweis und die Mühe
Christian
AW: bitteschön; so nun verständlich owT
05.06.2022 17:41:32
neopa
Gruß Werner
.. , - ...
AW: Probleme mit
04.06.2022 19:57:13
Piet
Hallo
mit Formeln kenne ich mic h nicht gut aus, aber höfliche Frage:
Kannst du den Text den du suchen willst nicht in eine andere Zelle laden, z.B. A2 oder B1, und dann in der ZählenWenn Formel nur die Suchzelle A1 ändern?
mfg Piet
AW: Probleme mit
04.06.2022 20:26:01
Christian
Hallo Piet,
danke für die Nachricht aber das wäre ja dasselbe in Grün, ob ich jetzt die gesuchte Formel in eine separate Spalte schreibe oder in die Formel integriere.
bei 2700 Zeilen das letzte Wort von Hand löschen wäre zu aufwändig.
Gruß
Christian
Anzeige
AW: Probleme mit
04.06.2022 20:56:15
Piet
Hallo Christian
das letzte Wort in 2700 Zeilen löschen dauert keine Sekunde. Einfach mittels Button per Makro ausführen lassen!
mfg Piet
  • 
    Sub Text_löschen()
    Dim AC As Range, lz1 As Long
    Application.ScreenUpdating = False
    lz1 = Cells(Rows.Count, "A").End(xlUp).Row
    'Schleife zum abschneiden des letzten Wortes
    For Each AC In Range("A1:A" & lz1)
    AC.Value = Trim(Left(AC, InStrRev(AC, " ")))
    Next AC
    End Sub
    

  • AW: Probleme mit
    04.06.2022 21:35:23
    Christian
    Hallo Piet,
    der Weg ist für mich leider zumindest in dieser Form wenig brauchbar.
    Es werden jeden Tag Texte hinzugefügt / gelöscht.
    Da ich von jedem Text ebenso auch das Original also mit dem letzten Wort brauche, müsste ich bei deiner Version von jedem neuen Text eine Kopie erstellen und von dieser dann das letzte Wort löschen.
    Aber wenn du an eine VBA Lösung denkst, geht das ganze bestimmt doch auch als UDF oder? Die könnte ich dann wiederrum in meine Zählenwenn Formel einbauen. (oder alternativ halt ein Makro, welches die komplette Zählenwenn Formel ersetzt).
    Gruß
    Christian
    Anzeige
    aber das Makro funktioniert, owT
    04.06.2022 21:36:49
    Christian
    .
    Ausblick auf xl365 Beta: TEXTBEFORE
    05.06.2022 09:47:47
    {Boris}
    Hi,
    für so was gibt es künftig die TEXTBEFORE-Funktion - auf Deutsch: TEXTVOR.
    Alles bis zum letzten Leerzeichen:
    =TEXTVOR(A1;" ";-1)
    VG, Boris
    AW: Ausblick auf xl365 Beta: TEXTBEFORE
    05.06.2022 15:55:42
    Christian
    danke für die Info, aber ich habe die Kauversion von Excel 2021, nicht die monatlich MS Geld in den Rachen schieben Version 365.
    Aber danke für die Info
    Christian
    AW: Ausblick auf xl365 Beta: TEXTBEFORE
    05.06.2022 16:52:44
    {Boris}
    Hi,
    das muss natürlich jeder selbst wissen, ob ihm die Abo-Version was bringt bzw. das Geld wert ist.
    Bei den neuen Funktionen wurde im Bereich der Arraybearbeitung mächtig aufgerüstet zzgl. der LAMBDA-Funktion und ihren Nebenfunktionen (NACHZEILE, NACHSPALTE, MAP, SCAN etc.). Es gibt gute Anwendungsmöglichkeiten dafür, aber das muss man dann auch nutzen bzw. mögen. Für den Gelegenheits-Exceluser ist das nicht wirklich notwendig.
    Die 3 neuen Text-Parsing-Funktionen sind hingegen sicher für viele hilfreich, weil a) längst überfällig und b) recht einfach:
    TEXTVOR
    TEXTHINTER
    TEXTTRENNEN
    Aber auch dafür gibt es natürlich reichlich Lösungen in allen Excelversionen. Sind halt nur etwas aufwändiger.
    VG, Boris
    Anzeige
    AW: Ausblick auf xl365 Beta: TEXTBEFORE
    05.06.2022 17:36:17
    Christian
    Hallo Boris,
    nochmals danke für die Erklärung. Ich bin halt eher der User der denkt, never change a running system. Warum Geld für ein neues Programm ausgeben, wenn das alte alles bietet was man braucht und auf meinem Laptop lauffähig ist.
    Gruß
    Christian
    AW: Probleme mit
    05.06.2022 17:20:34
    Piet
    Hallo Christian
    es ist kein Problem ein Makro zu schreiben das die Zählenwenn Funktion ersetzen kann. Ich habe aus der Formel nur noch nicht verstanden welcher Text womit verglichen werden soll? Per Makro kann ich auch überflüssige Leerzeichen erkennen und korrigieren, oder per MsgBox mit Zeilenangabe melden.
    Frage: ist der Vergleichstext immer gleich? Und wo steht er? - Anbei mal ein Makro Entwurf mit dem man diese Aufgabe lösen kann.
    Du must bitte wo xxx und yyy steht deine Tabellen Namen und Range Bereiche einsetzen!! Dann sollte es funktionieren. Vlel Glück beim Testen
    Piet
  • 
    Sub Text_vergleichen()
    Dim AC As Range, lz1 As Long
    Dim VTxt As String, n As Long
    Application.ScreenUpdating = False
    'Vergleichstext aus Sheet xxx Range yyy laden
    VTxt = Worksheets("Tabelle xxx").Range("yyy")
    VTxt = Trim(Left(VTxt, InStrRev(VTxt, " ")))
    lz1 = Cells(Rows.Count, "A").End(xlUp).Row
    'Schleife zum Prüfen des Vergleichstextes
    For Each AC In Range("A1:A" & lz1)
    If InStr(AC, VTxt) Then n = n + 1
    Next AC
    MsgBox n & "  ZählenWenn gefunden"
    'Ergebnis in Zieltabelle xxx range yyy speichern
    Worksheets("Tabelle xxx").Range("yyy") = n
    End Sub
    

  • Anzeige
    AW: Probleme mit
    05.06.2022 17:46:03
    Christian
    Hallo Piet,
    hmmm jetzt wird es für mich etwas kompliziert, weil du sagtest, Formeln sind nicht so deine Welt.
    Ich nehme das ganze mal auseinander, ich hoffe es wird verständlich.
    In Ergebnis Spalte R steht die Formel
    
    =WENN(G2>=EDATUM(HEUTE();-360);"X";"MRS "&TEXT(I2;"00000")&" "&WECHSELN(WECHSELN(WECHSELN(WECHSELN(B2;":";"");"?";"");"/";"");"*";"")&" ("&TEXT(C2;"TT.MM.JJJJ")&") - "&E2&" ("&TEXT(F2;"TT.MM.JJJJ")&") "&G2&"-"&H2)
    
    mit anderen Worten das ist das Schema nach dem alle Texte aufgebaut sind.
    Diesen Text benutze ich für Dateinamen, die zusätzlich zu dem Text in Spalte R noch eine laufende Nummer und eben das Dateiformat beinhalten.
    Als zweites gibt es eine Liste mit allen Dateinamen im Verzeichnis (auch per Makro eingelesen).
    Ich will jetzt nur prüfen ob im Dateisystem Dateien sind, die nicht in der Tabelle Ergebnis verzeichnet sind, also püfe ich mit
    =ZÄHLENWENN(Ergebnis!$R$2:INDEX(Ergebnis!R:R;Ergebnis!$T$1);A1)
    wie häufig der Dateiname aus dem Verzeichnis in der Liste der Dateinamen der Tabelle Ergebnis vorkommt.
    T1 beinhaltet eine Formel, die die letzte Zeile der Tabelle Ergebnis ausgibt.
    Aber falls das jetzt zu kompliziert wird, bin ich dir auch nicht böse wenn du sagst, lassen wir das, ich hab ja die Formellösung, die ich ursprünglich wollte.
    Gruß
    Christian
    Anzeige
    und nun zu deinem Makro
    05.06.2022 17:50:04
    Christian
    Ich verstehe nicht welcher für dich der Vergleichstext sein soll, der der in Spalte R gesucht werden soll, das wären dann alle Texte im Bereich Dateien!A1:A2756
    oder meinst du alle Texte, in denen gesucht werden soll. das wäre dann Ergebnis!R2:R2354.
    AW: und nun zu deinem Makro
    06.06.2022 13:00:19
    Piet
    Hallo Christian
    wenn es sich um zwei Tabellen handelt kann man den Text auch direkt miteinander vergleichen. Dabei kann ich prüfen ob der kürzere Text im langen Text vorkommt oder fehlt. Wenn er fehlt kann man das in einer seperaten Spalte anzeigen, oder als seperate Liste auflisten.
    Hast du die Möglichkeit eine kleine Beispieldatei mit diesen beiden Tabellen hochzuladen. Sind beide Tabellen in der gleichen Mappe?
    Mir genügen 10 Zeilen um ein Prüfmakro zu entwickeln. Mich würde dein Makro zum auflisten interessieren. Ordner mit Unterordner?
    Sollte dir die Formellösung reichen oder besser gefallen akzeptiere ich das auch. Ansonsten wäre es reizvoll es mal mit VBA zu testen.
    mfg Piet
    AW: und nun zu deinem Makro
    06.06.2022 13:09:50
    Christian
    Hallo Piet,
    hier die Datei:
    https://www.herber.de/bbs/user/153435.xlsm
    wenn es dich so sehr reizt, das zu programmieren, braucht es daran nicht zu scheitern.
    Ich habe jedoch eine kleine Änderung vorgenommen, in dieser Datei steht in Ergebnis!T1 keine Formel sondern der Wert.
    Wie gesagt es geht darum aus der Liste im Blatt Dateien die laufende Nummer und die Dateiendung abzuschneiden, damit ich es mit der Liste in Ergebnis Spalte R vergleichen kann.
    Das Makro für die Dateinamen hab ich in die Datei dazugepackt.
    Gruß
    Christian
    obwohl mir fällt grad ein...
    06.06.2022 13:20:23
    Christian
    kann man das vorhandene Makro nicht so abändern, dass es von vorneherein die Dateinamen so auflistet, wie sie in Ergebnis Spalte R stehen? und dazu jeden nur einmal?
    Das wäre was was mir helfen würde, weil dann Sachen wie Zählenwenn egal ob per VBA oder Formel doch viel schneller gehen würde.
    Gruß
    Christian
    sorry
    06.06.2022 14:26:40
    Christian
    aber ich habe anscheinend jetzt selbst den Überblick verloren was du von mir wolltest und was eine 12 jahre lang immer weiter von mir durchdachte Mappe für Inhalte hat und Zwecke sie erfüllt.
    Die Liste ohne Dateiendungen, würde zwar helfen, die Zählenwenn Berechnung zu verkürzen, aber zu einem anderen Zweck der Tabelle brauche ich auch die jetzige Form, um zählen zu können, wie viele Dateien es pro Schauspieler gibt.
    Sei mir bitte nicht böse, das ist eine so komplexe Tabelle mit u.a. 10 Blättern, 8 Makros, 4 csv Dateien als Datenquellen, 3 weiteren intelligenten Tabellen, 35 Formeln die oftmals miteinander zusammenhängen und sich teils über mehrere 1000 Zeilen erstrecken. Du bist nicht der erste, der hier Ideen einbringt, auch den Rest der nicht VBA oder PQ ist in solche Lösungen zu verändern. Nur dass ich von VBA und PQ keine Ahnung habe, selbst wenn diese Lösungen funktionieren.
    Da jetzt anzufangen, dieses ganze Konstrukt auf den Kopf zu stellen und im Prinzip tun wir das ja schon in dem Moment wo wir 2 der 35 Formeln in VBA umsetzen, machen wir ein Fass ohne Boden auf, obwohl eine 100% funktionierende Tabelle vorliegt, mit der ich klarkomme.
    Außerdem wenn es nicht noch einen zweiten Piet hier gibt, hast du das wichtigste Makro selbst erstellt vor langer Zeit, muss so im Winter 12/13 gewesen sein.
    Gruß
    Christian
    AW: sorry
    06.06.2022 14:42:02
    Piet
    Hallo Christian
    es gibt nur einen Piet im Forum, und der lebt in Ankara. 2012/13, das ist schon sehr lange her!
    Bei über 2.000 Antworten hier im Forum, über 5000 in drei Foren erinnere ich mich nicht mehr an jeden einzelnen Thread.
    Ich hätte nicht gedacht das die Datei so umfangreich ist. Aber das Auflisten ändern ist die kleinste Sache, kann es aber selbst nicht testen!
    Diese geänderte Version sollte nur noch das 1. Bild auflisten, warum das kannst du im Code selbst leicht erkennen. Zum Schluss kann man mit Replace die Endung "1.jpg" löschen. Wenn du die Endung benötigst musst du den Befehl Columns(1).Replace bitte löschen!
    Ich warte mal ab ob dir diese Änderung weiterhilft? Würde mich freuen....
    mfg Piet
  • 
    Public Sub DateienAuflisten()
    Dim blnFound As Boolean
    Dim lngZeile As Long
    Dim objFileSystem As Object
    Dim objVerzeichnis As Object
    Dim objDateienliste As Object
    Dim objDatei As Object
    Dim objDrives As Object
    Dim objDrive As Object
    Application.Calculation = xlCalculationManual
    Sheets("Dateien").Cells.Clear
    Set objFileSystem = CreateObject(Class:="Scripting.FileSystemObject")
    Set objVerzeichnis = objFileSystem.GetFolder("D:\Bilder")
    Set objDateienliste = objVerzeichnis.Files
    For Each objDatei In objDateienliste
    If objDatei.Name Like "MRS*" Then
    lngZeile = lngZeile + 1
    'Nur Bilder mit Endung 1.jpg auflisten
    If InStr(objDatei.Name, " 1.jpg") Then _
    Cells(lngZeile, 1) = objDatei.Name
    End If
    Next objDatei
    Set objDrives = objFileSystem.Drives
    For Each objDrive In objDrives
    If objDrive.DriveLetter = "F" Then
    blnFound = True
    Set objDrive = Nothing
    Exit For
    End If
    Next
    If blnFound Then
    lngZeile = 0
    Set objVerzeichnis = objFileSystem.GetFolder("E:\Bilder")
    Set objDateienliste = objVerzeichnis.Files
    For Each objDatei In objDateienliste
    lngZeile = lngZeile + 1
    'Nur Bilder mit Endung 1.jpg auflisten **
    If InStr(objDatei.Name, " 1.jpg") Then _
    Cells(lngZeile, 1) = objDatei.Name
    Next objDatei
    End If
    'Alle Endungen in Spalte A mit Replace löschen  **
    Columns(1).Replace " 1.jpg", "", xlPart
    Set objDrives = Nothing
    Set objVerzeichnis = Nothing
    Set objDateienliste = Nothing
    Set objFileSystem = Nothing
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

  • AW: Amüsanter Nachtrag
    06.06.2022 14:49:41
    Piet
    Hallo Christian und alle Kollegen
    dieser Thread zeigt eine amüsante Wahrheit - ,anchmal scheint die Aufgabenstellung am Beginn des Threads klar und eindeutig zu sein.
    Dann kommen schon mal Vorschläge und Ideen die mit der ursprünglichen Aufgabe nichts zu tun haben, und der Thread entwickelt sich dynamisch weiter.
    Mir gefällt es, es bewisst das man nicht nur an einer Sache festhalten muss ....
    mfg Piet
    dazu erstmal gesagt
    06.06.2022 15:24:54
    Christian
    zu meiner Verteidigung,
    du sagst selbst, Ideen die nichts mit der Aufgabenstellung zu tun haben. Die Infos die ich gegeben habe, haben ausgereicht um ohne Rückfrage innerhalb einer Stunde eine Antwort zu erhalten, wozu dann ein Fass aufmachen und von solch riesigen, wohlbermerkt 100% funktionierenden, Projekten erzählen? Das hätte doch nur zur Verwirrung geführt was ich jetzt eigentlich will und hätte bedeutet dass sich der Helfer in all diese komplexen Strukturen reindenkt, ohne dass es notwendig gewese wäre....
    Aber ich erinnere mich auch nur daran dass du es warst weil du ne Kommentarzeile mit deinem Namen und dem Datum eingefügt hast.
    Aber jetzt zu dem Makro, auf jeden Fall ein guter Ansatz aber ich befürchte da haben wir das Beispiel, wo die Frage der Komplexität und dem was ich dafür brauche voll einschlägt.
    Aber zu allererst, es funktioniert ohne Fehlermeldung.
    nur
    1. was habe ich von den ganzen Leerzellen, das würde ja an der Anzahl der Zählenwenn Formeln die ich brauche nichts ändern, nur an dem Inhalt der verglichen werden soll...
    2. es macht keinen Sinn, das Abschneiden des letzten Wortes auch auf Spalte B anzuwenden (davon war meinerseits auch nie die Rede), da die Dateinamen in diesem Ordner sowieso nur einmal vorkommen und deshalb auch keine laufende Nummer haben. Außerdem wird die Spalte B sowieso nur befüllt wenn ich vorher mich bequemt hab den USB Stick vom TV abzuziehen und in den Laptop zu stecken.
    3. ich hatte ja noch nachgereicht, dass ich für ne andere Stelle der Riesenmappe auch die bisherige Version der Dateiliste brauche, mir würde also nur ein Makro helfen, dass sowohl eine Spalte mit dem bisherigen Inhalt als auch eine Spalte mit deinem neuen Inhalt erstellt.
    Gruß
    Christian
    AW: dazu erstmal gesagt
    07.06.2022 22:55:04
    Piet
    Hallo Christian
    Sorry, deine Reaktion verwirrt mich jetzt sehr!? - Wieso Verteidigung, das verstehe ich nicht? - Ich hatte nicht vor dich anzugreifen!
    In den vielen Jahren Forum Arbeit erlebe ich immer wieder das sich Threads dynamisch entwickeln, und Lösungen in ganz andere Richtungen gehen.
    Weil ich das Makro hier nicht testen konnte fiel mir der Leerzeilen Fehler nicht auf. Dummer kleiner Programmierfehler, aber Excel reagierte korrekt darauf.
    Das angehängte Makro sollte, wenn alles klappt, dir zwei getrennte Spalten auflisten. In Spalte A die bisherige Original Version. In Spalte D meine geänderte Version.
    Die Spalte für meine Version kannst du selbst einstellen. Bei Const steht ja: Const SpX = "D". Du kannst Buchstaben "D" in jede andere Spalte ändern.
    Würde mich freuen wenn dir diese Änderung weiterhilft.
    mfg Piet
  • Const SpX = "D" 'Spalte für "1.jpg" Endung
    
    Public Sub DateienAuflisten()
    Dim lngZeileX As Long   '** neu eingefügt
    Dim blnFound As Boolean
    Dim lngZeile As Long
    Dim objFileSystem As Object
    Dim objVerzeichnis As Object
    Dim objDateienliste As Object
    Dim objDatei As Object
    Dim objDrives As Object
    Dim objDrive As Object
    Application.Calculation = xlCalculationManual
    Sheets("Dateien").Cells.Clear
    Set objFileSystem = CreateObject(Class:="Scripting.FileSystemObject")
    Set objVerzeichnis = objFileSystem.GetFolder("D:\Bilder")
    Set objDateienliste = objVerzeichnis.Files
    For Each objDatei In objDateienliste
    If objDatei.Name Like "MRS*" Then
    lngZeile = lngZeile + 1
    Cells(lngZeile, 1) = objDatei.Name
    'Nur Bilder mit Endung 1.jpg in Spalte D auflisten
    If InStr(objDatei.Name, " 1.jpg") Then
    lngZeileX = lngZeileX + 1
    Cells(lngZeileX, SpX) = objDatei.Name
    End If
    End If
    Next objDatei
    Set objDrives = objFileSystem.Drives
    For Each objDrive In objDrives
    If objDrive.DriveLetter = "F" Then
    blnFound = True
    Set objDrive = Nothing
    Exit For
    End If
    Next
    If blnFound Then
    lngZeile = 0
    lngZeileX = 0
    Set objVerzeichnis = objFileSystem.GetFolder("E:\Bilder")
    Set objDateienliste = objVerzeichnis.Files
    For Each objDatei In objDateienliste
    lngZeile = lngZeile + 1
    Cells(lngZeile, 1) = objDatei.Name
    'Nur Bilder mit Endung 1.jpg auflisten
    If InStr(objDatei.Name, " 1.jpg") Then
    lngZeileX = lngZeileX + 1
    Cells(lngZeileX, SpX) = objDatei.Name
    End If
    Next objDatei
    End If
    'Alle Endungen in Spalte A mit Replace löschen
    '## Wenn nicht gewünscht diesen Befehl löschen!!
    Columns(SpX).Replace " 1.jpg", "", xlPart
    Set objDrives = Nothing
    Set objVerzeichnis = Nothing
    Set objDateienliste = Nothing
    Set objFileSystem = Nothing
    Application.Calculation = xlCalculationAutomatic
    End Sub
    

  • AW: dazu erstmal gesagt
    08.06.2022 17:35:53
    Christian
    Hallo Piet,
    sorry hatte ziemlich Stress gehabt und komme erst jetzt wieder dazu, dir zu antworten.
    Ich muss mich bei dir entschuldigen, ich habe das zwar nicht als persönlichen Angriff verstanden, jedoch hatte ich das Gefühl, in deinen Augen wäre die Angewohnheit der Benutzer, nur Teile der Tabelle zu posten eine von den Helfern eher ungern gesehene Angewohnheit und deshalb habe ich geschildert, weshalb ich das so gemacht habe.
    Zu deinem Makro, es funktioniert leider nicht, der erste Text wird noch aufgelistet, danach folgt nur noch ein Fenster in dem 400 steht.
    Viele Grüße
    Christian
    AW: dazu erstmal gesagt
    08.06.2022 18:29:58
    Piet
    Hallo Christian
    ich habe den Code mal etwas geändert und meine Bilder aufgelistet. Es erscheint eine Liste in Spalte A und D. Ich konnte aber nur ein Laufwerk testen. Jetzt rätsele ich warum es bei dir nicht funktionieren will? Listet der Code bewi dir nur eine oder zwei Spalten auf?
    mfg Piet
    AW: dazu erstmal gesagt
    09.06.2022 11:28:44
    Christian
    Hallo Piet,
    so leid es mir tut, es erscheint ausschließlich etwas in A1, danach folgt eine Meldung mit der Zahl 400.
    Gruß
    Christian
    und ja beides in derselben Mappe oWT
    06.06.2022 13:10:46
    Christian
    .
    AW: Probleme mit
    09.06.2022 15:31:58
    Piet
    Hallo Christian
    ich kann den Fehler bei mir nicht reproduzieren. Das macht mich jetzt ratlos! Ist das ein Laufzeitfehler mit Dialog für Debuggen und Ende?
    Dann klicke bitte mal auf Debuggen, dann müsste die fehlerhafte Codezeile gelb markiert sein. Anders können wir der Sache nicht beikommen.
    mfg Piet
    AW: Probleme mit
    10.06.2022 09:38:43
    Christian
    hallo Piet,
    nein da kann ich ausnahmsweise kein debug anklicken, sonst hätte ich das bereits getan und gesagt wo es hapert.
    Gruß
    Christian
    AW: da muss ich passen, keine Chance oWt
    10.06.2022 15:26:50
    Piet
    ...
    AW: da muss ich passen, keine Chance oWt
    10.06.2022 17:10:37
    Christian
    hallo Piet,
    ist ja kein problem, hab ja eine funktionierende Lösung
    Danke trotzdem für die viele Mühe und die Zeit
    Christian

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige