Clever-Excel-Forum

Normale Version: Eine Datei mehrfach anders benannt kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo!

Wenn ich das dementsprechend anpasse:

Code:
Sub M_snb()
  Range = Cells(1).CurrentRegion.Columns(1)

  For Long = 1 To UBound(Range)
    Filecopy "C:\Temp\HTML\dateiX.html",replace("C:\Temp\HTML\dateiX.html","X", Range(Long, 1))
  Next
End Sub



... kommt die Meldung: Fehler beim Kompilieren - Variable nicht definiert


Gruss

Michael
Lösche 'Option Explicit'
Hi!

Jetzt kommt die Meldung: Fehler beim Kompilieren - Argument ist nicht optional

Gruss

Michael
Hallo,

die Zeile Dim .... von André kommt in den Code als 1. Zeile nach Sub und deklariert die Variablen!


Code:
Option Explicit

Sub M_snb()
Dim sn as Range, j as Long

  sn = cells(1).currentregion.columns(1)

  for j = 1 to Ubound(sn)
    Filecopy "C:\Temp\HTML\dateiX.html",replace("C:\Temp\HTML\dateiX.html","X",sn(j,1))
  Next

End Sub
Hi!

Jetzt kommt die Meldung: Fehler beim Kompilieren - Erwartet Datenfeld

Gruss

Michael
Wo kommt denn der Fehler? Was wird markiert?
Sicherlich stimmen die Ordnerangaben nicht und sind nicht angepasst!
Hi!

Ubound wird "als Fehler" markiert und die Ordnerangaben sind "selbstverständlich" richtig angepasst, genau wie bei der bereits (funktionierenden) Lösung von Case.

Gruss

Michael
Hi,

der Code von snb erwartet in der Spalte A die Dateinamen als Liste, die als Datenfeld eingelesen werden kann - so wie du in Deinem ersten Beitrag geschrieben hast.
Hi!

Ist ja auch so.

In Spalte A stehen die Dateinamen, so wie es erfolgreich beim Code von Case funktioniert.

Ich habe die Excelliste kopiert, umbenannt und den Code ausgetauscht.

Also Spalte A, selbstverständlich mit Werten, ist quasi von Geburt an dabei.

Gruss

Michael
Hallo Michael,

schreib die Deklaration so:

Dim sn As Variant, j As Long

Gruß Uwe
Seiten: 1 2 3 4