- Pár nap, és humanoid robotok is futják már a félmaratont
- Google AI segíti az amerikai áramhálózat fejlesztését
- Egy vacsora, és a Trump-kormány már nem korlátozza az NVIDIA H20-as eladásait
- 600 tonna iPhone-t vitt az Apple az USA-ba Indiából Trump vámjai miatt
- Befutott az AI az ügyfélszolgálatra, és sokkal több terméket tudnak azóta eladni
- 600 tonna iPhone-t vitt az Apple az USA-ba Indiából Trump vámjai miatt
- Egy vacsora, és a Trump-kormány már nem korlátozza az NVIDIA H20-as eladásait
- Mesterséges intelligencia topik
- Mozilla Firefox
- Pár nap, és humanoid robotok is futják már a félmaratont
- Mikrotik routerek
- Linux kezdőknek
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Arch Linux
- Otthoni hálózat és internet megosztás
-
IT café
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
p5quser #44115 üzenetére
Szia,
A Split egy eredménytömböt próbál létrehozni, aminek az elemszáma a megtalált elválasztó karakterek száma alapján változik. Ha nem találja meg a karaktert, akkor 1 elemű lesz a tömb, a bemeneti értékkel az első elemben.
A tömb elemszámát az UBOUND() függvény adja meg.
Mielőtt a 3-ik elemet keresnéd meg kell nézned, hogy van-e egyáltalán?If UBound(spl) > 2 then
... 3-ik elemes keresésed
End ifHa jól értelmezem az eredeti felvetésedet, akkor ez a kód jobb eredményt fog adni mint a mostani.
Sub Kereses()
Dim rngSearch As Range 'ez a B oszlop
Dim txSearch As Range 'ez a B oszlop éppen vizsgált cellája lesz
Dim arrWhat() 'ez a G oszlop
Dim txWhat As Variant 'a splittel ide szedjük szét fenti cella tartalmát
Dim match As Long 'találatok számolása
Dim bestmatch As Long 'legtöbb találat
Dim bestWhat As Long 'legtöbb találatot adó keresés pozíciója
Dim i As Long
Dim j As Long
With ActiveSheet
'memóriában tárolt tömbe töltjük a keresendõ kifejezések listáját
'Transpose 1-es index-szel induló tömböt hoz létre
arrWhat = Application.Transpose(.Range("G2:G180"))
Set rngSearch = .Range("B1:B" & .Range("B1").End(xlDown).Row)
For Each txSearch In rngSearch
bestmatch = 0
bestWhat = 0
For i = 1 To UBound(arrWhat)
'keresendõ szavak létrehozása
txWhat = Split(arrWhat(i), " ")
If IsArray(txWhat) Then
match = 0
'Split mindig 0-ás index-szel hozza létre a tömböt
For j = 0 To UBound(txWhat)
match = match - (InStr(1, UCase(txSearch), UCase(txWhat(j))) > 0)
Next j
'ha találtunk több egyezést a korábbiaknál, akkor jegyezzük meg
If match > bestmatch Then
bestmatch = match
bestWhat = i
End If
End If
Next i
'mielõtt új cellára mennénk a C-D oszlopban írjuk ki hogy mi a legjobb egyezésünk
If bestWhat > 0 Then
txSearch.Offset(, 1) = bestmatch
txSearch.Offset(, 2) = arrWhat(bestWhat)
End If
Next txSearch
End With
End Subüdv
Új hozzászólás Aktív témák
Hirdetés
- 600 tonna iPhone-t vitt az Apple az USA-ba Indiából Trump vámjai miatt
- Kerékpárosok, bringások ide!
- Egy vacsora, és a Trump-kormány már nem korlátozza az NVIDIA H20-as eladásait
- Kínai és egyéb olcsó órák topikja
- Teljes verziós játékok letöltése ingyen
- Victoryus: Már a Josef Seibel se a régi
- Milyen egeret válasszak?
- Oázis Computer - Prohardver nyereményjáték, fődíj egy Samsung gamer monitor
- Milyen TV-t vegyek?
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- Samsung Galaxy S24 128GB Kártyafüggetlen, 1Év Garanciával
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
- Beszámítás! Xiaomi Redmi Note 10 Pro mobiltelefon garanciával hibátlan működéssel
- Bomba ár! Dell Latitude 7400 - i7-8GEN I 16GB I 256GB SSD I 14" FHD IPS I CAM I W10 I Garancia!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest