Hallo Zusammen,
Ich arbeite mit Excel 2003 SP3 und einem Informationssystem von Trackwise. Wenn ich bestimmte Infos im Tabellenformat aus diesem System exportiere, dann bekomme ich diese Daten in zwei seperaten CSV-Tabellen. Die Daten beider Tabellen lassen sich anhand einer „PR ID“-Nummer zusammenführen. Diese ist in jeder Zeile zu finden und wenn beide Tabellen eine übereinstimmende Nummer haben werden beide Daten in einer neuen Tabelle in einer Zeile nebeneinander dargestellt. Bei „PR ID“-Nummern die 4-stellig oder kleiner sind funktioniert das Makro einwandfrei, aber sobald es 5-stellig wird werden die Daten sinnfrei untereinanderweg in der neuen Tabelle zusammengeführt. Ich habe im hier unten zusehenden Code versucht eine Einschränkung wie „kleiner gleich 4“ oder etwas ähnliches zu finden, war aber ohne Erfolg.
Kann mir jemand sagen wieso es mit den 5-stelligen „PR ID“-Nummer nicht richtig funktioniert? Vielen Dank!!! Gruß TecAttack
Sub MergeSheets()
’ opens two workbooks and merges data from the second to be opened into the first one
Application.ScreenUpdating = False
Dim Sourcefile As String 'opens sourcefile (where date are merged in)
With Application.FileDialog(msoFileDialogOpen)
.Title = „file to be merged in“
.Filters.Add „csv-file“, „*.csv“
.Show
Sourcefile = .SelectedItems(1)
End With
On Error Resume Next
Dim Gridfile As String 'opens gridfile (where date come from)
With Application.FileDialog(msoFileDialogOpen)
.Title = „file containing the grid fields“
.Filters.Add „csv-file“, „*.csv“
.Show
Gridfile = .SelectedItems(1)
End With
On Error Resume Next
'getting the filename of the gridfile-dir-string to close it later
Dim x As Variant
x = Split(Gridfile, „“)
Gridfile = x(UBound(x))
'file with data to be copied out of being opened
Workbooks.Open Filename:=Gridfile
Workbooks(Gridfile).Worksheets(1).Activate
'range to be copied will be determined
Range(„A1“, Cells(ActiveSheet.UsedRange.Rows.count, ActiveSheet.UsedRange.Columns.count)).Select
Selection.Copy
'file the date to be copied into being opened
Workbooks.Open Filename:=Sourcefile
Workbooks(Sourcefile).Activate
'data where merged into the sourcefile
Dim NewPrColumn As Integer
NewPrColumn = ActiveSheet.UsedRange.Columns.count + 1
Cells(1, NewPrColumn).Select
ActiveSheet.Paste
'now the big one: sort-algorithm
Dim i As Integer
Dim j As Integer
Dim sPrID As Integer
Dim gPrID As Integer
For i = 2 To ActiveSheet.UsedRange.Rows.count
sPrID = Cells(i, 1).Value
gPrID = Cells(i, NewPrColumn).Value
If gPrID > sPrID Then
If Not sPrID = 0 Then
Range(Cells(i, NewPrColumn), Cells(i, ActiveSheet.UsedRange.Columns.count)).Insert
End If
End If
If gPrID