Hallo ihr lieben,
kann mir jemand diesen VB6-Code in VB.Net übersetzen?
Ich hab hier eine Exceldatei also test.xlsm , die aus einer anderen 20914.csv eingelesen werden soll anhand der Hersteller-Nr.
Wenn ich die Herst.-Nr. in der test.xlsm also irgendeinem feld eingebe dann soll der rest (Produktbeschreibung, Listpreis, etc) in der gleichen Zeile erscheint werden und jeweilige spalte
also spalte a zeile 1 die herstellnummer spalte b zeile 1 produktbeschreibung usw.
kann mir jemand diesen VB6-Code in VB.Net übersetzen?
Ich hab hier eine Exceldatei also test.xlsm , die aus einer anderen 20914.csv eingelesen werden soll anhand der Hersteller-Nr.
Wenn ich die Herst.-Nr. in der test.xlsm also irgendeinem feld eingebe dann soll der rest (Produktbeschreibung, Listpreis, etc) in der gleichen Zeile erscheint werden und jeweilige spalte
also spalte a zeile 1 die herstellnummer spalte b zeile 1 produktbeschreibung usw.
Private Sub Workbook_Open()
Main
End Sub
Modul
Code:
Public arrDaten() As String
Sub Main()
Dim ReadLine As String
Dim Zähler As Long
Dim Dummy() As String
Dim Datei As Integer
Dim i As Long
Datei = FreeFile
'ToDo --> OpenFile-Dialog
Open DieseArbeitsmappe.Path & "\20194.csv" For Input As #Datei
Zähler = 1
'On Error Resume Next
Do
ReDim Preserve arrDaten(0 To 3, 1 To Zähler)
Line Input #Datei, ReadLine
If ReadLine <> "" Then
Dummy = Split(ReadLine,";")
For i = 0 To 3
arrDaten(i, Zähler) = Dummy(i)
Next
Zähler = Zähler + 1
End If
Loop Until EOF(Datei)
Close #Datei
End Sub
Die Worksheet_Change sieht so aus:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Dim AktuelleZeile As Long
AktuelleZeile = Target.Row
If Target.Column = 1 Then
For i = 1 To UBound(arrDaten, 2)
If UCase(CStr(arrDaten(1, i))) = UCase(CStr(Target.Value)) Then
Worksheets(1).Cells(AktuelleZeile, 2) = arrDaten(0, i)
Worksheets(1).Cells(AktuelleZeile, 3) = arrDaten(2, i)
Worksheets(1).Cells(AktuelleZeile, 4) = arrDaten(3, i)
Exit For
End If
Next
End If
End Sub
Zuletzt bearbeitet: