Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
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

Problem mit einem Makro zum Zählen von D

Problem mit einem Makro zum Zählen von D
01.10.2022 17:06:46
D
Hallo zusammen,
ich habe ein Problem mit einem Makro, das Dateien in einem Ordner zählen soll.

Sub ProduktfotosZaehlen2()
Dim strOrdnerName As String
Dim strName As String
Dim intz As Integer
Dim strGpnr As String
Dim Var As String
strGpnr = Sheets("Produktfotos").Cells(8, 4) ' Artikelnummer
strOrdnerName = Sheets("user_data").Cells(106, 2) ' Pfad zum Produktfotoordner
strName = Dir(strOrdnerName & "*.*")
intz = 0
' MsgBox "Zählschleife vor Beginn:" & intz
Do While strName  ""
strName = Dir
MsgBox "Archivdatei: " & strName & "Artikelnr: " & strGpnr ' nur für Testphase aktiv
Var = Left$(strName, Sheets("Produktfotos").Cells(8, 16))
MsgBox "Vergleichsnamensteil: " & Var ' nur für Testphase aktiv
If strGpnr = Left$(strName, Sheets("Produktfotos").Cells(8, 16)) Then
intz = intz + 1
MsgBox "Zählschleife:" & intz ' nur für Testphase aktiv
End If
Loop
MsgBox "Dateien:" & intz ' nur für Testphase aktiv
Sheets("Produktfotos").Cells(9, 16) = intz
End Sub
Hierbei wird immer die erste Datei im Ordner nicht gezählt. Komischerweise verwende ich dieses Makro für das Zählen in einem anderen Ordner, dort funktioniert es.
Das Makro wird mit Call aus einem anderen Makro aufgerufen und dort ist dann nach dem Makroaufruf der Wert für intz = 0, obwohl in diesem Makro intz einen Wert hat - daher das Auslagern in eine Zelle in der letzten Zeile,
Vielleicht hat jemand eine Idee, vielen Dank.
Karsten

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit einem Makro zum Zählen von D
01.10.2022 17:16:31
D
strName = Dir(strOrdnerName & "*.*") hier landet die erste Datei in der Variable
strName = Dir und hier wird sie direkt wieder überschrieben.
das zweite dir gehört vor das loop
AW: Problem mit einem Makro zum Zählen von D
01.10.2022 17:49:39
D
Vielen Dank, es funktioniert. Aber warum habe ich den Wert von intz nicht im aufrufendem Makro und muss das über eine Zelle auslagern?
AW: Problem mit einem Makro zum Zählen von D
01.10.2022 22:27:57
D
Dim intz As Integer hier wird diese Variable in Kontext dieses Makros "geboren" und gilt nur in diesem Makro . Außerhalb gültige Variablen mit dem selben Namen gelten hier dann nicht.
der Zählwert intz wird in eine Zelle geschrieben weil.............., der Programmierer das so wollte. Warum und weshalb fragst du besser ihn.
Wills du einen Wert von außen übergeben, dann mußt du das Makro entsprechend anpassen. Aktuell ist das nicht so.
Informiere dich über Gültigkeit /Sichtbarkeit von Variablen und evtl. über Parameterübergabe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige