PDA

Vollständige Version anzeigen : Suche VBA Programmierer für Excel Problem


Shakapong58
22.09.2016, 17:22
Hallo Zusammen,

ich suche für folgendes Problem eine Person, die mir dies über VBA lösen kann.

Problem:
Ich möchte in einer Excel-Datei (Tabelle) die Zeilen B4 und C4 aus anderen Excel-Dateien auselesen. Bedeutet, dass ich in der Datei mit dem Namen Auslieferung die Auftragsnummer und den Name des Verkäufers aus den anderen Excel-Dateien auslesen lassen möchte. Diese "anderen" Excel-Dateien werden in einem Ordner automatisiert generiert und haben einen Dateinamen wiefolgt 15G5463.xls usw. dieser Dateiname ist gleichzeitig auch die Auftragsnummer. Dieser Name bzw. diese Nummer kann von 15G0000 bis 15G9999 bzw 16G0000 bis 16G9999 etc. laufen.

Wenn jetzt eine Datei mit solch einem Namen generiert wird, soll in der neu anzulegenen Datei/Tabelle über die VBA programmierung, die Auftragsnummer (Zeile B4) und der Verkäufername (Zeile B5) aus der neu generierten Datei ausgelesen werden und in die Tabelle eingefügt werden.

Ich hab auch schon ein bissl Google befragt meine daher, dass es über VBA zu lösen ist. Da ich leider noch keine Ahnung habe wie die Programmiernung über VBA funktioniert und auch von Makros keinen blassen schimmer habe, würde ich mich freuen, wenn dies ein Community-Mitglied für mich bauen könnte. Gerne bin ich bereit hierfür auch einen Obolus zu zahlen.

Beste Grüße,
Shakapong 58

xlph
22.09.2016, 21:16
Hab dir eine PN geschickt.

rastrans
22.09.2016, 23:45
Hallo Shakapong,

wenn die Dateien mit den Aufträgen in gleichem Verzeichnis liegen wie diese Datei hier, dann einfach nur die Datei ausführen. Beim Start werden alle neuen Dateien der Tabelle hinzugefügt.

Viele Grüße
rastrans

Shakapong58
23.09.2016, 09:16
Guten Morgen,

Sie haben eine Private Nachricht von mir erhalten.


Beste Danke schonmal,
Grüße Shakapong58

rastrans
23.09.2016, 10:11
Hallo,

da die Daten wohl nun in einer anderen Zelle liegen (in B7 statt in C4) und die Dateinamen der anderen Dateien doch nicht XLS-Dateien sind (jedenfals wohl nicht alle) hier die Erweiterung.

Es werden alle Dateien in dem Excelverzeichnis überprüft, ausser die Master-Datei selbst. Dabei spielt es keine Rolle ob es sich um eine XLS, XLSM oder XLSX Datei handelt.

Viele Grüße
rastransSub DatenLaden()
Dim ws As Worksheet
Dim wb As Workbook
Dim strPfad As String
Dim strDateiname As String
Dim strAuftragsnummer As String
Dim rng As Range
Dim lngZeile As Long

strPfad = ThisWorkbook.Path & "\"
Set ws = Worksheets("Auftraege")
lngZeile = ws.Cells(Rows.Count, 1).End(xlUp).Row
strDateiname = Dir(strPfad & "*.xlsx")
Application.ScreenUpdating = False
Do Until Len(strDateiname) = 0
If StrComp(strDateiname, ThisWorkbook.Name, vbTextCompare) <> 0 Then
strAuftragsnummer = Left(strDateiname, InStrRev(strDateiname, ".") - 1)
Set rng = ws.Columns(1).Find(What:=strAuftragsnummer, LookAt:=xlWhole)
If rng Is Nothing Then
lngZeile = lngZeile + 1
Set wb = Workbooks.Open(Filename:=strPfad & strDateiname, _
ReadOnly:=True)
With ws.Cells(lngZeile, 1)
.Value = strAuftragsnummer
.Offset(0, 1).Value = wb.Worksheets(1).Range("B4").Value
.Offset(0, 2).Value = wb.Worksheets(1).Range("B7").Value
End With
wb.Close
End If
End If
strDateiname = Dir()
Loop
Application.ScreenUpdating = True
End Sub