Keines Macro-Problem

04/10/2007 - 10:56 von Manfred Gutacker | Report spam
Liebe "Spezialisten",

ich habe wieder mal ein Problem, wo ich nicht weiterkomme.

In einer Tabelle habe ich in der Spalte W Dateinamen ermittelt, die alle
auf ein Verzeichnis zeigen. Beispiel: W804:
F:\__gutmarketing\__seoline\artikel_pool\Ledersofa01_612_709.txt
In der Spalte rechts daneben sind die Dateinamen, die nun pro Zelle auf ein
anderes Zielverzeichnis mit dem gleichen Dateinamen wie aus Spalte W
zeigen. Beispiel: X804:
F:\__gutmarketing\__seoline\_2007-10-04_einstellungen\Ledersofa01_612_709.txt

Ich möchte nun Dateien aus einem Bereich in der Spalte W per Makro in die
Verzeichnisse aus Spalte X kopieren.
Dabei muss ich den Bereich in Spalte W vor Start des Makros markieren.

Hier der Makro:

Sub artikel_pool_nach_ziel()
Dim zelle As Range
Dim quelle As String
Dim ziel As String
Dim sh As String
Dim adr As String
Dim spalte As Long
Dim wert As String

' On Error Resume Next
sh = "alle_artikel"
Sheets(sh).Select
adr = ActiveCell.Address
spalte = ActiveCell.Column

wert = MsgBox("Haben Sie den Bereich markiert " & Chr(13) _
& "für den die Operation angewendet werden soll? ", vbYesNo,
"Meldung...")
If wert = 7 Then
Exit Sub
End If

If spalte <> 23 Then
MsgBox "Cursor steht nicht in Spalte W! ", vbInformation,
"Meldung..."
Exit Sub
End If

For Each zelle In Selection
adr = ActiveCell.Address
quelle = Range(adr).Value
ziel = Range(adr).Offset(0, 1).Value
FileCopy quelle, ziel
ActiveCell.Interior.ColorIndex = 39 'Zelle ist somit bearbeitet
Range(adr).Offset(1, 0).Select
Next zelle

End Sub

Der Makro funktioniert soweit ja ganz gut, ist mir aber zu "unkomfortabel".


Gerne würde ich aus dem Makro heraus mit der Maus den entsprechenden
Bereich der Spalte W markieren, der gerade bearbeitet werden soll. Hier
beginnt dann mein Problem.

Mein Versuch:

Sub artikel_pool_nach_ziel1()
Dim zelle As Range
Dim quelle As String
Dim ziel As String
Dim sh As String
Dim rngArea As Object

' On Error Resume Next
sh = "alle_artikel"
Sheets(sh).Select

Set rngArea = Application.InputBox("Selektieren Sie den zu betrachtenden
Bereich!", Type:=8)
If Err <> 0 Then
MsgBox "Das war kein Zellbereich !?"
Exit Sub
End If
rngArea.Select
For Each zelle In Selection
quelle = Range(zelle).Value
ziel = Range(zelle).Offset(0, 1).Value
FileCopy quelle, ziel
ActiveCell.Interior.ColorIndex = 39
Range(zelle).Offset(1, 0).Select
Next zelle

End Sub

Nach Ausführen der Zeile
Set rngArea = Application.InputBox("Selektieren Sie den zu betrachtenden
Bereich!", Type:=8)

kommt die Fehlermeldung
Laufzeitfehler '424'
Objekt erforderlich


Komme leider nicht weiter. Wàre schöàn, wenn mir jemand von Euch helfen
könnte.


Benutze Windows XP pro SP2 und Excel 2003 SP3


Viele Grüße
Manfred Gutacker
 

Lesen sie die antworten

#1 stefan onken
04/10/2007 - 13:26 | Warnen spam
hallo Manfred,

Gerne würde ich aus dem Makro heraus mit der Maus den entsprechenden
Bereich der Spalte W markieren, der gerade bearbeitet werden soll. Hier
beginnt dann mein Problem.

Mein Versuch:

Sub artikel_pool_nach_ziel1()
Dim zelle As Range
Dim quelle As String
Dim ziel As String
Dim sh As String
Dim rngArea As Object



das Problem ist hier As Object, verwende As Range


' On Error Resume Next
sh = "alle_artikel"
Sheets(sh).Select

Set rngArea = Application.InputBox("Selektieren Sie den zu betrachtenden
Bereich!", Type:=8)
If Err <> 0 Then
MsgBox "Das war kein Zellbereich !?"
Exit Sub
End If
rngArea.Select
For Each zelle In Selection
quelle = Range(zelle).Value
ziel = Range(zelle).Offset(0, 1).Value
FileCopy quelle, ziel
ActiveCell.Interior.ColorIndex = 39
Range(zelle).Offset(1, 0).Select



hier gibt es weitere Fehler. Verwende
quelle = zelle.Value
ziel = zelle.Offset(0, 1).Value
FileCopy quelle, ziel
ActiveCell.Interior.ColorIndex = 39
zelle.Offset(1, 0).Select

bzw unter Vermeidung von Select (macht ua Code langsamer)

quelle = zelle.Value
ziel = zelle.Offset(0, 1).Value
FileCopy quelle, ziel
zelle.Interior.ColorIndex = 39



Next zelle

End Sub

Nach Ausführen der Zeile
Set rngArea = Application.InputBox("Selektieren Sie den zu betrachtenden
Bereich!", Type:=8)

kommt die Fehlermeldung
Laufzeitfehler '424'
Objekt erforderlich

Komme leider nicht weiter. Wàre schöàn, wenn mir jemand von Euch helfen
könnte.




Guß
stefan

Ähnliche fragen