-
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
-
A hagyományos érvényesítéssel létrehozott lenyíló csak egy oszlopot tud megjeleníteni, nem többet. Ahhoz, hogy mégis kivitelezhető legyen egy egyszerű "trükköt" kell alkalmazni.
Nyilván van egy munkalapod, ahol az adatok kapnak helyet, a példádnál maradva a NÉV, VÁROS, ISZ, TELEFONSZÁM külön oszlopokban.
Vegyél fel egy plusz oszlopot, amiben meg egyesíted egy egyszerű függvénnyel ezt a 4 oszlopot, majd az érvényesítéskor létrehozott lista tartományaként ezt adod meg.Képben, mire is gondolok: [link]
-
-
válasz
Z-Tom-ee
#12405
üzenetére
Mindegy, hol van a fájl... Lehet másik partíció, lemezen, weben, szóval mindegy.
Ha helyesen szúrsz be hivatkozást, akkor ilyen probléma nem lehet. -
-
válasz
Z-Tom-ee
#12401
üzenetére
Korábban makróban lett írva egy saját készítésű függvény, aminek a neve MyCellFormula.
A megnyitott munkafüzetben ALT+F11/Insert menü/Module és a jobb oldalon megjelenő új ablakba bemásolod a korábbi kódot. Ezt követően ezt az ablakot (amit VBA Editor-nak neveznek) bezárhatod.Erre a függvényre ugyanúgy kell hivatkozni a munkafüzetben, mint az Excel beépített függvényeinek bármelyikére, azaz ráállsz egy cellára és elkezded begépelni hogy =MyCellFormula(A1) Az A1 az egy cellahivatkozás, értelem szerűen arra állítod, amely cellából kiszeretnéd szedni a képletet. Ugyanúgy másolható pl egérrel, mint pl a SZUM és a többi függvény.
-
-
válasz
jani-wan
#12365
üzenetére
"azt jelenti hogy Ha a cellák értéke a második sorban minden oszlopban 1-től 60-ig nem egyenlő Igen-nel akkor vagy tévedek?"
Nem tévedsz, ez így működik."én biztos úgy írtam volna hogy If Cells(2, i).Value <> "" Then"
Ez a feltétel azt jelenti ha az adott cella nem üres, akkor...RAiN91
Nem vészes megírni, csak most nincs hozzá kedve, hogy őszinte legyek...
A txt fájlt meg nem kell manuálisan importálnod, hisz pont azért lett megírva az időzítő, hogy az majd x időközönként beolvassa az adatokat a txt fájlból. -
válasz
RAiN91
#12358
üzenetére
Igen, az lenne a megoldás, amit cousin333 is "pedzeget" (amúgy nem flash), de sajnos nem járható út, ezen weboldal esetén, mert nem lehet lekérdezéssel importálni azokat az adatokat (a változó/frissülő odds-okat). A feladat ettől függetlenül kivitelezhető, mert abban tudok segíteni, hogy írok egy keretprogramot (nem Excel-ben), ami majd kiszedi az oldalból a szükséges infókat és azt megadott időközönként lementi egy mezei txt fájlba. Ez meg már okés, mert olyan kódot lazán lehet írni Excel VBA-ban, ami beolvassa ezen txt fájl tartalmát és feldolgozza. Viszont ma már nem állok neki megírni a progit...
-
válasz
RAiN91
#12356
üzenetére
Tudom, hogy nem arra gondoltál, de a feladat 2 részből tevődik össze, az egyik most már megvan, azaz x időközönként lefut egy akód. Most már csak az hiányzik, hogy ez a kód azt tegye, amit felvázoltál.
Ha publikus esetleg, akkor megadhatnád az oldal címét és hogy melyik mezőt szeretnéd beolvasni (ha gondolod privátba is jöhet), megnézem mit tudok vele kezdeni. -
válasz
jani-wan
#12352
üzenetére
A Cells függvény így működik
Cells(sorindex, oszlopindex), azaz
Cells(1,1) az az A1-es cellát jelöli
Cells(2,1) az az A2-es cellát jelöli
Cells(1,2) az az B1-es cellát jelöli
Cells(2,2) az az B2-es cellát jelöli és így tovább.A Cells függvény átláthatatlanná tesz egy kódot, csak akkor célszerű használni, ha valami nagyon speciális és statikus kódot készítesz, azaz nem nagyon kell módosítani utólag. Pl a Cells(1234,4321) hogy melyik cellát jelöli, azt így ránézésre - hogy Hofi szavait idézzem- a rosseb se tudja megmondani teccik tudnyi...

-
-
Vagy makróval lehet megoldani, vagy ha makró nélkül megoldás kell, akkor egy segédoszlop kell, meg még azt másolni, szóval macerásabb. Pl A oszlopban A1-től vannak az adatok, akkor pl B oszlopot ugyanolyan formátumra formázod, mint az A-t, és B1 cellába beírod az alábbi képletet és lemásolod, ameddig kell.
=A1-IDŐ(0;0;MPERC(A1))
Sajnos ez még nem megoldás, hisz képlet révén az A oszlopra hivatkozik, szóval másol és irányított beillesztéssel lehet megszabadulni a képlettől... (Ezért írtam korábban, hogy kicsit macerásabb. Sajnos hagyományos képlettel nem lehet egy cellára hivatkozni és egyúttal ugyanannak a cellának az értékét is megváltoztatni, mert akkor jön a körkörös hivatkozás hiba...)
-
-
[link]
Ezenkívül némely függvény is megváltozott/bővült, de olyan oldalt hirtelen nem találtam, ami az excel 2003-hoz képest hasonlítja össze.
E nélkül annyit lehet tenni (ha azt szeretnéd, hogy a 2007-ben készített cucc 2003-ban is tökéletesen menjen/funkcionáljon), hogy próba jelleggel, mentés másként-el, korábbi verzióba mented (97-2003). Ilyenkor ugyanis -ha van- akkor kiírja, hogy van-e inkompatibilis képlet, formátum, stb stb a 2007-es munkafüzetben, amit a 2003 nem kezel/nem értelmez. -
-
-
-
-
-
-
válasz
paatrick
#12150
üzenetére
# Jobb egér a képen/Makró hozzárendelése
# Makró helye lenyíló -> Ebben a munkafüzetben és katt az Újat gombon
# a megjelenő ablakban a megjelenő kódblokk közé másold be az alábbi kódot.Range("B1").Value = Range("B1").Value + 1
Ha ezt megcsináltad, akkor a teljes kódnak így kell kinéznie
Sub Kép1_Kattintás()
Range("B1").Value = Range("B1").Value + 1
End Sub -
válasz
lajszer
#12148
üzenetére
Ha úgy érted, hogy annak a számolótáblának weben is ugyanúgy kellene működni(be lehessen vinni adatokat stb), az "felejtős". Azért az macskaköröm, mert vannak olyan progik, amelyek képesek HTML kódot előállítani, de azok általában nem szoktak illeszkedni a webfejlesztő elképzelésébe jobb azt magadnak megírni.
Azt, hogy ezt milyen módon oldod meg, az rajtad múlik, lehet PHP-vel, Flsah Action Scriptel, vagy legegyszerűbben javascript-el... -
-
Egy fontos dologra ki kell térni, amit általában nem tudnak/elfelejtenek stb a versenyzők, nevezetesen azt, hogy az FKERES (és még számos más függvény) az első előfordulásig fut.
Ez lefordítva annyit jelent, hogy ha pl a cégnél több azonos nevű dolgozó van (pl Kovács János, ami gyakori név), akkor az FKERES (a megadott tartományban) az első találatkor (az első Kovács János-nál) le fog állni minden esetben, az összes Kovács János-nak ugyanaz lesz a címe. -
válasz
bugizozi
#12105
üzenetére
Pontosan nem tudom miért van szükséged ciklusra (ami automatikusan makró-t jelent), de a SZÁM függvénnyel megvizsgálható, hogy egy adott cella számot avagy nem azt tartalmaz.
=SZÁM(A1) - IGAZ értéket ad vissza, ha a vizsgált cellában szám található, minden más esetben HAMIS értékkel tér vissza.
-
válasz
Sickboy25
#12103
üzenetére
Hát így konkrétan nem tudom, hogy mit csesztél el, ha egyáltalán elcsesztél, mert közel sem biztos. A hivatkozásokat lehet kezelni, konfigolni, ehhez a Adat fül/Kapcsolatok csoport/Hivatkozások-ra kell kattintani. (Ez csak akkor aktív, ha a munkafüzetben valóban vannak hivatkozások (külső/belső))
Ott be lehet állítani, hogy honnan és mit frissítsen az adott munkafüzet és azt is, hogy azt automatikusan tegye-e.
Először nézd meg ezt, hátha ez megoldja a problémát.
-
-
-
-
válasz
Apollo17hu
#11997
üzenetére
Cseréld le erre: SZÖVEG(D2;"éééé.hh.nn - nnnn")
-
válasz
Sir Pocok
#11959
üzenetére
Segédoszlopot vegyél fel és abba (ha pl az A oszlopban vannak az adatok), írd be ezt a képletet =A1*1 és másold le ameddig kell. Azt is megpróbálhatod, hogy a =SZÁM(A1) képletet használod és másolod le. Ha ez IGAZ értéket ad, és mégsem tudsz számolni a cellákkal, akkor más gebasz van. (Ha van makró is a munkafüzetben, az is szokott ilyen jelenséget okozn)Az Office naprakész-re van frissítve?Sir Pocok #11960
Figyelmesebben olvashatnál, pont ezt írtam korábban...
-
-
válasz
Sir Pocok
#11952
üzenetére
Szövegből oszlopok funkció. Pl kijelölöd az A oszlopot/szövegből oszlopok/tagolt/elválasztó karakter a szóköz/rendeltetési hely =$B:$B és OK.
(Egymás alá a szövegből oszlopok funkció nem foga beszúrni. Ha mindenképp ez a feladat, akkor képlettel/makróval lehet operálni) -
válasz
m.zmrzlina
#11936
üzenetére
Végül is meg is válaszoltad magadnak a 2 módszerrel....

Nyilván a MAX tartományt vár, VB-ben a B:B az nem tartomány, sima hiba.maxpont = Application.WorksheetFunction.Max(Range("B:B"))
vagy (bár ez nem biztos, hogy működni fog)
maxpont = Application.WorksheetFunction.Max([B:B])
-
-
válasz
Sas madár
#11869
üzenetére
A oszlop kijelöl és pénznem-re formáz, majd feltöltöd az adatokka
B oszlopot feltöltöd a darabszámokkal
C oszlop kijelöl és pénznem-re formáz, majd a C1 cellába ezt a képletet beírod =A1*B1, majd a C1 cella sarkát megfogod az egérrel és lemásolod ameddig kell.
Az utolsó adatot tartalmazó C cella alá pedig beszúrsz egy SZUM függvényt.
Mindez képben -
-
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
atillaahun
#11797
üzenetére
Akkor nem, mert ez biztonsági beállítás, amit minden gépen a registry-ben meg kellene tenni.
Mint írtam, ez csak tipp volt részemről, az sem biztos, hogy ez segített volna a dolgon. Lehet, hogy valaki más tud majd segíteni... -
-
válasz
Faterkam
#11792
üzenetére
Először is bocsesz, tényleg nem sértésnek szántam, pont arra gondoltam, hogy csak ilyen leblokkolásról lehet szó...

Szóval a feladat annyi (maradva a korábbi példádnál), hogy külön-külön hány százaléka a 225/300/1200 az 1500-nak.
=225/1500
=300/1500
=1200/1500Ezeket a cellákat pedig formázd %-ra a cellaformázás segítségével.
természetesen cellákra is hivatkozhatsz pl A1-ben van a 225, B1-ben a 300, C1-ben az 1200 és D1-ben az 1500, akkor
=A1/D1
=B1/D1
=C1/D1 -
válasz
atillaahun
#11789
üzenetére
Nem tudom, hogy ez kihatással-e van a "problémádra", de talán megér egy próbát. [link]
Arra ügyelj, hogy ne a letölthető fix-et használd, hanem kézzel állítsd be a registry-ben, amit kell. Ha nem jönne össze a dolog, akkor ez a fix vissza már nem állítja dolgokat (régebben legalábbis nem tette)Faterkam
Ne viccelj már, ez általános iskolai matek... [link] -
válasz
atillaahun
#11785
üzenetére
Ja bocsesz, fáradt vagyok már azt hiszem, van egyszerűbb is:
=PLAFON(A1;50) -
válasz
atillaahun
#11785
üzenetére
-
-
-
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.

