Hallo Leute,
ich habe folgends Problem,
ich habe ein Programm geschreiben, welches aus einer Excel Datei, welche mehrere Tabellenseiten hat, die Daten in eine XML Datei schreibt.
Meine Tabellen sind so aufgebaut:
Tabellenseite 1: Tabellenseite 2: (english)
Name | ID | vorname | etc.| Name | ID | firstname | etc.|
Hans | 1 | Peter | etc.| Hans | 1 | Peter | etc.|
Jürgen | 2 | Wurst | etc.| Jürgen | 2 | Wurst | etc.|
usw.
Mein Fehler dabei ist es, das wenn es in meiner Tabellenseite 1 eine Nummer 20 ((ID)welche an 20 bzw. 21 Stelle ist) gibt,
und diese (ID(20)) bei der Tabellenseite 3 an Erster Stelle kommt, schreibt er die ID 20 (und alles was dazu gehört) auf die Stelle 19 in der XML Datei.
Ist alles ein bisschen schwer zu formulieren
Hiereinmal mein Quellcode
Zeile = ThisWorkbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
For currentNumber = 1 To Zeile
found = False
currentText = Worksheets(2).Cells(currentNumber, 1).Value
For lRow = 2 To Zeile
If Worksheets(2).Cells(lRow, 2) = currentNumber And currentText <> "" Then
Print #1, "<Name=""" & Worksheets(2).Cells(lRow, 1) & """ID=""" & currentNumber & """> "
End If
For counter = 1 To ActiveWorkbook.Sheets.Count
If Worksheets(counter).Cells(lRow, 2).Value = currentNumber And currentText <> "" And Worksheets(counter).Cells(lRow, 1) = currentText Then
UTF8Code = GetUTF8String(Worksheets(counter).Cells(lRow, 4).Value)
Print #1, vbTab; "<Vorname=""" & Worksheets(counter).Cells(lRow, 3) & """ Etc=""" & UTF8Code & """>"
found = True
ElseIf Worksheets(counter).Cells(lRow, 2).Value = currentNumber - 1 And currentText <> "" And Worksheets(counter).Cells(lRow, 1) = currentText Then
UTF8Code = GetUTF8String(Worksheets(counter).Cells(lRow, 4).Value)
Print #1, vbTab; "<Vorname=""" & Worksheets(counter).Cells(lRow, 3) & """ Etc=""" & UTF8Code & """>"
found = True
End If
Next counter
If found = True Then
'Exit For
End If
Next lRow
Next currentNumber
Ich bitte um Hilfe ...
|