Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Userform Leben einhauchen


Betrifft: Userform Leben einhauchen von: Michael
Geschrieben am: 17.09.2019 11:01:29

Hallo Allerseits,
ich benötige Hilfe bei einer Userform. Die Form als solche existiert bereits, leider nur ohne Code.
Verbesserungen an der Form sind aber jederzeit willkommen.

Beschreibung der Form:
Click-Button Ordnerwahl = Windows Explorer Funktion zur Ordner Auswahl
Eingabe-Feld = Zahlen-Eingabe
Click-Button = Suche Starten
Click-Button = Kopieren der Liste
Listen - Ausgabe

Kurzbeschreibung: Es geht um die Ermittlung eines Jahres-Bedarfes von Artikeln. Die zu durchsuchenden Dateien sind Wöchentliche Bestandsdaten. Anhand der Auflistung kann ich bestimmen wie viel von einer Sorte für ein Jahr (+/-) benötigt wird.
Im auszuwählenden Ordner möchte ich in allen vorhandenen .xlsx-Dateien, den Sheet mit Namen "Bestand" durchsuchen.
Gefundene Daten sollen dann in einer Tabelle aufgelistet werden.

Ich hoffe ihr könnt mir weiterhelfen und freue mich auf eure Rückmeldungen.
Eine Beispiel-Datei ist angefügt.
Viele Grüße
Michael

https://www.herber.de/bbs/user/132068.xlsm

  

Betrifft: AW: Userform Leben einhauchen von: 1713550.html
Geschrieben am: 17.09.2019 21:28:22

Hallo Michael

du möchtest deiner UserForm "Leben einhauchen"? - Dann sollten wir zuerst mal diesem Thread Leben einhauchen ...
Wie ich sehe ist noch keiner an den Thread ran gegangen, also eröffne ich mal den "Reigen zum Tanz ..."

Anbei eine Beispieldatei als Erstversuch, der noch nicht alle Wünsche erfüllt, aber vielleicht schon für die Praxis durchaus brauchbar ist.
Leider konnte ich das Makro nicht in Echtbetrieb testen, weil mir dazu deine "Bestand" Dateien fehlen! Es könnte noch Fehler enthalten??

Es lohnt sich für mich nicht noch weiter zu machen, bevor ich keine Rückmeldung habe ob der bisherige Code soweit schon mal funktioniert.

https://www.herber.de/bbs/user/132080.xlsm

mfg Piet

  

Betrifft: AW: Userform Leben einhauchen von: 1713554.html
Geschrieben am: 17.09.2019 21:38:32

Nachtrag

ich habe die UserForm etwas verkleinert, weil ich auf einem 13 Zoll Laptop arbeite! War zu gross.
Die seitliche Scrollleiste ist überflüssig, weil die ListBox eine interne Scrollleiste hat. Habe ich gelöscht.
Die ListBox habe ich auf drei Spalten eingestellt, für Dateiname, Artikel, Bestand. Die richtige Spaltenbreite musst du ggf. selbst einstellen.

mfg Piet

  

Betrifft: AW: Userform Leben einhauchen von: 1713586.html
Geschrieben am: 18.09.2019 08:48:47

Hallo Piet

Entschuldige das ich mich erst heute morgen melde. Gestern Abend war ich so spät nicht mehr online. Habe gerade deine Excel-Datei heruntergeladen und ausprobiert.
Weit bin ich aber nicht gekommen. Schon bei der Ordnerwahl ist ein Fehler aufgetreten. Egal welchen Ordner man auswählt, es kommt die Info-Box: "Kein Ordner ausgewählt"
Im Ordner-Anzeigefenster ist der gewählte Ordner aber aufgeführt:
C:\Users\Michael\Documents\TEST Bestand

Kannst du da nochmals rüber schauen?

Vielen Dank für deine Hilfe
Gruß
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713648.html
Geschrieben am: 18.09.2019 13:37:45

Hallo Michael

wenn man ein fertig getestetes Programm noch mal verbessern will baut man sich dumme Fehler ein!!

Diese beiden Code Zeilen vrursachen den Fehler:
If strOrdner = "" Or strOrdner = "C:\\usw....." Then
If strVerzeichnis = "" Or strVerzeichnis = "C:\\usw....." Then


Tausche das 1.Makro in der Userform komplett aus, das 2. Makro nur bis - If TextBox2.Value = Empty
Dann sollte schon mal eine Grund Funktion kommen. Ob ganz fehlerfrei kann ich nicht sagen??? Sehen wir nach dem Test ...

mfg Pit

'Datei Öffnen Dialog aufrufen  (aus Open Office)
     Private Sub CommandButton2_Click()
         Dim strOrdner As String
         With Application.FileDialog(msoFileDialogFolderPicker)
             .InitialFileName = "C:\"
             .Title = "Ordnerauswahl"
             .ButtonName = "Auswahl..."
             .InitialView = msoFileDialogViewList
             If .Show = -1 Then strOrdner = .SelectedItems(1)
             If strOrdner = Empty Then
                MsgBox "Kein Ordner gewählt!": Exit Sub
             End If
             TextBox3.Text = strOrdner
         End With
     End Sub
     
     
     Private Sub CommandButton3_Click()
     '   erstellt von Hajo.Ziplies@web.de
     '   alle Dateien eines Ordners öffnen
         Dim rFind As Range, n, z  'neu eingefügt
         Dim strVerzeichnis As String
         Dim StrDatei As String
         Dim StrTyp As String
         Dim Dateiname As String
         
         'Prüfung ob Ordner ausgewählt wurde und Eingabe Nummer vorliegt!
         If TextBox3.Text = "" Or TextBox3.Text = "C:\\usw....." Then _
            MsgBox "Kein Ordner ausgewählt!": Exit Sub
         If TextBox2.Value = Empty Then MsgBox "Eingabe Nummer fehlt!": Exit Sub
     

  

Betrifft: AW: Userform Leben einhauchen von: 1713682.html
Geschrieben am: 18.09.2019 15:16:37

Hallo Piet

Danke für die Antwort. Nun wird der Ordner erkannt.
Leider ist mir aber ein Fehler bei der Sheet Benennung passiert. Dem Sheet-Namen ist ein Datum angehängt. Z.B.: "Bestand 01.02.2019"
Es kommt die Fehlermeldung: "Unerwarteter Open-Fehler"
Kannst du den Code dahingehend abändern, das es nur auf das Wort "Bestand" im Sheet-Namen ankommt. Unabhängig davon ob der Sheet-Name, klein oder groß geschrieben (BESTAND o. Bestand o. bestand)ist, und auch ob ein evtl. angefügtes Datum vorhanden ist oder nicht.

Sorry für meinen Fehler.
Gruß
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713710.html
Geschrieben am: 18.09.2019 16:47:23

Hallo Michael

ich denke der Code müsste alle erdenklichen Schreibweisen erkennen. Probier ihn bitte mal aus ...
Neu hinzugekommen ist die For j Schleife und ein Sprung zu "nx:" wenn er "bestand" nicht findet.

mfg Piet

Private Sub CommandButton3_Click()
   '   erstellt von Hajo.Ziplies@web.de
   '   alle Dateien eines Ordners öffnen
       Dim rFind As Range, n, z 'neu eingefügt
       Dim Sht As Worksheet, j As Integer
       Dim strVerzeichnis As String
       Dim StrDatei As String
       Dim StrTyp As String
       Dim Dateiname As String
       
       'Prüfung ob Ordner ausgewählt wurde und Eingabe Nummer vorliegt!
       If TextBox3.Text = "" Or TextBox3.Text = "C:\\usw....." Then _
          MsgBox "Kein Ordner ausgewählt!": Exit Sub
       If TextBox2.Value = Empty Then MsgBox "Eingabe Nummer fehlt!": Exit Sub
             
       'Pfad und Open Variable laden
       strVerzeichnis = TextBox3.Text & "\"
       StrTyp = "*.xls*"
       Dateiname = Dir(strVerzeichnis & StrTyp)
       
       'Tabelle1 und ListBox1 löschen
       ThisWorkbook.Worksheets("Tabelle1").Range("C3:F1000").Clear
       ListBox1.Clear:  z = 3  '1.Zeile in Tabelle1
       
       On Error GoTo Fehler
       Do While Dateiname <> ""
           Workbooks.Open Filename:=strVerzeichnis & Dateiname
           'suche nach Sheet "bestand" in Kleinschrift
           For j = 1 To ActiveWorkbook.Worksheets.Count
               Sht = LCase(ActiveWorkbook.Worksheets(j).Name)
               If InStr(Sht, "bestand") Then Exit For Else Sht = Empty
           Next j
           If Sht = Empty Then GoTo nx  'ggf. überspringen Goto Close
           Set rFind = ActiveWorkbook.Worksheets(Sht).Columns(7).Find(What:=TextBox2, LookAt:= _
   xlWhole)
           If Not rFind Is Nothing Then
              ListBox1.AddItem Dateiname
              ListBox1.List(n, 1) = rFind.Offset(0, -5)  'Artikel
              ListBox1.List(n, 2) = rFind.Offset(0, -4)  'Bestand
              n = n + 1
              
              'Liste in Tabelle1 mit auflisten
              With ThisWorkbook.Worksheets("Tabelle1")
                 .Cells(z, 4) = Dateiname
                 .Cells(z, 5) = rFind.Offset(0, -5)  'Bestand
                 .Cells(z, 6) = rFind.Offset(0, -4)  'Bestand
                  z = z + 1
              End With
           End If
   nx:     ActiveWorkbook.Close False
           Dateiname = Dir
       Loop
       MsgBox n & "  gefundene Datensätze"
   Exit Sub
   Fehler: MsgBox Dateiname & "  unerwarteter Open Fehler"
   End Sub
   

  

Betrifft: AW: Userform Leben einhauchen von: 1713726.html
Geschrieben am: 18.09.2019 18:00:55

Hallo Piet

Es kommt immer noch die Fehlermeldung: "Unerwarteter Open-Fehler"
Zu vorher öffnet er aber jetzt die erste Datei und dann kommt erst der Fehler.
Hier noch einmal die Dateinamen Varianten:
01.02.2018.xlsx - Sheetname= "BESTAND 01.02.2018"
In diesen Dateien gibt es nur einen Sheet
KW 09 Psion.xlsm - Sheetname= "Bestand"
In diesen Dateien gibt es mehrere Sheets, aber mit anderen Namen.

Ich habe selbst versucht in der Zeile:
If InStr(Sht, "bestand") Then Exit For Else Sht = Empty
bestand anders zu schreiben. Das hat es aber nicht gebracht.
Aber egal wie der Sheet benannt ist, der Aufbau ist identisch.

Gruß
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713760.html
Geschrieben am: 18.09.2019 22:05:03

Hallo Michael

ich habe noch einen zweiten Sprungbefehl eingebaut, weil im Ordner ja auch die Masterdatei mit drin ist. Die ist ja schon Offen!!

mfg Piet

Private Sub CommandButton3_Click()
 '   erstellt von Hajo.Ziplies@web.de
 '   alle Dateien eines Ordners öffnen
     Dim rFind As Range, n, z 'neu eingefügt
     Dim Sht As String, j As Integer
     Dim strVerzeichnis As String
     Dim StrDatei As String
     Dim StrTyp As String
     Dim Dateiname As String
     
     'Prüfung ob Ordner ausgewählt wurde und Eingabe Nummer vorliegt!
     If TextBox3.Text = "" Or TextBox3.Text = "C:\\usw....." Then _
        MsgBox "Kein Ordner ausgewählt!": Exit Sub
     If TextBox2.Value = Empty Then MsgBox "Eingabe Nummer fehlt!": Exit Sub
           
     'Pfad und Open Variable laden
     strVerzeichnis = TextBox3.Text & "\"
     StrTyp = "*.xls*"
     Dateiname = Dir(strVerzeichnis & StrTyp)
     
     'Tabelle1 und ListBox1 löschen
     ThisWorkbook.Worksheets("Tabelle1").Range("C3:F1000").Clear
     ListBox1.Clear:  z = 3  '1.Zeile in Tabelle1
     
     On Error GoTo Fehler
     Do While Dateiname <> ""
         If Dateiname = ThisWorkbook.Name Then GoTo ny
         Workbooks.Open Filename:=strVerzeichnis & Dateiname
         'suche nach Sheet "bestand" in Kleinschrift
         For j = 1 To ActiveWorkbook.Worksheets.Count
             Sht = LCase(ActiveWorkbook.Worksheets(j).Name)
             If InStr(Sht, "bestand") Then Exit For Else Sht = Empty
         Next j
         If Sht = Empty Then GoTo nx  'ggf. überspringen Goto Close
         Set rFind = ActiveWorkbook.Worksheets(Sht).Columns(7).Find(What:=TextBox2, LookAt:= _
 xlWhole)
         If Not rFind Is Nothing Then
            ListBox1.AddItem Dateiname
            ListBox1.List(n, 1) = rFind.Offset(0, -5)  'Artikel
            ListBox1.List(n, 2) = rFind.Offset(0, -4)  'Bestand
            n = n + 1
            
            'Liste in Tabelle1 mit auflisten
            With ThisWorkbook.Worksheets("Tabelle1")
               .Cells(z, 4) = Dateiname
               .Cells(z, 5) = rFind.Offset(0, -5)  'Bestand
               .Cells(z, 6) = rFind.Offset(0, -4)  'Bestand
                z = z + 1
            End With
         End If
 nx:     ActiveWorkbook.Close False
 ny:     Dateiname = Dir
     Loop
     MsgBox n & "  gefundene Datensätze"
 Exit Sub
 Fehler: MsgBox Dateiname & "  unerwarteter Open Fehler"
 End Sub

  

Betrifft: AW: Userform Leben einhauchen von: 1713764.html
Geschrieben am: 18.09.2019 23:01:57

Hallo Piet

Bin inzwischen zu Hause. Ich habe mir einen Ordner mit einigen Datei-Kopien angelegt, um auch hier deinen Code zu testen.
Dein zweiter "Sprungbefehl" hat die Sache voran gebracht. Es hat beim öffnen und schließen der Dateien ganz schön gezuckt. Was allerdings gefehlt hat war das Ergebnis. Weder in der Form noch der Tabelle wurde etwas aufgelistet. Nur die MsgBox "gefundene Datensätze" war zu sehen.

Irgendetwas ist noch unrund
Viele Grüße
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713889.html
Geschrieben am: 19.09.2019 13:52:49

Hallo Michael

du kannst im Code, hinter "Do While" noch diesen Befehl setzen, dann hört das Bildschirm flackern auf.
Do While Dateiname <> ""
Application.ScreenUpdating = False

Ich vermute das ich die Zahl aus Eingabe vielleicht in der falschen Spalte suche??? Zur Zeit ist es Columns(7), Spalte "G" - Ist das so richtig??
Dieser Befehl: - Set rFind = ActiveWorkbook.Worksheets(Sht).Columns(7).Find(What:=TextBox2, LookAt:=xlWhole)

Wenn nein bitte korrigieren! Du kannst die Spalte als Zahl angeben A=1, B=2, oder den Buchstaben einsetzen: Columns("H")
Schau bitte mal ob es daran liegt das wir kein Ergebnis haben ...

mfg Piet

  

Betrifft: AW: Userform Leben einhauchen von: 1713908.html
Geschrieben am: 19.09.2019 14:33:14

Hallo Piet
"Application.ScreenUpdating = False" hat den Anblick wesentlich verbessert, muss ich das später auch wieder einschalten?
Spalte G (Columns7)ist Korrekt. In Tabelle2 meiner Beispiel-Datei befindet sich ein anonymisiertes Beispiel der Listen (Im Original sind halt nur auch die anderen Spalten gefüllt)
Dein Code hat gerade 97 Dateien durchsucht (ohne Zucken) aber leider kommt nur die MsgBox "gefundene Datensätze" ohne etwas anzuzeigen, weder in der Form, noch in der Tabelle.
Ich habe nach ein,zwei und dreistelligen Zahlen suchen lassen. Alles mit dem selben Ergebnis.
Was mir noch aufgefallen ist, ist, das wenn die Form geöffnet ist, keine andere Excel-Datei mehr öffnen kann und das die Form immer im Vordergrund bleibt, auch wenn man zu einer bereits vorher offenen Datei wechselt. Kann man das irgendwie ändern?

Viele Grüße
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713960.html
Geschrieben am: 19.09.2019 19:01:50

Hallo Piet

Frohe Kunde, habe die Datei/Form gerade nochmals geöffnet und ausprobiert. Siehe da, es funktionierte. Vielleicht lag es einfach nur daran das ich die Änderungen nicht gespeichert hatte?!?
Warum auch immer es geht auf einmal.
Fragen zum Ablauf des Codes:
1)Ist es möglich die Liste gleich in den Sheet zu schreiben und nicht erst wenn man die Form schließt? Im Endeffekt ist die ListBox doch eigentlich überflüssig, oder nicht?

2)Den "Liste Kopieren" Button kann ich doch auch heraus nehmen, da dein Code das automatisch macht?

3)Ist es Möglich bei den aufgelisteten Datei-Namen die Erweiterung .xls* auszufiltern. Die Dateien haben als Namen ja ein Datum (05.03.2018.xlsx), aber mit der Erweiterung bekommt man die Dateien nur umständlich wieder in die korrekte Reihenfolge. (Ersetzen Funktion .xlsx löschen, und dann nach Datum sortieren)

4)Die Sache mit, das wenn die Form geöffnet ist, man keine andere Excel-Datei mehr öffnen kann und das die Form immer im Vordergrund bleibt, auch wenn man zu einer bereits vorher offenen Datei wechselt. Kann man das irgendwie ändern?

Puh, jede Menge Fragen. Ich hoffe du hast auch Antworten darauf.
Vielen Dank und Grüße
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713988.html
Geschrieben am: 19.09.2019 20:31:42

Hallo Michael

Habe jetzt erst deine letzte Nachricht gesehen.
Es freut mich das der Code jetzt doch laeuft, Klasse. Das Ergebnis direkt in ein Sheet schreiben ist kein Problem. Ist es in derselben Datei? Wie heisst das Sheeet, und in welchen Spalten, ab welcher Zeile soll das Ergebnis geschrieben werden? Dann kann ich den Code aendern. Die ListBox und der Button können dann entfallen.

Damit die UserForm nicht stört könntest du Excel zuklappen, oder unsichtbar im Hintergrund weiterlaufen lassen. Dazu gibt es zwei Befehle:
Application.WindowState = xlMinimized - klappt die Mappe zu!
Application.WindowState = xlNormal - klappt die Mappe wieder auf
Application.Visible = False / True - schaltet die Mappe auf Unsichtbar Ja/Nein

Wenn du den Befehl - xlMinimized oder Visible = False - VOR "Do While" setzt verschwindet die Mappe. Das muss vor End Sub wieder und hinter Fehler!! wieder auf "normal" gestellt werden! Sonst bleibt Excel unsichtbar! Auch bei Fehler für den Fehlerfall in Fehler mit einfügen! Aber bitte nur einen von den beiden Befehlen ausprobieren.

Technisch kann ich dir aber leider nicht helfen wie man mit Dateien weiter arbeiten kann waehrend das Makro laeuft.
Da ist mein Wissen am Ende! Bitte die Kollegen fragen ... - evtl. neuen Thread aufmachen.

mfg Piet

  

Betrifft: AW: Userform Leben einhauchen von: 1713998.html
Geschrieben am: 19.09.2019 21:32:32

Hallo Piet

Geht mir wie dir, habe diesen Post auch gerade erst entdeckt.

Zu:
"Das Ergebnis direkt in ein Sheet schreiben ist kein Problem. Ist es in derselben Datei? Wie heisst das Sheeet, und in welchen Spalten, ab welcher Zeile soll das Ergebnis geschrieben werden? Dann kann ich den Code aendern."
Warum etwas neu erfinden, wenn es das schon gibt. So wie dein Code in der Masterdatei läuft, so kann es bleiben. (Also der Beispiel.xlsx)
Es reicht wenn die ListBox verschwindet und die Daten gleich dahin geschrieben werden, wo du es vorgesehen hattest.
Wenn du es noch schafst die Dateiendungen herauszufiltern, dann ist es gut.

Viele Grüße
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1713972.html
Geschrieben am: 19.09.2019 20:01:44

Hallo Michael

da bin ich so langsam mit meinem Latein am Ende, möchte aber doch noch was testen
Zu deiner Information: - ich habe deine zwei in der AW genannten Dateien nachgebaut.
Gleiche Dateinamen, gleiche Namen der Sheets! Damit lief das Makro und zeigte auch Ergebnisse!
Deshalb kann ich jetzt nur raten das der Suchlauf aus mir unbekannten Gründen bei dir versagt.

Probier bitte mal aus wenn du die TextBox2 hinter "Do While" in eine Variable "Wert" laedst, und das auch im Set Suchlauf aenderst.
Bei Dim die Variable mal mit Integer und mal mit String ausprobieren was dann passiert???
Ich kann es nicht vorhersagen, aber was besseres habe ich zur Zeit nicht anzubieten:
Wenn das auch nicht klappt können wir den Suchlauf auf For Next umstellen.

Wie man das in den Griff bekommt das andere Dateien weiter arbeiten können weiss ich im Augenblick nicht. Vielleicht wissen das die Kollegen?

mfg Piet

Dim Wert As Integer '** TextBox2 mit Integer und String testen
Do While Dateiname <> ""
Wert = TextBox2.Value
Set rFind = ActiveWorkbook.Worksheets(Sht).Columns(7).Find(What:=Wert, LookAt:=xlWhole)

mfg Piet

  

Betrifft: AW: Userform Leben einhauchen von: 1713993.html
Geschrieben am: 19.09.2019 20:56:07

Hallo Piet

Wahrscheinlich hast du meinen letzten Post nicht gelesen, darum hier nochmals.

Frohe Kunde, habe die Datei/Form gerade nochmals geöffnet und ausprobiert. Siehe da, es funktionierte. Vielleicht lag es einfach nur daran das ich die Änderungen nicht gespeichert hatte?!?
Warum auch immer es geht auf einmal.
Fragen zum Ablauf des Codes:
1)Ist es möglich die Liste gleich in den Sheet zu schreiben und nicht erst wenn man die Form schließt? Im Endeffekt ist die ListBox doch eigentlich überflüssig, oder nicht?

2)Den "Liste Kopieren" Button kann ich doch auch heraus nehmen, da dein Code das automatisch macht?

3)Ist es Möglich bei den aufgelisteten Datei-Namen die Erweiterung .xls* auszufiltern. Die Dateien haben als Namen ja ein Datum (05.03.2018.xlsx), aber mit der Erweiterung bekommt man die Dateien nur umständlich wieder in die korrekte Reihenfolge. (Ersetzen Funktion .xlsx löschen, und dann nach Datum sortieren)

4)Die Sache mit, das wenn die Form geöffnet ist, man keine andere Excel-Datei mehr öffnen kann und das die Form immer im Vordergrund bleibt, auch wenn man zu einer bereits vorher offenen Datei wechselt. Kann man das irgendwie ändern?

Puh, jede Menge Fragen. Ich hoffe du hast auch Antworten darauf.
Vielen Dank und Grüße
Michael

  

Betrifft: AW: Userform Leben einhauchen von: 1714005.html
Geschrieben am: 19.09.2019 22:04:47

Hallo Michael

es gibt einige Verbesserungen die du selbst am Code vornehmen kannst. Am einfachsten die Endung löschen!
ListBox1.AddItem Mid(Dateiname, 1, InStrRev(Dateiname, ".") - 1)
With ThisWorkbook.Worksheets("Tabelle1")
.Cells(z, 4) = Mid(Dateiname, 1, InStrRev(Dateiname, ".") - 1)

Bei With siehst du ThisWorkbook, d.h., das Workbook mit dem Makro! Willst du die Daten in ein andere Datei kopieren dann bitte so:
With Workbooks("xxx deine Datei").Worksheets("Tabelle1") - hier ist Tabelle 1 ausgewaehlt! ggf. bitte Namen selbst aendern!

'Tabelle1 und ListBox1 löschen
ThisWorkbook.Worksheets("Tabelle1").Range("C3:F1000").Clear
ListBox1.Clear: z = 3 '1.Zeile in Tabelle1

.Cells(z, 4) - übertragt die Daten in die Zeile die z angibt, und in die Spalte 4 = "D"
z wird danach mit +1 auf die naechste Zeile erhöht. Du must nur noch die richtige Spalte angeben
.Cells(z, "D") - ist die dieselbe Spaltenangabe, nur als Buchstabe statt Zahl.

Ich hoffe dieses Grundwissen über VBA Codes hilft dir weiter einige Ding selbst zu erledigen.
Morgen habe ich Artztermine, keine Zeit fürs Forum. In diesem Sinne viel Spass beim Selbst probieren.

mfg Piet

  

Betrifft: AW: Userform Leben einhauchen von: 1714012.html
Geschrieben am: 19.09.2019 23:48:48

Alles Klar

Werde ein wenig mit dem Code spielen und versuchen ihn selbst zu ändern. Vielen Dank für deine Hilfe.
Und ich hoffe du bekommst nur gute Sachen bei deinen Terminen zu hören.

Mit bestem Dank
Michael

  

Betrifft: AW: Danke für die nette Rückmeldung oWt von: 1714031.html
Geschrieben am: 20.09.2019 08:59:03

...

Beiträge aus dem Excel-Forum zum Thema "Userform Leben einhauchen"