Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bitte in Makro mehrere Dateinamen auswerten

Bitte in Makro mehrere Dateinamen auswerten
01.06.2006 10:02:39
Nicole
Hallo !
Bei folgendem Makro hat Hans mir gestern schon gut weitergeholfen (vielen Dank nochmal!).
Habe aber trotzdem noch ein Problem.
Dieses Makro durchsucht jetzt eine andere geöffnete Tabelle mit der bezeichnung "Daten"und dort
nur die Blätter "Vorbereitung", "Aufmass" nach den passenden Positionsnummern und übernimmt dann die
Artikelbeschreibung.
Meine Tabellen, die durchsucht werden sollen haben aber immer noch einen Zusatz im Dateinamen
z.B. Daten_domo_001, Daten_domo_003 oder Daten_thyss_001 .
Ist es möglich dies in dem Makro anzupassen ?
Eine andere Möglichkeit für mich wäre noch, dass eventuell alle geöffneten Dateien ohne
spezielle Bezeichnung durchsucht werden.
Für Eure Hilfe wäre ich sehr dankbar.
Gruß Nicole

Sub Aufmassdaten()
Dim wks As Worksheet
Dim rng As Range
Dim iRowL As Integer, iRow As Integer
Dim tarWks As Worksheet
Set tarWks = Worksheets("Rechnung")
Dim wb As Workbook, ab As Workbook
'aktives Workbook merken
Set ab = ActiveWorkbook
'wenn Quelle.XLS noch nicht offen ist
'Set wb = Application.Workbooks.Open("D:\Meine_Dateien_neu\Test\Daten.xls")
'sonst
Set wb = Workbooks("Daten.xls")
ab.Activate
For Each wks In wb.Sheets(Array("Vorbereitung", "Aufmass"))
With wks
iRowL = tarWks.Cells(.Rows.Count, 1).End(xlUp).Row
For iRow = 8 To iRowL
If Not IsEmpty(tarWks.Cells(iRow, 1)) Then
Set rng = .Cells.Find(tarWks.Cells(iRow, 1), _
lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
For iSpalte = 1 To 3
tarWks.Cells(iRow, iSpalte).Value = .Cells(rng.Row, iSpalte).Value
If .Cells(rng.Row, iSpalte).Font.Bold = True Then
tarWks.Cells(iRow, iSpalte).Font.Bold = True
Else
tarWks.Cells(iRow, iSpalte).Font.Bold = False
' Fetten Text im Inhalt bestimmen und in Zielzelle formatieren
iFettStart = 0
iFettEnde = 0
i = 0
Do Until i = Len(.Cells(rng.Row, iSpalte).Value)
i = i + 1
If iFettStart = 0 And .Cells(rng.Row, iSpalte).Characters(Start:=i, Length:=1).Font.FontStyle = "Fett" Then
iFettStart = i
Else
If iFettStart > 0 And .Cells(rng.Row, iSpalte).Characters(Start:=i, Length:=1).Font.FontStyle <> "Fett" Then
iFettEnde = i
tarWks.Cells(iRow, iSpalte).Characters(Start:=iFettStart, Length:=iFettEnde - iFettStart).Font.FontStyle = "Fett"
iFettStart = 0
iFettEnde = 0
End If
End If
Loop
If iFettStart > 0 And iFettEnde = 0 Then 'Text ist bis zum Ende Fett
tarWks.Cells(iRow, iSpalte).Characters(Start:=iFettStart, Length:=i + 1 - iFettStart).Font.FontStyle = "Fett"
End If
End If
Next iSpalte
End If
End If
Next iRow
End With
Next wks
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Bitte in Makro mehrere Dateinamen auswerten
01.06.2006 11:53:34
Eugen
hi

Sub Aufmassdaten()
Dim wks As Worksheet
Dim rng As Range
Dim iRowL As Integer, iRow As Integer
Dim tarWks As Worksheet
Set tarWks = Worksheets("Rechnung")
Dim wb As Workbook, ab As Workbook
'aktives Workbook merken
Set ab = ActiveWorkbook
'wenn Quelle.XLS noch nicht offen ist
'Set wb = Application.Workbooks.Open("D:\Meine_Dateien_neu\Test\Daten.xls")
'sonst
ab.Activate
***************************anfang
szfile = dir("d:\meine_daten\test\daten*.xls")
' holt nacheinander alle dateien mit diesem suchmuster
do while szfile <> ""
set wb = workbooks.open(szFile)
***************************ende
' wenn du alle sheets durchsuchen willst, lass einfach die array anweisung weg
For Each wks In wb.Sheets          '(Array("Vorbereitung", "Aufmass"))
With wks
iRowL = tarWks.Cells(.Rows.Count, 1).End(xlUp).Row
For iRow = 8 To iRowL
If Not IsEmpty(tarWks.Cells(iRow, 1)) Then
Set rng = .Cells.Find(tarWks.Cells(iRow, 1), _
lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
For iSpalte = 1 To 3
tarWks.Cells(iRow, iSpalte).Value = .Cells(rng.Row, iSpalte).Value
If .Cells(rng.Row, iSpalte).Font.Bold = True Then
tarWks.Cells(iRow, iSpalte).Font.Bold = True
Else
tarWks.Cells(iRow, iSpalte).Font.Bold = False
' Fetten Text im Inhalt bestimmen und in Zielzelle formatieren
iFettStart = 0
iFettEnde = 0
i = 0
Do Until i = Len(.Cells(rng.Row, iSpalte).Value)
i = i + 1
If iFettStart = 0 And .Cells(rng.Row, iSpalte).Characters(Start:=i, Length:=1).Font.FontStyle = "Fett" Then
iFettStart = i
Else
If iFettStart > 0 And .Cells(rng.Row, iSpalte).Characters(Start:=i, Length:=1).Font.FontStyle <> "Fett" Then
iFettEnde = i
tarWks.Cells(iRow, iSpalte).Characters(Start:=iFettStart, Length:=iFettEnde - iFettStart).Font.FontStyle = "Fett"
iFettStart = 0
iFettEnde = 0
End If
End If
Loop
If iFettStart > 0 And iFettEnde = 0 Then 'Text ist bis zum Ende Fett
tarWks.Cells(iRow, iSpalte).Characters(Start:=iFettStart, Length:=i + 1 - iFettStart).Font.FontStyle = "Fett"
End If
End If
Next iSpalte
End If
End If
Next iRow
End With
Next wks
*************************anfang
szFile = dir         ' nächster file
loop
*************************ende
End Sub

die mit *****************anfang
eingefasten bereiche sind von mir und müssten
im besagten verzeichnis alle dateien einsammeln, die
dem suchmuster entsprechen.
************ende
mfg
wd
Anzeige
AW: Bitte in Makro mehrere Dateinamen auswerten
01.06.2006 12:33:42
Nicole
Hallo
vielen Dank für Deine Antwort.
Das Script funktioniert auch so weit es gibt nur ein Problem.
In diesem Fall sucht er mir alle Dateien in dem Verzeichnis durch.
Es übernimmt also auch Positionen, die mit meinem aktuellen Projekt
nichts zu tun haben.
Eine geöffnete Datei, die immer mit dem Dateinamenanfang Daten_xxx beginnt
soll durchsucht werden. Beim nöchsten Projekt kann die Datei Daten_yyy heißen.
Dies soll das Script erkennen. (Das unterscheiden ist ja nur nötig wenn die Datei geöffnet ist)
Deshalb habe ich geschrieben, dass als Alternative eventuell nur eine noch zusätlich geöffnete datei durchsucht wird, da ich dachte das das einfacher zu verwirklichen ist.
Würdest mir sehr helfen, wenn du dir da nochmal
gedanken machst. DANKE
Gruß Nicole
Anzeige
AW: Bitte in Makro mehrere Dateinamen auswerten
HansHei
Hallo Nicole,
lösch das Hochkomma vor der Array-Anweisung und teste mal.
'(Array("Vorbereitung", "Aufmass"))
Gruß
Hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige