-
Fototrend
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
-
Delila_1
veterán
válasz
Nagyzoli27
#42453
üzenetére
Szívesen.
-
Delila_1
veterán
válasz
Nagyzoli27
#42448
üzenetére
Feltöltöttem
Nagyon sok volt a B oszlop üres cellája. Azzal kellett volna kezdenem, hogy az ezekhez tartozó ID-ket ki kellett volna törölnöm a D oszlopból a DARABTELI függvény segítségével. -
Delila_1
veterán
válasz
Nagyzoli27
#42448
üzenetére
Megnyitod mindkét füzetet, a cross.xlsx-re állsz, majd indítod a makrót.
-
Delila_1
veterán
válasz
Nagyzoli27
#42445
üzenetére
Ez ugyanaz, mint az előző. Ebbe a füzetben is indíthatod a makrót.
-
Delila_1
veterán
válasz
Nagyzoli27
#42443
üzenetére
Mert annyi adat van a 2. táblában, ahol az első duplikációi nem szerepelnek.
-
Delila_1
veterán
válasz
Nagyzoli27
#42440
üzenetére
Próbáld Itt.
-
Delila_1
veterán
válasz
Nagyzoli27
#42437
üzenetére
Lehet, hogy csak egyszer lesz szükséged a makró eredményére. Itt van.
-
Delila_1
veterán
válasz
Nagyzoli27
#42437
üzenetére
Módosítottam a makrón. A sok sorod miatt a változókat Long típusúnak kellett megadni, és azt nem írtad, hogy az első táblázatban vannak tételek, amikhez nem tartozik kapcsolódó ID.
Működik a makró, de nagyon sokáig fut. Érdemes megnézned Mutt ajánlatát.
Azért bemásolom ide a makrót. Kibővítettem azzal, hogy az A oszlop tartalmát átmásolja a D oszlopba, majd eltávolítja az ismétlődéseket. A makrót tartalmazó fájlt makróbarátként kell elmenteni.Sub Kapcsolodo()
Dim sor1 As Long, sor2 As Long, usor1 As Long, usor2 As Long
Columns("A:A").Copy Range("D1")
Columns("D:D").RemoveDuplicates Columns:=1, Header:=xlYes
Range("B1").Copy Range("E1")
usor1 = Range("A1").End(xlDown).Row
usor2 = Range("D1").End(xlDown).Row
For sor2 = 2 To usor2
For sor1 = 2 To usor1
If Cells(sor1, 2) <> "" Then
If Cells(sor2, 4) = Cells(sor1, 1) Then
If Cells(sor2, 5) = "" Then
Cells(sor2, 5) = Cells(sor1, 2)
Else
Cells(sor2, 5) = Cells(sor2, 5) & "|" & Cells(sor1, 2)
End If
End If
End If
Next
Next
MsgBox "Kész van", vbInformation, "Értesítés"
End Sub -
Mutt
senior tag
válasz
Nagyzoli27
#42432
üzenetére
Szia,
Makró nélkül az Excel 2010-től elérhető Power Query-t tudom javasolni.
Ebben a hozzászólásban látod a lépéseket (a 7-10-es lépések neked nem kellenek).üdv
-
Delila_1
veterán
válasz
Nagyzoli27
#42432
üzenetére
Egy rövid makróval megoldható.
Sub Kapcsolodo()
Dim sor1 As Integer, sor2 As Integer, usor1 As Integer, usor2 As Integer
usor1 = Range("A" & Rows.Count).End(xlUp).Row
usor2 = Range("D" & Rows.Count).End(xlUp).Row
For sor2 = 2 To usor2
For sor1 = 2 To usor1
If Cells(sor2, "D") = Cells(sor1, 1) Then
If Cells(sor2, 5) = "" Then
Cells(sor2, 5) = Cells(sor1, 2)
Else
Cells(sor2, 5) = Cells(sor2, 5) & " | " & Cells(sor1, 2)
End If
End If
Next
Next
End Sub -
Delila_1
veterán
válasz
Nagyzoli27
#41820
üzenetére
Nem lehet, de a keresőben a célkereszt szó beírásával találsz pár makrós megoldást.
Ha nem erre gondoltál, a cellába beírt =CÍM(SOR();OSZLOP())függvény beírja a címet. -
lappy
őstag
válasz
Nagyzoli27
#41594
üzenetére
saját függvénnyel
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby20140924
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then Remove= Join(.keys, delim)
End With
End Function -
Laciahegyrol
csendes újonc
válasz
Nagyzoli27
#41237
üzenetére
Szuper, örülök, ha segítettem.
Ha lehúzás előtt a CTRL-t nyomod, előfordul, hogy más eredményt kapsz: nem számolni kezd egyesével, hanem ismételgeti a korábban beírt számokat... -
Laciahegyrol
csendes újonc
válasz
Nagyzoli27
#41234
üzenetére
Itt van egy link, google táblázatokban megcsináltam:
https://docs.google.com/spreadsheets/d/1KAFxy47xH-IiYoxKB9cQ7qoL2YmWJVq20yJHJsGSgnM/edit?usp=sharing
-
Laciahegyrol
csendes újonc
válasz
Nagyzoli27
#41232
üzenetére
Nem-nem! Valószínű nem fogalmaztam jól.
0-át és 1-et begépeled.Utána kijelölöd a két cellát, a cella jobb alján levő kis fekete négyzettel pár másodperc az aljáig lehúzni.
Leszűrni a 0 vagy 1-re szintén pár másodperc és már látod is az összes páros vagy páratlan sort.
Kijelölni az első sor kijelölése után CTRL+Shift+le nyíl, jobb klikk, törlés. Kész. -
Laciahegyrol
csendes újonc
válasz
Nagyzoli27
#41229
üzenetére
Szia,
Nekem az jutott eszembe, hogy egy segédoszlopba beírod az első sorba, hogy 0, a másodikba, hogy 1. Lehúzod addig, amíg kell. Leszűröd a törlendő sorhoz tartozó számot, majd kijelölöd mindet és törlöd. Ezután segédoszlopot eltávolítod.
Üdv. -
lappy
őstag
válasz
Nagyzoli27
#41213
üzenetére
képlet nincs csak macro-val lehet
kivéve akkor ha minden esetben a szövegben azonos helyen van a szám.
a te példád szerint a 3 karaktertől
Új hozzászólás Aktív témák
- Pedzegeti az új Xbox irányát a Microsoft
- Még a saját szövetségeseivel szemben is fegyverként használná az AI-t az USA
- Xiaomi 17 Ultra - jó az optikája
- Yettel topik
- Gumi és felni topik
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Mutasd magad topic!
- Azonnali VGA-s kérdések órája
- Tőzsde és gazdaság
- Hobby rádiós topik
- További aktív témák...
- The Elder Scrolls Online Imperial Collector s Edition
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- GYÖNYÖRŰ iPhone 14 Plus 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4642
- GYÖNYÖRŰ iPhone 13 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4522
- Eladó Apple iPhone 14 128GB kék / 12 hó jótállás
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- Dell 14 Latitude 7450 WUXGA 2in1 Touch X360 Ultra5 135U 12mag 16GB 512GB Win11 Pro WiFi7 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50