-
-
Berakom ezt a makrót is, ha másért nem, hátha mások találnak benne a későbbiekben hasznosítható ötletet.
Private Sub CommandButton1_Click()
'FSCD_MIN_MAX_With_Unique Macro
Dim MyCell As Range
Dim MyCollection As New Collection
Dim MyValue As Variant
Dim MyTypeSrcRange As Range, MyTimeSrcRange As Range, MyDestRange As Range
Dim MyTypeColumnRow As Range, MyTimeColumnRow As Range
Dim MySrcColumn As String
Dim MySrcRow As Integer
Dim MyFxs As WorksheetFunction
Set MyFxs = Application.WorksheetFunction
Application.EnableEvents = False
Application.ScreenUpdating = False
'A TÍPUS adatok ettől a cellától kezdődnek
Set MyTypeColumnRow = Range("A2")
'Az IDŐ adatok ettől a cellától kezdődnek
Set MyTimeColumnRow = Range("B2")
'Az elkészítendő TÁBLÁZAT kezdőcellája (táblázat bal-felső sarka)
Set MyDestRange = Range("C2")
Set MyTypeSrcRange = Range(MyTypeColumnRow.Address & ":" & Chr(MyTypeColumnRow.Column + 64) & Cells(Rows.Count, Chr(MyTypeColumnRow.Column + 64)).End(xlUp).Row)
Set MyTimeSrcRange = Range(MyTimeColumnRow.Address & ":" & Chr(MyTimeColumnRow.Column + 64) & Cells(Rows.Count, Chr(MyTimeColumnRow.Column + 64)).End(xlUp).Row)
For Each MyCell In MyTypeSrcRange
On Error Resume Next
MyCollection.Add MyCell.Value, CStr(MyCell.Value)
Next MyCell
i = 1
MyDestRange.Offset(0, 0) = "Típus"
MyDestRange.Offset(0, 1) = "MIN"
MyDestRange.Offset(0, 2) = "MAX"
For Each MyValue In MyCollection
MyDestRange.Offset(i, 0).NumberFormat = "@"
MyDestRange.Offset(i, 0) = MyValue
MyDestRange.Offset(i, 1).NumberFormat = "[h]:mm:ss"
MyDestRange.Offset(i, 1).FormulaArray = "=MIN(IF(" & MyTypeSrcRange.Address & "=""" & MyDestRange.Offset(i, 0) & """," & MyTimeSrcRange.Address & "))"
MyDestRange.Offset(i, 2).NumberFormat = "[h]:mm:ss"
MyDestRange.Offset(i, 2).FormulaArray = "=MAX(IF(" & MyTypeSrcRange.Address & "=""" & MyDestRange.Offset(i, 0) & """," & MyTimeSrcRange.Address & "))"
i = i + 1
Next MyValue
Set MyTypeSrcRange = Nothing
Set MyTimeSrcRange = Nothing
Set MyDestRange = Nothing
Set MyTypeColumnRowe = Nothing
Set MyTimeColumnRowe = Nothing
Set MyCollection = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub -
Makróval megoldható, csak pár infóra szükség van
1. Melyik oszlopban vannak a Típusok, és melyikben az időadatok?
2. Van-e fejléce az oszlopoknak?
3. Melyik cellától kezdődjön az összesítő táblázat? (Pl C1-től és függőlegesen legyenek a típusok és melléjük a MIN/MAX értékek) -
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.
![;]](//cdn.rios.hu/dl/s/v1.gif)
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
m.zmrzlina
#11710
üzenetére
Először is egy új/üres munkalappal kezdj, arra tegyél egy activex CommanButton-t, ami megjeleníti a UserForm1-et, a UserForm1-re megint egy CommandButton-t, ami negjeleníti a UserForm2-öt, UserForm2-re egy CommandButton, ami bezárja. Mindezt úgy, ahogy korábban írtam(abban a formában, a modal-t is úgy használva), semmi más.
Ha ez működik, akkor a VBA kódoddal van gond, ami akár abból is adódhat, hogy különböző események is fel vannak programozva, és esetleg "keresztbe tesznek" egymásnak stb.
Így legalább kiderül, hogy merre kell keresni a hibát. Ha a kódodban, azt sajnos csak Te tudod megtenni/javítani... -
válasz
m.zmrzlina
#11707
üzenetére
És ha simán az ablak/form jobb felső sarkában lévő X-el zárod be, akkor is ez a szitu?
Badb0y
Ezt nem kell indítani, ez egy függvény, amit úgy használhatsz, mint pl a SZUM függvényt. Ha új modulba bemásolod a kódot (első bekezdés), amit adtam, akkor egy adott cellán állva elkezded begépelni, hogy =FSCD és már látod is a függvény nevét meg hogy egy cellát kell megadni bemenő paraméterként. -
válasz
m.zmrzlina
#11704
üzenetére
Megjeleníteni egyik form-ról a másikat próbáld meg így (UserForm1-en lévő CommandButton1-el jeleníted meg a UserForm2-őt, Modal módban (a Modal mód azt jelenti, hogy amíg az adott ablakot/Form-ot be nem zárod, addig nem tudsz kattintani máshova, se munkafüzetre, se másik form-ra stb))
Private Sub CommandButton1_Click()
UserForm2.Show vbModal
End SubA UserForm2-ön lévő CommandButton1-el meg így zárd be a UserForm2-őt.
Private Sub CommandButton1_Click()
Unload Me
End SubEz Nálam kifogástalanul működik évezredek óta...

-
válasz
m.zmrzlina
#11702
üzenetére
A korábbi példádban még van két munkalap kiválasztás is (Select), lehet, hogy az zavar be...
Ezenkívül az sem mindegy, hogy milyen módban jeleníted meg a form-ot, azaz csak egy info ablak és attól még lehet matatni a munkalapon, avagy egy modal ablak, amikor nem, amíg a form-ot be nem zárod... -
válasz
m.zmrzlina
#11700
üzenetére
Lehet, hogy nem kellene letiltani a ScreenUpdating-et...
Azt tiltod, ami a (képernyő)frissítésért is felel... -
válasz
mr.nagy
#11693
üzenetére
Akkor csak 1 javaslatom maradt, nevezetesen, hogy Te egyesítsd a dokumentumot (ekkor belekerülnek az adatok) és ezt a doksit küld el, így nem kell külön a körlevél adatbázisául szolgáló táblát is küldeni. Innentől az már csak egy mezei/általános dokumentum, ést azt már illene tudni kinyomtatni. Ennél egyszerűbben nem fogod tudni ezt kivitelezni...
-
válasz
mr.nagy
#11689
üzenetére
"...egyébként már megcsináltam volna Excelben de ott meg a háttérkép nyomtatásra nem találtam megoldást."
Pedig van: [link] Az a trükk, hogy egy alakzatot szúrj be, majd ennek a kitöltésénél képet/anyagmintát adj meg és itt tudod állítani az átlátszóságot...![;]](//cdn.rios.hu/dl/s/v1.gif)
Oly
Igen, az tűnne logikusnak, csak azt nem lehet kinyomtatni, nyomtatásban/nyomtatási képen az a background nem jelenik meg...
-
-
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
VásRló
#11656
üzenetére
1. Szemléletes lett volna, ha megcsinálod, mert akkor láttad volna, hogy mennyi rekordról van szó és miért annyit ír ki az Excel, amennyit.
2. Teljesen mindegy, hogy szűrt-e a táblázat vagy sem, az ismétlődő elemek eltávolítása így is úgy-is ugyanannyi rekordot fog eltávolítani. Ha szűrve van a tábla, akkor annyiban mást fog alul kiírni, hogy az összes rekordból mennyi, a szűrésnek is eleget tevő, különböző sor(rekord) maradt.
3. "Harmadszor pedig a darab függvény a köztes, szűrő által kiszűrt sorokat is beleszámolja."
Ez így igaz, ezzel meg is válaszoltad magadnak, az egyik kérdésedet.
-
-
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
Delila_1
#11636
üzenetére
Gondolom ezt a választ Nekem szántad. Hát igen, ezen a listán "fogást találni", nem hiszem hogy lehet, de azért pár elemét bemásolom, hátha Neked lesz valami ötleted (azon kívül, hogy valami egységes formába kellene hozni)...
Dell Latitude E6220 laptop - Intel Core i7 2620M 2.70GHz (Dual Core)<br /> 4GB DDR3 1333MHz (1*4GB)<br /> 12.5" UltraSharp HD Anti-Glare (1366x768) Slim LED + integrált HD kamera<br /> 320GB 7200rpm SATA HDD<br /> 64bit Windows 7 Professional SP1 HUN + Office Starter<br /> NO ODD<br /> integrált Intel HD 3000 grafikus vezérlő<br /> Dell Vezetéknélküli 5550 MiniCard Broadband modem<br /> Bluetooth 3.0<br /> Intel Centrino Advanced-N 6205 802.11a/b/g/n<br /> Gigabit LAN<br /> háttérvilágítású magyar billentyűzet integrált ujjlenyomat-olvasóval<br /> 6 cellás akkumulátor 60WHr<br /> mini-HDMI<br /> 2x USB2.0 (eSATA)<br /> SD-kártyaolvasó<br /> dokkolható<br /> ExpressCard foglalat<br /> Contactless SmartCard Reader<br /> 90W AC adapter<br /> 4 év helyszíni garancia
DELL NB XPS L702x 17.3" HD+, Intel Core i5-2410M 2.30GHz 4GB 750GB DVD-RW, GeForce GT 550M, Win 7 HPrem 64bit, 6cell, Ezüst<br><br>Képernyő átmérő: 17,3<br>Processzor: Intel Core i5<br>Memória: 4096<br>Merevlemez: 750<br>Optikai meghajtó: DVD-RW +/-<br>Operációs rendszer: MS W. 7 Home Premium 64bit HU<br>Akkumulátor: 6 cella<br>Felbontás: 1440 x 900 (WXGA) 16:10<br>LAN: 10/100/1000<br>WLAN: 802.11b/g/n<br>Modem: Nem<br>USB: 2<br>Beépített kártyaolvasó: Igen<br>Bluetooth: 3.0<br>Firewire: 0<br>Video: HDMI + Mini-Display Port<br>Hang: Igen<br>Kamera: 2<br>TV-Tuner: Nem<br>Súly: 3,36<br>Szín: Ezüst<br>Ujjlenyomat-olvasó: Nem<br>HSDPA: Nincs<br>Dokkolhatóság: USB porton<br>Garancia: 3 év
DELL NB Alienware M14x 14.1" HD+, Core i7 2720QM 2.20GHz, 8GB, 750GB, DVD-RW, nVidia GF GT555M, Win7 HPrem 64bit ENG, 8cell, Piros<br><br>Képernyő átmérő: 14,1<br>Processzor: Intel Core i7<br>Memória: 8192<br>Merevlemez: 750<br>Optikai meghajtó: DVD-RW +/- DL<br>Operációs rendszer: MS W. 7 Home Premium 64bit ENG<br>Akkumulátor: 8 cella<br>Felbontás: 1600 x 900 (WUGA) 16:9<br>LAN: 10/100/1000<br>WLAN: 802.11a/b/g/n<br>Modem: Nem<br>USB: 1<br>Beépített kártyaolvasó: Igen<br>Bluetooth: 3.0<br>Firewire: 0<br>Video: D-Sub + HDMI + Mini Displayport<br>Hang: Igen<br>Kamera: 2<br>TV-Tuner: Nem<br>Súly: 2,92<br>Szín: Piros<br>Ujjlenyomat-olvasó: Nem<br>HSDPA: Nincs<br>Dokkolhatóság: USB porton<br>Garancia: 3 év
BONTOTT DELL NB Inspiron M5040 15.6" HD, AMD DC E350 1.6GHz, 2GB, 500GB, DVD-RW, ATI HD6310, Linux, 6cell, Fekete Létrehozás oka: bontott<br><br>Képernyő átmérő: 15,6<br>Processzor: AMD Brazos<br>Memória: 2048<br>Merevlemez: 500<br>Optikai meghajtó: DVD-RW +/-<br>Operációs rendszer: Linux<br>Akkumulátor: 6 cella<br>Felbontás: 1366 x 768 (WXGA) 16:9<br>LAN: 10/100<br>WLAN: 802.11g/n<br>Modem: Nem<br>USB: 3<br>Beépített kártyaolvasó: 3-1<br>Bluetooth: 3.0<br>Firewire: 0<br>Video: D-Sub + HDMI<br>Hang: Igen<br>Kamera: 0,3<br>TV-Tuner: Nem<br>Súly: 2,73<br>Szín: Fekete<br>Ujjlenyomat-olvasó: Nem<br>HSDPA: Nincs<br>Dokkolhatóság: USB porton<br>Garancia: 3 év
Apple NB MacBook Pro 17" Quad-Core i7 2.2GHz, 4GB, 750GB, Radeon HD 6750M 1GB, SD, HU bill.<br><br>Képernyő átmérő: 17<br>Processzor: Intel Core i5<br>Memória: 4096<br>Merevlemez: 750<br>Optikai meghajtó: DVD-RW +/-<br>Operációs rendszer: Mac OS X Snow Leopard<br>Akkumulátor: Li-ion<br>Felbontás: 1920 x 1200 (WUXGA) 16:10<br>LAN: 10/100/1000<br>WLAN: 802.11b/g/n<br>Modem: Nem<br>USB: 3<br>Beépített kártyaolvasó: Nem<br>Bluetooth: 2.1<br>Firewire: 1<br>Video: Mini-Display Port<br>Hang: Igen<br>Kamera: 0<br>TV-Tuner: Nem<br>Súly: 2,99<br>Szín: Ezüst<br>Ujjlenyomat-olvasó: Nem<br>HSDPA: n.a.<br>Dokkolhatóság: USB porton<br>Garancia: 1 év
Dell Latitude E6220 laptop - Intel Core i7 2620M 2.70GHz (Dual Core)<br> 4GB DDR3 1333MHz (1*4GB)<br> 12.5" UltraSharp HD Anti-Glare (1366x768) Slim LED + integrált HD kamera<br> 320GB 7200rpm SATA HDD<br> 64bit Windows 7 Professional SP1 HUN + Office Starter<br> NO ODD<br> integrált Intel HD 3000 grafikus vezérlő<br> Dell Wireless 5550 MiniCard Broadband modem<br> Bluetooth 3.0<br> Intel Centrino Advanced-N 6205 802.11a/b/g/n<br> Gigabit LAN<br> háttérvilágítású magyar billentyűzet integrált ujjlenyomat-olvasóval<br> 6 cellás akkumulátor 60WHr<br> mini-HDMI<br> 2x USB2.0 (eSATA)<br> SD-kártyaolvasó<br> dokkolható<br> ExpressCard foglalat<br> Contactless SmartCard Reader<br> 90W AC adapter<br> 4 év helyszíni garancia
Dell XPS L502x Metalloid Aluminum laptop - Intel Core i7-2630QM 2.0GHz (Quad Core)<br> 4GB DDR3 1333MHz (1*4GB)<br> 15.6" FullHD TrueLife (1920x1080 fényes) B+RGLED TFT + integrált 2Mp HD kamera<br> 640GB 7200rpm SATA HDD<br> 64bit Windows 7 Professional HUN + Dell Stage<br> 2GB NVIDIA GeForce GT 540M<br> Blu-ray Disc BD-Combo meghajtó<br> 9 cellás akkumulátor 90WHr<br> magyar billentyűzet<br> Intel WiFi 1030 802.11 b/g/n + BlueTooth 3.0 Combo<br> Creative SoundBlaster X-FI MB 1.2 audio<br> Gigabit LAN<br> 9-1 kártyaolvasó<br> HDMI 1.4 (3D support)<br> mini DisplayPort<br> 2x USB3.0<br> 1x combo USB2.0/eSATA<br> TV-tuner nélkül<br> 130W AC adapter<br> 3 év helyszíni garancia
Dell XPS L511z Aluminum laptop - Intel Core i7-2620M 2.70GHz<br> 8GB DDR3 1333MHz (2*4GB)<br> 15.6" FullHD TrueLife (1920x1080 fényes) WLED TFT + integrált 1.3Mp kamera<br> 750GB 7200rpm SATA HDD<br> 64bit Windows 7 Home Premium SP1 HUN + Office Starter + Dell Stage<br> 2GB NVIDIA GeForce GT 525M<br> 8x DVD+/-RW DL meghajtó<br> 8 cellás akkumulátor 56WHr<br> háttérvilágítású magyar billentyűzet<br> Intel Centrino Advanced-N 6230 802.11b/g + BlueTooth 3.0 Combo<br> 90W AC adapter<br> 3 év helyszíni garancia
Dell Inspiron N5040 Apple Red (fedlap és csuklótámasz) laptop - Intel Core i3-380M 2.53GHz<br> 2GB DDR3 1333MHz (1*2GB)<br> 15.6" HD (1366x768 fényes) WLED TFT + integrált 0.3Mp webkamera<br> 320GB 5400rpm SATA HDD<br> Ubuntu Linux v10.10<br> integrált Intel GMA HD grafikus vezérlő<br> 8x DVD+/-RW meghajtó<br> 6 cellás akkumulátor 48WHr<br> magyar billentyűzet (chiclet)<br> Dell WLAN 802.11g/n + Bluetooth 3.0+HS Card<br> HDMI kimenet<br> 3-1 kártyaolvasó<br> 3x USB2.0<br> 3 év helyszíni garancia
Dell Inspiron N5110 Diamond Black (fedlap és csuklótámasz) laptop - Intel Core i3-2310M 2.10GHz<br> 4GB DDR3 1333MHz (1*4GB)<br> 15.6" HD TrueLife (1366x768 fényes) WLED TFT + integrált 1.0Mp HD webkamera<br> 320GB 5400rpm SATA HDD<br> Free DOS CD<br> integrált Intel HD 3000 grafikus vezérlő<br> SRS Premium hangrendszer<br> 8x DVD+/-RW DL meghajtó<br> 6 cellás akkumulátor 48WHr<br> új magyar billentyűzet (chiclet) + Numpad<br> Intel Centrino Wireless-N 1030 + Bluetooth 3.0 Combo<br> HDMI kimenet<br> 8-1 kártyaolvasó<br> 2x USB3.0 és 2x USB2.0 (eSATA)<br> 3 év helyszíni garancia
Dell Inspiron N5110 Diamond Black (fedlap és csuklótámasz) laptop - Intel Core i3-2310M 2.10GHz<br> 4GB DDR3 1333MHz (1*4GB)<br> 15.6" HD TrueLife (1366x768 fényes) WLED TFT + integrált 1.0Mp HD webkamera<br> 500GB 5400rpm SATA HDD<br> Free DOS CD<br> 1GB nVidia GeForce GT 525M grafikus vezérlő<br> SRS Premium hangrendszer<br> 8x DVD+/-RW DL meghajtó<br> 6 cellás akkumulátor 48WHr<br> új magyar billentyűzet (chiclet) + Numpad<br> Intel Centrino Wireless-N 1030 + Bluetooth 3.0 Combo<br> HDMI kimenet<br> 8-1 kártyaolvasó<br> 2x USB3.0 és 2x USB2.0 (eSATA)<br> 3 év helyszíni garanciaKarakter cserélgetéssel és szövegből oszlopokkal átalakítható ilyenné, itt jobban látszódik a probléma.
-
-
-
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és1. 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)![;]](//cdn.rios.hu/dl/s/v1.gif)
-
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... -
Válts LibreOffice-re, ami OOO után nem jelent nagy gondot, abban a Calc 1 millió sort kezel már. [link]
"Higher Number of Rows Per Calc Sheet
Calc spreadsheets now support 1 million rows instead of former 65,536 rows. "commanDOS
0-t lehet osztani, csak értelmetlen, viszont a 0-val való osztás nem is értelmezhető.
Ha azt szeretnéd, hogy ha 0 bármelyik is, attól még 0 legyen az eredmény, akkor ezt a képletet írd be és másold le majd szummázd=HA(HIBÁS(A1/B1);0;A1/B1)
-
-
válasz
mhorvat
#11549
üzenetére
Sajnos nem értem mit is szeretnél, mert vagy nem jól írtad le korábban, vagy Én nem értem jól... 60%-ra nem lehet felvinni az egyik oszlopot, csak ha arányosan csökkented a másikat, ellenkező esetben a szumma összege is megváltozik...
Próbáld meg újra leírni, egyszerű számokkal pl szumma=1000 (100%), részösszeg1=500(50%), részösszeg2=500(50%) és akkor ebből mit is szeretnél kapni. Így talán meg fogom érteni...
-
-
-
válasz
m.zmrzlina
#11421
üzenetére
A makró első futtatásakor tárold le tömbben az eredeti színeket , aztán onnan vissza tudod állítani. (pl egy változót 0 kezdőértékkel, ezt viszgálod az első futtatáskor, ha 0, akkor elmented a színeket, majd a változót 1-re állítod, így a következőkben már nem ne mentődnek el a színek, hisz felesleges is lenne)
poffsoft
Nem lett véletlenül benyomva a scroll lock a billentyűzeten?
(vagy be van ragadva, de ilyenkor más alkalmazásokban is "furcsa" dolgokat kellene tapasztalnod) -
-
válasz
Delila_1
#11407
üzenetére
Kösz a bizalmat, de erről sajnos nincs tudomásom.
Adott munkalapon meg lehet jeleníteni az összes utódot/elődöt és azt kinyomtatni (képletként is), de hogy egy amolyan "tree view" jellegű listaként megjeleníteni, avagy az összes hivatkozást kimenteni, arról nem tudok... -
válasz
pityeszka
#11394
üzenetére
Egy képet, dobjál, hogy lássam mi a szitu, és akkor megadom a megfejtést...
(Bár abból a képletből (HA() függvény) illene rávezetődni a megoldásra)![;]](//cdn.rios.hu/dl/s/v1.gif)
Messss
Megsasolom, bár Nekem Office 2010 x64-em van... Az egyik gyári táblát legenerálom, abban van egy rakás lekérdezés, aztán megnézem...
Új hozzászólás Aktív témák
- Microsoft és egyéb dobozos retro szoftverek
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- MS SQL Server 2016, 2017, 2019
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- SMAILIO HD 5" GPS autós navigáció
- HP omen 17-w131ng bontva
- Akció! Dell Latitude 7200 2-in-1,12.3",FHD,i5-8365U,8GB,256GB SSD,WIN11,Tablet,LTE
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- AKCIÓ! Asus TUF A16 2024 FA607NUG Gamer notebook - R7 7445HS 16GB DDR5 1TB SSD RTX 4050 6GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest








![;]](http://cdn.rios.hu/dl/s/v1.gif)



Fferi50