JAg har ett excelark som databas. Att skriva och läsa är inget problem, men jag undrar hur man kan göra en sökning. Te.x. efter strängen 12345 och få positionen returnerad (A4). Om ditt sheet heter Sheet1: Jag får det inte att fungera... Du måste vara på ett sheet! Får felet Ojsan... en Range ska den ha. Då blev det Type Mismatch på Set rng =.. raden. Jag tror att Cells(1,1) är riktigt, men du kan prova med ordet Range istället för hela Cells(1,1).Söka i Excelark
Använder
Set xlApp = CreateObject("Excel.Application")
för läs/skrivSv: Söka i Excelark
rngHittadRange = Sheet1.Find("Sträng"[, massa options])Sv: Söka i Excelark
Här är koden och några tappra försök. Några förslag?
Dim xl As New Excel.Application
Private Sub Form_Load()
Dim tmp As Variant
xl.Workbooks.Open App.Path & "\TD.xls"
'Combo1.AddItem Excel.ActiveCell.Value
'tmp = xl.prislista.Find("888889", 1, 1, 19000, 1, False, False)
'tmp = xl.Workbook("prislista").Find("888889", 1, 1, 19000, 1, False, False)
tmp = xl.Workbook("prislista").Find("888889", 1, 1, 19000, 1, False, False)
End SubSv: Söka i Excelark
Jag skulle skriva något i stil med:
<code>
Private Sub Form_Load()
Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
Set wb = xl.Workbooks.Open (App.Path & "\TD.xls")
Set ws = wb.Worksheets("Ditt sheetnamn")
Set rng = ws.Find("888889", 1, 1, 19000, 1, False, False)
Combo1.AddItem rng.Value
End Sub
</code>Sv: Söka i Excelark
Metode or datamember not found
och den gnäller på Find
Har jag glömt någon referens eller komponent?Sv: Söka i Excelark
Testa att byta ut:
Set rng = ws.Find("888889", 1, 1, 19000, 1, False, False)
mot
Set rng = ws.Cells(1,1).Find("888889", 1, 1, 19000, 1, False, False) Sv: Söka i Excelark
Bytte till Cells(1000,10) för att få med den data jag vill hitta men samma fel.Sv: Söka i Excelark
Sen är jag lite tveksam till övriga parametrar; skriv hellre
wks.Range.Find("din sträng")
om du inte behöver dem.
Om inte det heller funkar kan du testa med att byta typen på rng till Variant, men det ska inte ge någon skillnad.