- mefistofeles: Az elhízás nem akaratgyengeség!
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- GoodSpeed: Samsung DV90DG52A0ABLE hőszivattyús szárítógép
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- Kókuszdió: Ryzen ( Zen4 / Zen5) – amikor a „normális működés” magyarázatra szorul
- Flashback: Olcsó emulátoros kézi konzol R36S
- bambano: Bambanő háza tája
-
LOGOUT
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
detroitrw
#16893
üzenetére
Hello,
adott:
A1=1603+1603+640+640+640+388+388 -> pl. B1=2db - 1603Gondolom a számok is változnak (nem mindig csak 1603, 640 és 388 ismétlődik), ezért csak függvényekkel megoldani körülményes, javaslatom a lenti makró (mindig csak a kijelölt cellát vizsgálja):
Sub Szetszed()
Dim arraySplit
Const strDelimiter As String * 1 = "+" 'tagolás jele
Dim arrayResult() 'itt lesznek a darabszámok és a számok/karakterek
Dim c As Long, i As Long
Dim blnHit As Boolean 'logikai jelző ha már létezik a vizsgált szám
arraySplit = Split(ActiveCell.Value, strDelimiter)
If IsArray(arraySplit) And UBound(arraySplit) > 0 Then
ReDim arrayResult(1 To 2, 1) 'találat létrehozása
arrayResult(1, 1) = 1 '1 db
arrayResult(2, 1) = arraySplit(0) 'első érték megjegyzése
'további számokon végigfut
For c = 1 To UBound(arraySplit)
blnHit = False
i = 1
Do
'ha már van ilyen szám, akkor eggyel növeljük a számlálót
If arraySplit(c) = arrayResult(2, i) Then
arrayResult(1, i) = arrayResult(1, i) + 1
blnHit = True
End If
i = i + 1
Loop Until blnHit Or i > UBound(arrayResult, 2)
'ha még nincs ilyen akkor megjegyezzük a számot
If Not blnHit Then
ReDim Preserve arrayResult(1 To 2, UBound(arrayResult, 2) + 1)
arrayResult(1, UBound(arrayResult, 2)) = 1
arrayResult(2, UBound(arrayResult, 2)) = arraySplit(c)
End If
Next c
Application.ScreenUpdating = False
For i = 1 To UBound(arrayResult, 2)
Cells(ActiveCell.Row, ActiveCell.Column + i) = arrayResult(1, i) & " db - " & arrayResult(2, i)
Next i
Application.ScreenUpdating = True
End If
End Subüdv.
Új hozzászólás Aktív témák
- Fejhallgató erősítő és DAC topik
- AMD GPU-k jövője - amit tudni vélünk
- Napelem
- EA Sports WRC '23
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Így tüzelt el százbillió forintot az AI a héten
- exHWSW - Értünk mindenhez IS
- Horizon Hunters Gathering: taktikai ko-op játékkal bővül a Horizon-univerzum
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Milyen egeret válasszak?
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- MS SQL Server 2016, 2017, 2019
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 12GB I 256GB SSD I 14" FHD I Cam I W11 I Garancia!
- CSX 2x2GB (4GB) DDR2 800 MHz kit
- BESZÁMÍTÁS! Intel Core i7 8700K 6 mag 12 szál processzor garanciával hibátlan működéssel
- Olvass! Akció! Acer Nitro 5 AN515-57! I7 11800H / RTX 3050Ti / 16GB DDR4 / 512GB Nvme SSD!
- Game Pass Ultimate előfizetés azonnal, problémamentesen, méghozzá OLCSÓN! Immáron 8 éve!
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50
