26865
Nicht registrierter Gast
(20.03.2024, 09:24)RPP63 schrieb: ...(der Jahrzehnte alt sein dürfte [A65536])
für einen Sammler von Röhrenradios oder Liebhaber von Rotweinen ist das Alter eher ein Qualitätsgarant. Irgendwie habe ich den Eindruck, "Jahrzehnte alt" würde hier von dir nicht positiv verwendet, kann das sein?
;)
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Mag sein, EarlFred!
Aber davon ab:
Ich bin "altem" Code ja durchaus nicht abgeneigt.
Z.B. verwende ich auch heute noch die Range.Sort-Methode, die mMn der Worksheet.Sort-Eigenschaft vorzuziehen ist.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
26865
Nicht registrierter Gast
(20.03.2024, 09:59)RPP63 schrieb: Z.B. verwende ich auch heute noch die Range.Sort-Methode...
bekenne mich ebenfalls schuldig! Eine fachliche Begründung dafür kann ich nicht liefern. Grund sind einzig und alleine meine Faulheit und Bequemlichkeit.
Registriert seit: 29.09.2015
Version(en): 2030,5
Ich würde VBA bevorzügen:
Code:
Sub M_snb()
With Application.FileDialog(4)
If .Show Then sn = Split(CreateObject("wscript.shell").exec("cmd /c dir " & .SelectedItems(1) & "\*.txt /b/s").stdout.readall, vbCrLf)
End With
Cells(1).Resize(UBound(sn) + 1) = Application.Transpose(sn)
End Sub
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
Was hat dass aber mit dem anderen Code zu tun?
Registriert seit: 01.07.2023
Version(en): Pro Plus 2019
In Range("D7") wird ein Dateiname eingegeben, der gesucht werden soll! (funktioniert)
Range("D9") ist die Dateiendung (.txt)
Wie kann ich den Code anpassen, dass er auch Dateien findet, die mit "*" & Range("D7") & "*" gefunden werden und mit vollständigem Dateinamen angezeigt werden?
Danke
Code:
Code:
Sub Dateien(Objekt As Object)
Dim Item As Object
For Each Item In Objekt
If Range("D7") <> "" And Range("D9") <> "" Then
' UCase(Range("D8")) bedeutet Umwandlung der endung auf Großbuchstaben
If InStrRev(Range("D7") & Range("D9"), Range("D9")) > 0 Or InStrRev(Range("D7") & Range("D9"), UCase(Range("D9"))) > 0 Then
If Item.Name = Range("D7") & Range("D9") Or Item.Name = Range("D7") & UCase(Range("D9")) Then
[a65536].End(xlUp).Offset(1, 0) = "=HYPERLINK(" & _
"""" & Item.Path & """," & _
"""" & Range("D7") & Range("D9") & """)"
lRowCounter = lRowCounter + 1
End If
End If
Else
If InStrRev(Item.Name, Range("D9")) > 0 Or InStrRev(Item.Name, UCase(Range("D9"))) > 0 Then
[a65536].End(xlUp).Offset(1, 0) = "=HYPERLINK(" & _
"""" & Item.Path & """," & _
"""" & Item.Name & """)"
lRowCounter = lRowCounter + 1
End If
End If
Next
End Sub
Registriert seit: 26.09.2022
Version(en): 2019
Moinsen,
mit dem like-Operator kannst du Zeichenketten auch mit Platzhaltern vergleichen.
Beim Code von snb ist das schon eingebaut.
Im übrigen:
- Du solltest deinen Code ordentlich einrücken
- Die folgende Codezeile ist ziemlich sinnbefreit:
Code:
If InStrRev(Range("D7") & Range("D9"), Range("D9")) > 0 Or InStrRev(Range("D7") & Range("D9"), UCase(Range("D9"))) > 0 Then
- Mit mäßigen VBA Kenntnissen zu versuchen, die Dateisuche im Explorer nachzubauen halte ich insgesamt für gewagt.
Viele Grüße
derHöpp