Anzeige
Archiv - Navigation
1428to1432
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

Erweiterung

Erweiterung
11.06.2015 09:31:27
Hartmut
Hallo zusammen,
Folgender Code läuft an sich sehr gut.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim Pfad$, Ordner$, FS, Mfile1$, SP%, ZE%, DN%, Letzter%
SP = 6 ' **** Änderungen in Spalte F werden überwacht
ZE = 2 ' **** Änderungen ab Zeile 2 werden überwacht
If Not Intersect(Target, Columns(SP)) Is Nothing And Target.Row >= ZE Then
If Target.Offset(-1, 0)  "" Then
Set FS = CreateObject("Scripting.FileSystemObject")
Pfad = "C:\users\user\Documents\handover\"
Mfile1 = "\Final_Handover_.xlsx"
DN = 4 'Spalte mit Ordnernamen hier D
Letzter = IIf(Target.Row = ZE, 0, Right(Cells(Target.Row - 1, DN).Value, 3)) ' _
Letzte Ordner
Ordner = Format(Letzter + 1, """TP_Handover_""000")
Application.EnableEvents = False
Cells(Target.Row, DN).Value = Ordner
Application.EnableEvents = True
If Dir(Pfad & Ordner, vbDirectory) = "" Then
MkDir Pfad & Ordner ' Verzeichnis wird angelegt
FS.copyfile Pfad & Mfile1, Pfad & Ordner & Mfile1, True 'Dateicopy
'FS.copyfile Pfad & Mfile2, Pfad & Ordner & Mfile2, True 'Dateicopy
MsgBox "Ordner angelegt" & vbLf & vbLf & "und Dateien kopiert"
Else
MsgBox "Ordner existiert bereits"
End If
Else
MsgBox "Leerzeile vorher darf nicht sein"
End If
End If
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Application.EnableEvents = True
End Sub

Es wird ein Excelsheet kopiert und in einen Ordner eingefügt. Es wäre sehr hilfreich für mich wenn in dem Excelsheet welches Kopiert und eingefügt wird die Nummer des erstellten Ordners in der Zelle "O11" eingetragen würde. Kann mir jemand von euch da helfen.
Vielen Dank im voraus.
Gruß
hartmut

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweiterung
11.06.2015 10:03:22
Klexy
Range("O11") = Ordner

AW: Erweiterung
11.06.2015 10:22:36
Hartmut
Hallo Klexy,
erst einmal danke für deine Antwort.
Aber ich denke einmal das es nicht nur mit Range "O11" getan ist.
Gruß
Hartmut

AW: Erweiterung
11.06.2015 10:51:45
Klexy
Vorher musst du natürlich erst die neu erstellte Datei (nicht Sheet!) öffnen:
Workbooks.Open Filename:=Pfad & Ordner & Mfile1

AW: Erweiterung
12.06.2015 13:01:50
Hartmut
Hallo Klexy,
so funktioniert es ja, aber es soll beim öffnen des Sheets schon in der Zelle drinstehen.
Danke für deine Hilfe.
Gruß
Hartmut

AW: Erweiterung
12.06.2015 16:46:18
Klexy
Von selber wird es nicht drinstehen. Du musst die Datei öffnen, reinschreiben und schließen.
Entweder vor dem Verschieben oder danach.
Erst dann ist es beim nächsten Öffnen "schon" drin.

Anzeige
AW: Erweiterung
12.06.2015 22:33:06
Hartmut
Hallo Klexy,
selber reinschreiben mache ich ja schon. Es soll so sein das wenn das Sheet erstellt wird das diese "Nummer" schon in dem Sheet enthalten ist in der Zelle.
Gruß
Hartmut

Begriffsverwirrung?
12.06.2015 23:34:27
Klexy
Klärung:
Erstens ist es kein Sheet, sondern ein Book, wenn schon überflüssige Anglizismen verwendet werden.
Zweitens verwendet man deshalb besser die deutschen Begriffe Datei und Tabellenblatt.
Drittens erstellst du keine Datei, sondern du kopierst eine Datei. Kopieren ist die unveränderte Duplizierung an einem anderen Ort.
Viertens: Um einen Dateiinhalt zu ändern, muss man die Datei erst öffnen.

Anzeige
AW: Begriffsverwirrung?
13.06.2015 00:53:26
Hartmut
Hallo Klexy,
dann sage ich doch ganz einfach mal.
Vielen Dank für deine Wortklaubereien.
Ob Sheet, Tabellenblatt, Datei oder Book.
Für einen nicht soo schlauen VBA Kenner ist manchmal das eine wie das andere.
Also Danke für deine Belehrung.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige