OK, habs hinbekommen jetzt läufts super ...
22.02.2022 21:28:24
Udo
Für Alle die dies mal nachbauen möchten oder ebenfalls benötigen
Die Testdatei ( link ) findet ihr weiter oben ... im Tabellenblatt selbst habe ich Sel.Change nun so aufgebaut :
Option Explicit
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Rows.Count = 1 And ActiveCell.Row > 10 Then
If ActiveCell.Column = 5 And Cells(ActiveCell.Row, 5) = "" Then
If [F9] = "" Then
[F9] = "DD" ' kleiner Hilfsparameter zur Abfrage / Status
Drag_Drop.Show
Drag_Drop.Left = [C12].Value
Drag_Drop.Top = [C13].Value
Exit Sub
End If
End If
If ActiveCell.Column 5 Or Cells(ActiveCell.Row, 5) "" Then
Unload Drag_Drop
[F9] = ""
End If
End If
End Sub
und die beiden Varianten für die ListView der Userform dann so :
Option Explicit
' dies war mein erster Ansatz ( zumTesten dann umbenennen in ListView1 usw... )
'
Private Sub ListView2_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
Dim lngRow As Long, ialngIndex As Long
Dim strPath As String, strFile As String
If Data.GetFormat(ccCFFiles) Then
lngRow = ActiveCell.Row
' Pfadangaben die mit irgendeiner Dateiendung enden :
For ialngIndex = 1 To Data.Files.Count
Cells(lngRow, 5).Value = Data.Files(ialngIndex)
lngRow = lngRow + 1
Next
Cells(lngRow, 5).Select
Else
' Pfadangaben als Ordnerpfade :
For ialngIndex = 1 To Data.Folder.Count
Cells(lngRow, 5).Value = Data.Folder(ialngIndex)
lngRow = lngRow + 1
Next
Cells(lngRow, 5).Select
End If
End Sub
' Nepumuks effizienterer Code wäre dann dieser Ansatz ( vielen liebn Dank nochmals an der Stelle !! )
'
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
Dim lngColumn As Long, lngRow As Long, lngIndex As Long
If Data.GetFormat(ccCFFiles) Then
lngColumn = ActiveCell.Column
lngRow = ActiveCell.Row
For lngIndex = 1 To Data.Files.Count
Cells(lngRow, lngColumn).Value = Data.Files(lngIndex)
lngRow = lngRow + 1
Next
End If
Cells(lngRow, lngColumn).Select
End Sub
Damit klappt es dann gemixt Pfade ( Dateien und ordner unterschiedlich selektiert ) deren Pfade schnell zu listen abwärts der aktuelle Zeile
in meinem Fall in Spalte 5 ... kann sich jeder dann ja anpassen.
Max, ich danke dir wie immer sehr für deine Hilfe, weis das wirklich zu schätzen, wennich dir auch mal einen Gefallen tun kann schreib mir gerne auf udo-de"at"web.de , vielleicht kann ich mich mal revanchieren, Danke Dir !
Schönen Abend
Udo