- Google Pixel topik
- Milyen okostelefont vegyek?
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S24 - nos, Exynos
- iPhone topik
- Magyarított Android alkalmazások
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- One mobilszolgáltatások
- Apple iPhone 16 Pro - rutinvizsga
-
Mobilarena
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
Badb0y #18522 üzenetére
Hello,
...elmentek egy másik excel táblából legenerált táblázatot csv-be, az ő helyére kérdőjelet tesz...
Próbáld meg Unicode-os szövegként menteni, amely egy tabulátorral elválasztott csv.
Más megoldás pedig makró használata, 2007-től ez használható. Unicode CSV Addin
üdv.
-
Badb0y
addikt
-
válasz
Badb0y #11782 üzenetére
Private Sub CommandButton1_Click()
Dim MyRange As Range
'Ettől a cellától kezdődnek az adatok
Set MyRange = Range("C2")
For i = ActiveSheet.UsedRange.Rows.Count To MyRange.Row Step -1
If (InStr(1, Cells(i, MyRange.Column).Value, "BONTOTT", vbTextCompare) > 0 Or _
InStr(1, Cells(i, MyRange.Column).Value, "Scratch", vbTextCompare) > 0 Or _
InStr(1, Cells(i, MyRange.Column).Value, "Refurbished", vbTextCompare) > 0) Then
Cells(i, MyRange.Column).EntireRow.Delete
End If
Next i
End Sub -
-
-
válasz
Badb0y #11780 üzenetére
1. Melyik excel sheet-hez adtad hozzá? (ahhoz kell, amin az adataid vannak a H oszlopban)
2. Ha ráklikkeltél (duplaklikk ugye), akkor létrejön automatikusan ez:Private Sub CommandButton1_Click()
End SubÉrtelemszerűen, az általam adott makró kódjából csak az ez közti kódot kell már csak bemásolni, nem az egészet, mert akkor hibát fog dobni.
3. Mi az hogy nem megy? Hibát dob? Nem azt csinálja, amit szeretnél?
-
-
válasz
Badb0y #11775 üzenetére
Private Sub CommandButton1_Click()
Dim MyRange As Range
Dim MyFirstRow As Long, MyLastRow As Long
Dim MyArray As Variant
'Ettől a cellától kezdődnek az adatok
Set MyRange = Range("H1")
'Az ezeket a string-eket tartalmazó sorok lesznek törölve
MyArray = Array("BONTOTT", "Scratch", "Refurbished")
MyFirstRow = MyRange.Row
MyLastRow = ActiveSheet.UsedRange.Rows.Count
For i = MyLastRow To MyFirstRow Step -1
If Not IsError(Application.Match(Cells(i, MyRange.Column).Value, MyArray, 0)) Then Cells(i, MyRange.Column).EntireRow.Delete
Next i
End Sub -
-
-
válasz
Badb0y #11767 üzenetére
Pl mik lennének a feltételek? Sima sorokról van szó, avagy esetleg szűrt sorokról (filter)?
UI: Olvastam a privet, de nem tudtam megoldani, mivel töröltem a leveleid, így a csatolmányokat is. Csak addig tartok meg hasonló küldeményeket, amíg az adott feladat el nem készül.
-
válasz
Badb0y #11737 üzenetére
A böngésző a ludas, viszont kipróbáltam és a Google Chrome rendes munkát végez, olyannyira, hogy az Excelbe beillesztett makrókód formátumában is megegyezik a PH!-s formátummal. (Szóköz/tabulátorok stb, mind tökéletes)
Szóval azt tudom csak jelenleg javasolni, hogy aki forrást másol PH!-ról, az tegye fel a Chrome-ot...
-
válasz
Badb0y #11735 üzenetére
Nincs, de szerintem tudom mi szívatja a buksidat. (Meg ezek szerint minden topikosét)
Ha kimásolod a kódot, majd beillszted az Excelbe, akkor a
MyString = Replace(MyString, ",", " ")
MyString = Replace(MyString, " ", " ")
MyString = Replace(MyString, " ", " ")helyett ezt másolja be, azaz kiszedi a kódból a többszörös space-t.
MyString = Replace(MyString, ",", " ")
MyString = Replace(MyString, " ", " ")
MyString = Replace(MyString, " ", " ")Megkérdem, hogy ezt a PH motor avagy valami más pl böngésző helyesírás ellenörzője stb okozza-e.
-
válasz
Badb0y #11718 üzenetére
Én a szerkesztési idő alatt még módosítottam a kódon, szerintem az idő alatt másoltad ki.
Nem kell módosítani rajta semmit, mert akkor nem hagy ki szóközt a gyártó meg a típus között pl ToshibaSatellite L650-17Q LaptopTöröld a függvényt és másold be újra kódot és akkor nincs szükség módosításra.
(Az elvvel teljesen ellentétes az a módszer)Amúgy meg szívesen.
-
válasz
Badb0y #11715 üzenetére
Function FSCD_GetMachineInfo(MyRange As Range) As String
Dim MyString As String
Dim MyArray() As String
Dim MyRightMarker_Good() As Variant, MyRightMarker_Bad() As Variant
MyRightMarker_Good = Array("11.6", "12.1", "12.5", "12.6", "13.1", "13.3", "14.1", "15.6", "17.3", "18.4")
MyRightMarker_Bad = Array("11,6", "12,1", "12,5", "12,6", "13,1", "13,3", "14,1", "15,6", "17,3", "18,4")
MyString = MyRange.Value
For i = 0 To UBound(MyRightMarker_Good)
MyString = Replace(MyString, MyRightMarker_Bad(i), MyRightMarker_Good(i))
Next i
MyString = Replace(MyString, "BONTOTT", "")
MyString = Replace(MyString, "NB", "")
MyString = Trim(MyString)
MyString = Replace(MyString, ",", " ")
MyString = Replace(MyString, " ", " ")
MyString = Replace(MyString, " ", " ")
MyArray = Split(MyString, " ")
MyString = ""
For i = 0 To UBound(MyArray)
If Not (InStr(1, MyArray(i), ".", vbTextCompare) > 0 Or _
InStr(1, MyArray(i), ",", vbTextCompare) > 0 Or _
InStr(1, MyArray(i), """", vbTextCompare) > 0) Then
If i = 0 Then
MyString = MyString + StrConv(MyArray(i), vbProperCase) + " "
Else
MyString = MyString + MyArray(i) + " "
End If
Else
Exit For
End If
Next i
FSCD_GetMachineInfo = Trim(MyString + "Laptop")
End Functionm.zmrzlina
Igen, ezek azok a hibák, amit csak a kód készítője tud kibogarászni, de a lényeg, hogy meglett a bug... -
válasz
Badb0y #11711 üzenetére
Pontosan melyik sorban (a notebook.xls A oszlopában) van a dupla szóköz?
A pl TOSHIBA helyett Toshiba megoldható szerintem, mert a gyártó kerül az első helyre mindig, viszont ugye a típusszámnál hülyén néz ki a pl NVS1234 helyett a Nvs1234, de ha így kell, az is kivitelezhető. -
válasz
Badb0y #11686 üzenetére
Még1x nekifutottam a dolognak, ez lett belőle. [link]
A makró, a Notebook.xls, csalamádé oszlopára támaszkodik, azaz az A oszlopra. A függvényt(az alábbi kódot) új modulba kell bemásolni.
Function FSCD_GetMachineInfo(MyRange As Range) As String
Dim MyString As String
Dim MyArray() As String
Dim MyRightMarker_Good() As Variant, MyRightMarker_Bad() As Variant
MyRightMarker_Good = Array("11.6", "12.1", "12.5", "12.6", "13.1", "13.3", "14.1", "15.6", "17.3", "18.4")
MyRightMarker_Bad = Array("11,6", "12,1", "12,5", "12,6", "13,1", "13,3", "14,1", "15,6", "17,3", "18,4")
MyString = MyRange.Value
For i = 0 To UBound(MyRightMarker_Good)
MyString = Replace(MyString, MyRightMarker_Bad(i), MyRightMarker_Good(i))
Next i
MyString = Replace(MyString, "BONTOTT", "")
MyString = Replace(MyString, "NB", "")
MyString = Trim(MyString)
MyString = Replace(MyString, ",", " ")
MyString = Replace(MyString, " ", " ")
MyArray = Split(MyString, " ")
MyString = ""
For i = 0 To UBound(MyArray)
If Not (InStr(1, MyArray(i), ".", vbTextCompare) > 0 Or _
InStr(1, MyArray(i), ",", vbTextCompare) > 0 Or _
InStr(1, MyArray(i), """", vbTextCompare) > 0) _
Then
MyString = MyString + MyArray(i) + " "
Else
Exit For
End If
Next i
FSCD_GetMachineInfo = Trim(MyString + "Laptop")
End FunctionTöbbet sajnos nem tudok kihozni makróval...
UI: Elnézést, hogy nem hamarabb írtam, de ma is hajnali 4 körül értem haza egy melóból, csak most volt rá időm ...
-
válasz
Badb0y #11661 üzenetére
Na végre elkészült a az egesített táblázat, ami nem más, mint a notebook tábla, és a csalamádéból kivarázsolt adatok (ez jó pár órát vett amúgy igénybe) összesítése.
Ha ezt a táblát használod bázisul, azaz ebbe írod be mindig az új gépeket, minden adatukat megfelelő oszlopba, akkor bármit elő lehet állítani a mezők alapján. Ha továbbra is csalamádé formátumban kapod/kezeled az adatokat, akkor abból csak kézi módszerekkel lehet kinyerni számos infót, mivel semmilyen mintát nem lehet felfedezni a csalamádéban.
Természetesen ha gondolod, küld el másnak is az eredeti táblákat, hátha más képes képlettel avagy makróval valamit alkotni.
-
válasz
Badb0y #11661 üzenetére
Azt, hogy az easy populates-nek milyen formátum kell, azt majd Te legyártod. Én "csak", annyit teszek, hogy szétcincálom úgy, hogy le lehessen gyártani.
Ennyire már szétszedtem, jobban meg nem kell, mert Neked úgyis csak az ABCD oszlop kell pluszban, illetve ha gondolod, akkor a CPU oszlopokkal felülírható a notebook lista megfelelő oszlopa, mert ott csak plk Core i5 van, nincs órajel stb (már ha kell) -
válasz
Badb0y #11644 üzenetére
Hát jó kis csalamádét küldtél. Ebből egy hasznos sheet van, ami egész normálisan néz ki, de az az oszlopa, ahol ömlesztett formájában vannak a "konfigok", hát az aztán megint gyönyörűséges. Én azon csodálkozom, hogy egyáltalán eddig kiigazodtál ezen...
Majd lassan (de biztosan) átalakítom, lesz vele meló...
(Tegnap kellett volna már elküldened, akkor volt több időm...) -
válasz
Badb0y #11641 üzenetére
"Jó lenne nagykerekre egy egységet rájuk húzni"
Nem csak jó lenne, hanem másképp nem is fog menni...
Pont az a lényeg, hogy egy adott oszlopban, azonos tulajdonságok legyenek az összes termékről, pl a BONTOTT-nak semmi keresnivalója a GYÁRTÓ oszlopában.
Ha 1x megcsinálod rendesen, akkor utána már nagyon könnyű vele dolgozni/bővíteni stb.UI: Most úgy is van időm (gépeket telepítek), ha gondolod, akkor a a saját elképzelésem alapján gatyába rázom a dolgot (már ahogy lehet), csak ha amit küldtél tábla nem a teljes tábla, akkor előtte a teljes táblázatot küld el...
-
-
-
válasz
Badb0y #11626 üzenetére
Oké, de lényegen nem változtat.
1. BONTOTT DELL NB Latitude E4310
Egységesen kell kezdődni, pl gyártóval, ez a BONTOTT mindet felborít.2. Ha a DELL NB Inspiron N5110-ból Dell Inspiron N5110 lesz, akkor a DELL NB Alienware M18x-ból miért Alienware M18x és miért nem DELL Alienware M18x?
-
-
válasz
Badb0y #11621 üzenetére
Ebben 1 buktatót látok, nevezetesen, hogy a Apple NB MacBook Air-ről hogy lehet kideríteni, hogy az Dell...(mármint egy proginak/alkalmazásnak, nem Nekd, aki tudod, hogy a dell gyártja)
Azt írtad ez egy WebShop, szóval jó eséllyel PHP és MySql adatbázisra épül.
Amúgy Te készíted a webshopot? (Mert ha igen, akkor lehet (sőt, biztos), hogy akkor felesleges az Excel-t ebbe bevonni.) -
-
válasz
Badb0y #11617 üzenetére
Na, így már teljesen értelmet nyert a szándék.
3 kérdés
1. Csak ez az 1 táblázat van az adott munkalapon és az pontosan ilyen felépítésű/így néz ki, ahogy a képen?
2. termékekként külön-külön kellene legyártani HTML kódot, avagy az összes termék mehet egymás alá 1 fájlba?
3. Milyen verziójú Officet (Excel-t) használsz? -
válasz
Badb0y #11615 üzenetére
Így nehezen fogunk előrébb jutni, mert korábban még sorok/oszlopok felcseréléséről érdeklődtél, most meg mintha excel-el szeretnél előállítani HTML kódot...
Szóval ne azt írd le, hogy Te hogy oldanád meg (mert láthatóan nem jön össze
), hanem hogy mit szeretnél kivitelezni. pl beraksz egy képet a tábláról és egy ilyen kinézetű HTML-t akarok, ezzel meg ezzel stb adatokból...
(Amúgy a mostani állapot alapján makró lesz a vége) -
válasz
Badb0y #11612 üzenetére
Transzponálással, bizonyos feltételekkel
Badb0y #11613
2 képet dobhatnál, hogy ilyenből és ilyet szeretnél, mert most csak annyit tudok mondani, hogy beszúrsz sorokat meg oszlopokat, aztán másol/beilleszt... -
Delila_1
veterán
Itt van nagybetűsen, és szóközökkel az előbbi.
Sub tipus_1()
Dim sor As Integer
Dim b As Integer
Dim szoveg As String
Sheets("DB").Select
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
szoveg = Left(Cells(sor, 2), Len(Cells(sor, 2)) - 4)
For b = Len(szoveg) To 1 Step -1
If Mid(szoveg, b, 1) = "/" Then
Cells(sor, 3) = Mid(szoveg, b + 1)
Cells(sor, 1).FormulaR1C1 = "=UPPER(SUBSTITUTE(RC[2],""-"","" ""))"
Exit For
End If
Next
Next
Columns("A:A").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Columns("C:C").Select
Selection.ClearContents
Application.CutCopyMode = False
Cells(1).Select
End Sub -
Delila_1
veterán
Nagyon jó, amit Fire írt, de ahhoz, hogy minden laptophoz a saját képe jöjjön be, előbb le kell futtatni az alábbi makrót:
Sub tipus()
Dim sor As Integer
Dim b As Integer
Dim szoveg As String
Sheets("DB").Select
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
szoveg = Left(Cells(sor, 2), Len(Cells(sor, 2)) - 4)
For b = Len(szoveg) To 1 Step -1
If Mid(szoveg, b, 1) = "/" Then
Cells(sor, 1) = Mid(szoveg, b + 1)
Exit For
End If
Next
Next
End SubEz a DB lap B oszlopából (URL címekből) előállítja az A oszlopban az egyenként választható típusokat. Igaz, csupa kisbetűs név lesz, nem az eredeti mutatós Dell Adamo 13, hanem dell-adamo-13-laptop.
Biztosan ki lehetne csicsázni, kérdés, hogy megéri-e. Sok sornál jó hosszú időbe telik. -
Hali!
Azt hittem jön megoldás, ezért kivártam, de hiába, azért Húsvét van.
Na akkor ahogy én oldanám meg ezt a feladatot(csak javaslat, nem kötelező betartani)
Két munkalapom van, Lista és DB névvel.
# Lista munkalap: "A" oszlopban minden cellán, lenyíló listából választható az adott termék. "B" oszlop üres, de csak azért, hogy a lenyíló menü nyilacskája ne zavarjon be(vizuálisan) "C" oszlopba. "C" oszlopban jelenik meg, a kiválasztott termékhez tartozó link.
# DB munkalap: "A" oszlopban a termékek, "B" oszlopban a hozzá tartozó link
Megoldás lépésről-lépésre
1. DB munkalapon "A" és "B" oszlopok feltöltése adatokkal
2. DB munkalapon "A" oszlop kijelöl és Tartományként elnevez, esetünkben LAPTOPOK néven: [link]
3. DB munkalapon "A" és "B" oszlop kijelöl és Tartományként elnevez, esetünkben LAPTOPOK_ES_URL néven(Eljárás ugyanaz mint a 2. pontban)
4. Lista munkalapon "A" oszlop kijelöl, Adatok csoport/Érvényesítés LENYÍLÓ/Érvényesítés..., többi a képen: [link]
5. Lista munkalapon C1 cellába beírni a következő képletet
=HIPERHIVATKOZÁS(FKERES(A1;LAPTOPOK_ES_URL;2;HAMIS);"Kép a termékről")És ennyi lenne. (Excel 2007-ben készült)
Fire.
-
Hali!
Macskaköröm? LOL, na Te jó adattitkosító lennél, mert ebből szerintem senki ebben az életben nem jött volna rá, hogy az macskaköröm.
Nem írom le a megoldást a kereséssel, mert szerintem, mire ezt a HSZ-t befejezem, Delila_1 vagy Ulrik19 vagy ha benéz "hirtelen" Fehér Mancs akkor addigra már meglesz.
Egy elvet ecsetelnék röviden, ami nem a kereső fx-re épül, de talán ebből is lehet tanulni valamit. Szóval egy saját függvényt kellene készíteni, ami a laptopok nevéből legyártaná, a linket(URL-t). Pl úgy, hogy a laposok nevéből a szóközöket _ karakterrel helyettesíti, illetve (mivel szerveren vagyunk) ezért kisbetűsre alakítja és ugyanazon sor megfelelő oszlopába beírja. Így ha módosítod a laptop nevét, akkor automatikusan generálódik a letöltési link.
Persze ennek ez is a hátránya egyben, mert ha módosítani kell a laptop nevén, akkor egyből új fájlnévvel azt fel is kell tölteni a szerverre, a korábbi néven szereplő képet meg törölni(ne foglalja feleslegesen a helyet)Persze ez csak egy elv, és csak azért írtam, hogy több szempont alapján és más-más módszerekkel is megoldható egy feladat, mindig mérlegelni kell,(és pontosan tudni), hogy mit akar megvalósítani az ember.
Na de visszatérve a feladathoz. Ebben a formában a "hagyományos" kereső szolgáltatások "nehézkesen" (vagy talán nem is) alkalmazhatóak, hisz semmi nem utal a laptopok nevére a linkben, még rész sztringet sem lehet keresni, ezért nincs mit megtalálni ebben a formában. (Szerintem)
Fire.
-
Hali!
Hát én kíváncsian várom Delila_1 válaszát(vagy másét), hogy ki mit értett meg ebből, bevallom tippem/elképzelésem van a dologgal kapcsolatban, de ezzel nem tudok megbirkózni: "inspiron laptop ----||--------- ----------||----------------"
Mi ez? "...paróka, szobafestő pemzli, egyujjas kifordított bundakesztyű vagy papucs orrán pamutbojt"...Meditáltam rajta, de nem tudom az mi az...Már kínomban "elpusztítottam" 2 csokinyulat, de nem segített...
Fire.
-
Hali!
Csak a legutolsó 2 HSZ-t kellett volna elolvasnod, abban pont arról van szó, hogy mit lehet tenni, ha túl sok feltételt kell egybeágyazni, ezáltal "kilométeres" a cellában lévő kód.
Szerk
Nagy valószínűséggel kivitelezhető lenne úgy is...Csak ahhoz pontosan kell tudni, mit szeretnél megvalósítani...Fire.
-
Hali!
Magyarul el akarod tüntetni a cellá(k)ból a képleteket úgy, hogy csak a képlet által generált érték maradjon...Ha igen, akkor egyszerűen megoldható.
Kijelölöd a szükséges cellá(ka)t(lehet egész oszlop stb), jobb egér, másolás, ismét jobb egér, irányított beillesztés, csak értéket válaszd
Vigyázz, mert ha így csinálod, akkor "saját magára" másol, a képletek elvesznek. Értelem szerűen, a kijelölés/jobb egér/másol után kijelölhetsz másik helyet is a celláknak, akkor oda kerülnek az értékek az irányított beillesztés után.Fire.
-
Delila_1
veterán
A csere a Szerkesztés menüben van. Az oszlop kijelölése után a Mit keres-hez pontot, a Mire cseréli-hez vesszőt írj, és a Mindet gombbal hajtasd végre a cserét.
Ezt a műveletet rögzíted egy makróban, és egy gombhoz, vagy az eszköztáron egy ikonhoz rendeled.
Az R oszlopban némelyik szám dátumként jelenik meg a füzetedben, azokkal lesz baj. Pl. van közöttük 18.nov.; 23.márc. és 29.ápr.
Meg kell nézned az eredetiben, valószínűleg 18,11; 13.30 és 29,40.
Új hozzászólás Aktív témák
Hirdetés
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Antivírus szoftverek, VPN
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Csere-Beszámítás! Asztali számítógép PC Játékra! I5 12400F / RTX 3070 / 32GB DDR4 / 500GB SSD
- BESZÁMÍTÁS! Microsoft XBOX Series S 512GB játékkonzol garanciával hibátlan működéssel
- LG 27UL550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / AMD FreeSync
- Újszerű Apple Macbook Air 13 - M2 - 30 Ciklus - 100% Akkumulátor - 8GB/256GB SSD - MAGYAR - Éjfekete
- Bomba ár! HP EliteBook 820 G2 - i5-5GEN I 8GB I 256GB SSD I 12,5" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest