Erweiterung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Erweiterung
von: Hartmut
Geschrieben am: 11.06.2015 09:31:27

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

Bild

Betrifft: AW: Erweiterung
von: Klexy
Geschrieben am: 11.06.2015 10:03:22
Range("O11") = Ordner

Bild

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

Bild

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

Bild

Betrifft: AW: Erweiterung
von: Hartmut
Geschrieben am: 12.06.2015 13:01:50
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

Bild

Betrifft: AW: Erweiterung
von: Klexy
Geschrieben am: 12.06.2015 16:46:18
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.

Bild

Betrifft: AW: Erweiterung
von: Hartmut
Geschrieben am: 12.06.2015 22:33:06
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

Bild

Betrifft: Begriffsverwirrung?
von: Klexy
Geschrieben am: 12.06.2015 23:34:27
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.

Bild

Betrifft: AW: Begriffsverwirrung?
von: Hartmut
Geschrieben am: 13.06.2015 00:53:26
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.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "CommandButton Caption variabel"