Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mehrere Verzeichnisse per selekt. Zellen löschen

mehrere Verzeichnisse per selekt. Zellen löschen
04.02.2007 15:25:12
Anja
Hallo Leute,
hab ein kleines Problem, möchte mit diesem Makro ein Verzeichnis löschen, das den Namen der selektieren Zelle + die Zelle links daneben hat. Wenn ich das Makro aufrufe, geht ein kleines Userform auf, indem man den Namen des Verzeichnisses sieht. Man bestätigt dies mit OK und das verzeichnis wird gelöscht. Funktioniert einwandfrei. Nun würde ich den Code gern so abändern, dass ich mehrere Zellen aktivieren kann und dann auch die "mehreren" Verzeichnisse gelöscht werden. Kann mir da vielleicht jemand weiterhelfen. So wie der Code jetzt ist, funktionierts leider nicht.
Danke schon man im Voraus.
Gruß Anja
Public sPfad As String, sOrdner As String

Sub Loeschen1()
sPfad = "D:\FV\"
sOrdner = Sheets(1).Range("A" & Selection.Row) & "_" & Selection
Load UserForm2
UserForm2.Show
End Sub


Sub Loeschen2()
sPfad = "D:\FV\"
sOrdner = Sheets(1).Range("A" & Selection.Row) & "_" & Selection
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(sPfad + sOrdner)
f.Delete
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Verzeichnisse per selekt. Zellen lösch
04.02.2007 22:38:22
fcs
Hallo Anja,
da ich nicht weiß, wie deine Userform funktioniert nachfolgend eine Anregung wie du den Löschvorgang in einer Schleife duchführen kannst. Ich bin davon ausgegangen, dass du zunächst Makro "Loeschen1" startest, um die userform anzuzeigen, und das mit dem OK-Button das Makro "Loeschen2" gestartet wird.
Gruss
Franz

Public sPfad As String, sOrdner As String, Bereich As Range
Sub Loeschen1()
Set Bereich = Selection
sPfad = "D:\FV\"
sOrdner = ""
'Fügt alle Ordner für eine Anzeige in einer Variablen zusammen
For Each Zelle In Bereich
sOrdner = sOrdner & Zelle.Offset(0, -1).Value & "_" & Zelle.Value & vbLf
Next
Load UserForm2
UserForm2.Show
End Sub
Sub Loeschen2()
Dim Zelle As Range, fs, f
sPfad = "D:\FV\"
For Each Zelle In Bereich
sOrdner = Zelle.Offset(0, -1).Value & "_" & Zelle.Value
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(sPfad & sOrdner)
f.Delete
Next
End Sub

Anzeige
AW: mehrere Verzeichnisse per selekt. Zellen lösch
05.02.2007 01:11:01
Anja
Vielen Dank erstmal,
aber leider funktioniert mein Userform damit nicht. Kommt immer der Fehler: Unzulässige Verwendung einer Eigenschaft! habe folgenden Code für die Userform:

Private Sub UserForm_Initialize()
With UserForm2
.TextBox1 Selection
End With
End Sub

Also, ich möchte gern den Inhalt der selektierten Zellen in der Textbox wiedergegeben haben. Ist das möglich?
Gruß Anja
AW: mehrere Verzeichnisse per selekt. Zellen lösch
05.02.2007 10:54:15
fcs
Hallo Anja,
mit folgenden Codeanpassungen sollte es funktionieren.
Für die Textbox1 im Userform2 muss du zusätzlich folgende Eigenschaften speziell einstellen für eine optimale Anzeige:
MultiLine: True
ScrollBars: 2 - fmScrollBarsVertical
Gruß
Franz

Code für das Userform2:
Private Sub CommandButton1_Click()
'OK-Button
Call Loeschen2
Unload Me
End Sub
Private Sub CommandButton2_Click()
'Abbrechen-Button
Unload Me
End Sub
Private Sub UserForm_Initialize()
With UserForm2
.TextBox1.Value = sOrdner
End With
End Sub
Private Sub Loeschen2()
'Löschen der ausgewählten Verzeichnisse
Dim Zelle As Range, fs, f
VBA.Err.Clear
sPfad = "D:\FV\"
On Error Resume Next
For Each Zelle In Bereich
sOrdner = Zelle.Offset(0, -1).Value & "_" & Zelle.Value
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(sPfad & sOrdner)
If VBA.Err.Number = 76 Then
MsgBox "Verzeichnis " & sPfad & sOrdner & " ist nicht vorhanden"
VBA.Err.Clear
Else
f.Delete
End If
Next
End Sub
Code in einem Modul:
Public sPfad As String, sOrdner As String, Bereich As Range
Sub Loeschen1()
'Anzeige Userform2
Set Bereich = Selection
sPfad = "D:\FV\"
sOrdner = ""
'Fügt alle Ordner für eine Anzeige in einer Variablen zusammen
For Each Zelle In Bereich
sOrdner = sOrdner & Zelle.Offset(0, -1).Value & "_" & Zelle.Value & vbLf
Next
UserForm2.Show
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige