Anzeige
Archiv - Navigation
716to720
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
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien auf Verfügbarkeit prüfen ?

Dateien auf Verfügbarkeit prüfen ?
09.01.2006 12:23:38
Selma
Hallo Leute,
erstmal frohes und gesundes neuses Jahr wünsche ich Euch....
ich habe eine Frage:
In Spalte F ab Zeile 2 bis Zeile 6382 habe ich als Zelleninhalt die Dateiname (ohne Pfad) incl. Dateiendung. Zum Beispiel "Artikel 2848 BG 2.doc"
Ich würde gern prüfen, ob diese Dateien im Ordner H:\Import\2005 existieren.
Dabei soll die Dateiendung (wegen Klein- und Großschreibung) nicht berücksichtigt werden.
Wenn die Datei existiert, dann soll der Bereich A:I mit grüner Hintergrundfarbe dargestellt werden.
Im Anschluss möchte ich nur die grün dargestellte Zeilen in Arbeitsblatt "Import 2005" kopieren.
Ist dies machbar?
Vielen Dank im Voraus....
Liebe Grüße
SELMA

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien auf Verfügbarkeit prüfen ?
09.01.2006 12:41:58
Josef
Hallo Selma!
Ungetestet!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub CheckFileAndCopy()
Dim sHSrc As Worksheet, sHTar As Worksheet
Dim lngRow As Long, lngLast As Long
Dim rng As Range
Dim strPath As String

strPath = "H:\Import\2005\" 'Dateipfad mit "\" am Ende !
Set sHSrc = Sheets("Tabelle1") 'Tabelle mit den Dateinamen - Anpassen!
Set sHTar = Sheets("Import 2005") 'Zieltabelle

With sHSrc
  lngLast = .Cells(Rows.Count, 6).End(xlUp).Row
  For lngRow = 2 To lngLast
    If Dir(strPath & .Cells(lngRow, 6).Text) <> "" Then
      .Range(.Cells(lngRow, 1), .Cells(lngRow, 9)).Interior.ColorIndex = 4
      If rng Is Nothing Then
        Set rng = .Range(.Cells(lngRow, 1), .Cells(lngRow, 9))
      Else
        Set rng = Union(rng, .Range(.Cells(lngRow, 1), .Cells(lngRow, 9)))
      End If
    End If
  Next
End With

If Not rng Is Nothing Then rng.Copy sHTar.Cells(2, 1)

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Dateien auf Verfügbarkeit prüfen ?
09.01.2006 12:54:19
Selma
Hallo Sepp,
hier bleibt es stehen:
If Dir(strPath & .Cells(lngRow, 6).Text) "" Then
LG
Selma
AW: Dateien auf Verfügbarkeit prüfen ?
09.01.2006 15:55:06
Josef
Hallo Selma!
Hab's bei mir gerade getestet und es läuft einwandfrei!
Stimmt der Pfad in "strPath"?
Steht in den Zellen der Dateinname mit der Endung (*.doc)?
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Dateien auf Verfügbarkeit prüfen ?
10.01.2006 12:26:35
Selma
Hallo Sepp,
jetzt funtioniert es....
Ein Zellinhalt hat keine Dateiendung gehabt :)
Danke nochmal....
Liebe Grüße
SELMA
AW: Dateien auf Verfügbarkeit prüfen ?
09.01.2006 13:21:27
Eugen
hi
probier das mal aus
Option Base 1
Dim szFiles() As String
Option Explicit
Public

Sub exist()
Dim szName As String
Dim szDir As String
Dim i, nRow, j, x As Long
Dim index As Integer
For i = 1 To Sheets.Count
If Sheets(i).Name = "Import 2005" Then Exit For
Next i
index = i
nRow = 1        ' ist die zeilzeile in import 2005
szDir = "c:\Daten\2005\"
ReDim Preserve szFiles(1)
szFiles(1) = Dir(szDir + "*.*")
Do While szFiles(UBound(szFiles)) <> ""
' extension entfernen
szFiles(UBound(szFiles)) = Mid(szFiles(UBound(szFiles)), 1, _
InStr(szFiles(UBound(szFiles)), ".") - 1)
ReDim Preserve szFiles(UBound(szFiles) + 1)
szFiles(UBound(szFiles)) = Dir
Loop
ReDim Preserve szFiles(UBound(szFiles) - 1)
For i = 2 To 6382
' hole filename
szName = ActiveSheet.Cells(i, 6).Value
' ohne extension
szName = Mid(szName, 1, InStr(szName, ".") - 1)
For x = 1 To UBound(szFiles)
If szFiles(x) = szName Then
ActiveSheet.Range(ActiveSheet.Cells(i, 1), _
ActiveSheet.Cells(i, 9)).Interior.Color = RGB(0, 255, 0)
' und gleich kopieren
For j = 1 To 9
Sheets(index).Cells(nRow, j).Value = ActiveSheet.Cells(i, j).Value
Next j
nRow = nRow + 1
Exit For
End If
Next x
Next i
End Sub

mfg
Anzeige
AW: Dateien auf Verfügbarkeit prüfen ?
09.01.2006 14:25:05
Selma
Hallo Eugen,
hier bleibt es stehen:
szName = Mid(szName, 1, InStr(szName, ".") - 1)
LG
SELMA
AW: Dateien auf Verfügbarkeit prüfen ?
10.01.2006 07:33:21
Eugen
hi
ist da irgendwo eine leerzeile drin ?
in den zeilen 2 bis 6382 ?
mfg
bitte antwort an mein mail, dann gehts schneller
eugen.wenderhold@esg.de
AW: Dateien auf Verfügbarkeit prüfen ?
10.01.2006 12:27:22
Selma
Hallo Eugen,
dein Makro funtioniert auch....
Ein Zellinhalt hat keine Dateiendung gehabt :)
Danke nochmal....
Liebe Grüße
SELMA

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige