Excel Spalten schnell durchsuchen

coxido

Grünschnabel
Hi Leute,

also hab vollgendes Problem:

Ich Schreibe ein Programm was aus einer Textdatei bestimmte Kurzbezeichnungen ausließt. Nun habe ich eine Excel Tabelle mit ca. 16.000 Einträgen. in dieser Excel Tabelle gibts eine Spalte für Kurzbezeichnungen und eine Für Langbezeichnungen.
Ich muß nun aus der vorhandenen Textdatei den entnommenen Kurzbezeichnungen die entsprechende Langbezeichnung finden.

Mein Code schaut ungefähr so aus

Public function getLangbezeichnung(temp As String) As String

Code:
 Dim Exceldatei As Object							 'hier nur als beispiel, normalerweise
Exceldatei = Get("c:\beispiel.xls")	    		  ' in einem Klassenmodul zuvor bestimmt
   
   Dim i As long
    i=1
   
   Do
   
   If  Exceldatei.Woorksheet(1).Range("E" & i) = "" Then :Exit Do
   
   If Exceldatei.Woorksheet(1).Range("E" & i) = temp
         getLangbezeichnung = Exceldatei.Woorksheet(1).Range("F" & i) 
         Exit Do
   End if
   
   i = i+1
   Loop
Erklärung:
Unter der E Spalte stehen die Kurzbezeichnungen und in der F die Langbezeichnungen.

Problem:
Wenn ich nur einen Wert suche kein thema doch sagen wir mal meine Textdatei besitzt 20 Kurzbezeichnungen und ich arbeite mit VB6 SP5 auf NT basis mit 256 MB Ram, er findet zwar ersten 5 ungefähr doch dann hängt mein rechner und es dauert auch ewig.

Eine schnelle alternative zum durchsuchen von Excel würde mir am besten gefallen aber auch andere angehensweisen und ideen sind erwünscht :-)

Danke
 
Zuletzt bearbeitet:
also um es auf jedenfall schneller zu machen, mach aus

Code:
If  Exceldatei.Woorksheet(1).Range("E" & i) = "" Then :Exit Do
   
   If Exceldatei.Woorksheet(1).Range("E" & i) = temp
         getLangbezeichnung = Exceldatei.Woorksheet(1).Range("F" & i) 
         Exit Do
   End if

das:

Code:
dim temp2 as string
temp2 = Exceldatei.Woorksheet(1).Range("E" & i)
If temp2 = "" Then :Exit Do
   
   If temp2 = temp then
         getLangbezeichnung = temp2
         Exit Do
   End if

ich habe mal son übersetzungsprogramm geschrieben, dass auf exceldateien zugriff. das hat ganz lange gedauert, weil der zugriff auf die exceldatei so lange dauert. wenn du aber nur einmal anstatt 3mal drauf zugreifst, wird es um einiges schneller ;)
 
Hi,

danke für die Antwort aber leider ist das auch nciht besonders effektiver. Tortzdem danke.
Falls noch jemand ne idee hat bitte tippen.

Cu
 
Zurück