
Originally Posted by
Soly_90
Hello ,
i need a help .
i have two csv files
the first csv file contains a table , each column seperates with ;
the second csv file contains a table ,each column seperates with ,
OOps, I missed...
Sub test2()
Dim fn$(1), x(1), y(1), i&, ii&, iii&, n&, temp$
For i = 0 To 1
fn(i) = Application.GetOpenFilename("CSVFiles,*.csv")
If fn(i) = "False" Then Exit Sub
Next
For i = 0 To 1
x(i) = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(fn(i)).ReadAll, vbNewLine)
Next
For i = 0 To UBound(x(0))
If LCase$(x(0)(i)) Like "index;*" Then
For ii = i + 1 To UBound(x(0))
temp = Split(x(0)(ii), ";")(1)
For iii = 0 To UBound(x(1))
If Split(x(1)(iii), ",")(0) = temp Then
y(0) = Split(x(0)(ii), ";")
y(1) = Split(x(1)(iii), ",")
y(0)(1) = y(1)(1)
y(0)(1) = y(0)(1) & ";" & y(1)(2)
x(0)(n) = Join(y(0), ";"): n = n + 1
End If
Next
Next
End If
Next
With [a2].Resize(n)
.CurrentRegion.ClearContents
.Rows(0).Resize(, 9) = Array("index", "type", "art", "part", "full", "end/type", "x", "y", "z")
.Value = Application.Transpose(x(0))
.Columns(1).TextToColumns .Cells(1), 1, Semicolon:=True
.Columns("g:i").Replace ",", ".", 2
End With
End Sub