Keresés

Részletes keresés

Delila10 Creative Commons License 2012.08.25 0 0 18724

Természetesen az F23 cella értékét kerekítheted.

 

=KEREKÍTÉS(AB.ÁTLAG(B10:F22;F10;G1:G2);1)

Előzmény: Delila10 (18723)
Delila10 Creative Commons License 2012.08.25 0 0 18723

Nyuszi biztosan válaszolna, ha itt lenne.

 

Fel kell hívnom a figyelmedet, hogy az ÁTLAG függvény a 0 értéket tartalmazó cellákkal is számol az F oszlopban. Nézd meg a különbséget az ÁTLAG és az AB.ÁTLAG függvények eredménye között. Az utóbbinál hivatkozni kell a kritérium táblára, ami itt a G1:G2 cella.

 

Előzmény: Tyorotyere (18721)
_Nyuszi Creative Commons License 2012.08.25 0 0 18722

Az F11 cellában most ez van:

=KEREKÍTÉS(((E11/D11)*100);1)

 

Ezt írd át úgy, hogy

=HA(E11="";0;KEREKÍTÉS(((E11/D11)*100);1))

 

Miután ezt beírtad (bemásoltad :P), a jobb alsó sarokkal húzd le az F23-ig.

 

A képlet azt csinálja, hogy megvizsgálja az E11-es cellát, és ha azt üresnek találja, akkor a függvény 0-val tér vissza (azaz az F11-be 0 kerül), ha pedig nem üres, akkor az eredeti függvényt hajtja végre. Természetesen az E11-es cella átírható másra, pl. D11-re is.

(Ez egy gyakran alkalmazott módszer, hogy a #zéróosztó stb. hibákat elfedje az ember. :) )

Előzmény: Tyorotyere (18721)
Tyorotyere Creative Commons License 2012.08.25 0 0 18721

Kedves Nyuszi!

 

Köszönöm a gyors választ! Igen az ilyen megoldást megtaláltam a neten, de az én táblázatomba nem tudom hova kellene írnom melyik cellába és hogyan. A kárszázalék oszlopba gondolom? Tudnál nekem az én képletem alapján egy ilyen példát írni? Mert akárhogy próbálkoztam soha sem sikerült! Köszönöm!

Előzmény: _Nyuszi (18720)
_Nyuszi Creative Commons License 2012.08.24 0 0 18720

Nem próbáltam ki, de talán csináld úgy, hogy

=HA(D11="";0;[eredeti képlet])

Ha nem érthető, kifejtem majd jobban. A kapcsos zárójel persze nem kell, a feladat annyi, hogy a mostani képlet köré írd ennek a bal- és jobbfelét.

Előzmény: Tyorotyere (18719)
Tyorotyere Creative Commons License 2012.08.24 0 0 18719

Sziasztok!

 

Segítségeteket kérem! Az alábbi táblázatba a kárszázaléknál #zéróosztó-t ír ki ha nincs az első két sorban adat vagy a sárga mezőkben. Nekem úgy kellene hogy nullát írjon ki és úgy számolom mivel nem tudom, hogy 4 vagy 10 sort tudok kitölteni adattal. Megjelenítettem a függvényeket hogy könnyebb legyen. Légyszíves ha van valami megoldás írjátok meg. Köszönöm! Laci

 

Delila10 Creative Commons License 2012.08.24 0 0 18718

Feltettem a két fájlt.

 

http://data.hu/get/5484949/Matrix.xls

http://data.hu/get/5484950/Import.xls

 

A Mátrix nevűben van a makró. Mindkét füzetnek nyitva kell lennie, ezt nem ellenőriztetem a makróval.

Előzmény: smety (18710)
Delila10 Creative Commons License 2012.08.24 0 0 18717

Beveszi, nálam szépen lefutott, sőt még azt is csinálata, amit kellett.

 

Mostanság kezdem hozzászoktatni magam ehhez a formához. A cells(1,5)-nél még könnyen követhető, melyik oszlop adatairól van szó, de a cells(1,196)-nál már nehezebb.

Előzmény: SQLkerdes (18716)
SQLkerdes Creative Commons License 2012.08.24 0 0 18716

Nem szívesen kotyogok bele más kódjába, de a

ertek! = Cells(sor% + 1, "A") - type mismatch

 

résznél nem az lehet a probléma, hogy a Cells nem vesz be stringet ("A") hanem valami számra van szüksége?

Előzmény: Delila10 (18714)
Delila10 Creative Commons License 2012.08.24 0 0 18715

Szívesen. Eszerint ki tudtad javítani, amit elrontottam. A Hét target helyett Heti Target -et írtál.

Előzmény: kraniczp (18711)
Delila10 Creative Commons License 2012.08.24 0 0 18714

Az első képen látom, hogy 1-1 sorban többször szerepel a kód, amit ki kell nyerni. Többnyire az első előfordulás után szóköz van, de a többinél alsó kötjel. Ha mindegyiknél szóköz lenne, a kinyeréshez addig kellene futtatni a ciklust a hosszú adatban, míg rá nem talál erre.

Írd át egységesre az A oszlop adatait, ha teheted.

 

A Type mismatch hiba azért jöhetett elő, mert lehet, hogy az A oszlopban nem számformátumúak a számaid.

 

Az Exceledben a bővítményeknél kapcsold be az Analysis ToolPack, és az Analysis ToolPack VBA nevűeket, hogy a Match függvényt értelmezni tudja. Bár azt hiszem, az utóbbi leírásod szerint nem azonos lapon (sőt talán nem is azonos füzetben) voltak a próbánál az eredeti adataid, és ahova fell kell írni, azért nem volt találat.

 

Ha gondolod, küldd el a két füzetet.

 

Előzmény: smety (18710)
SQLkerdes Creative Commons License 2012.08.24 0 0 18713

A Target jelenléte a kódban arra utal, hogy ez egy ún. Event handler.  Ezekből sok van, de a Target jelenléte arra utal, hogy a kérdéses sort tartalmazó kód arra reagál ha egy adott munkalap valamely cellájának vagy cellák egy csoportjának a tartalma megváltozik.

 

Esetedben a Target arra a tartományra vagy cellára utal, ahol változás történik.

 

Vagyis a kód a munkalap minden egyes változásakor megvizsgálja, hgoy a megváltozott terület (Target) benne van-e az L:S oszlopok határolta tartományban.

Ha benne van (vagyis a változott cella(-ák) és az L:S tartomány közös metszete nem üres (NOT ... Nothing)), akkor az IF THEN ágán lévő utasítások hajtódnak végre.

 

Ha a változott cella nem esik az L:S tartományba (pld. A1) akkor ez ELSE ágon lévő utasítások hajtódnak végre (feltéve, hgoy van ELSE ág, ha nincs akkor semmi sem történik.

Előzmény: Gülredy (18705)
Gülredy Creative Commons License 2012.08.24 0 0 18712

Ez így oké, köszi hogy megpróbáltál válaszolni, de valami olyasmira lettem volna kiváncsi, hogy szavakkal elmondva mit csinál az a sor.
Például ha a "for i=1 to 5" a kód, akkor azt szavakkal elmondva: "addig megyünk amíg az i értéke nem 5"
Ilyesmi  választ tud valaki adni?

Előzmény: Törölt nick (18707)
kraniczp Creative Commons License 2012.08.24 0 0 18711

Nagyon köszönöm a segítségedet! :)

Előzmény: Delila10 (18698)
smety Creative Commons License 2012.08.24 0 0 18710


Kedves Delila10,

Először is köszönöm a gyors segítséget!
Pár probléma még felmerült, próbáltam futtatni a makrót, de két helyen a következő hibát kaptam:
ertek! = Cells(sor% + 1, "A") - type mismatch
oszlopT% = Application.WorksheetFunction.Match(Left(kod$, 3) * 1, Rows(1), 0)
sorT% = Application.WorksheetFunction.Match(keres$, Columns(oszlopT), 0) - Match tulajdonság nincs megadva, próbáltam az utolsó szuámjegyeket állítani, -1,0,1-re de egyik sem jó, sajnos nem értek hozzá, úgyhogy ebben még kérnék segítséget.
Még annyi módosítás történt, hogy csináltam egy (Mátrix) munkafüzetet és oda beírtam minden pozicószámot, úgy ahogy a most csatolt képen látszik 100_1-től 2500_72-ig lefelé és 100_1-től 150_1-ig jobbra.
A cél az lenne, hogy az (Import) munkafüzetről az A oszlóból a pozició számokat kivágja és az alatt lévő értéket beilessze a (Mátrix) munkafüzet megfelelő pozicó száma mellé, majd a feltöltött sorokat a pozicó számmal együtt vissza másolja egymás alá az (Import) munkafüzet H,I oszlopába.
A képeket ide tudtam feltölteni:
http://indafoto.hu/smety

Köszönöm, Péter

Előzmény: Delila10 (18704)
Delila10 Creative Commons License 2012.08.24 0 0 18709

Küldtem privát üzenetet.

Előzmény: ZolKa (18706)
Törölt nick Creative Commons License 2012.08.24 0 0 18708

ps> http://office.microsoft.com/en-us/excel-help/calculation-operators-and-precedence-HP010078886.aspx ilyet találtam, a Te operátoraid persze nincsenek benne : szal passz

Előzmény: Törölt nick (18707)
Törölt nick Creative Commons License 2012.08.24 0 0 18707

Totál hülye vagyok a VBA-hoz, szal ez csak tipp, bocs ha hülyeséget írok:

 

az operátorok precedenciája lesz itt a ludas. Vagyis, az IS operátor fontosabb, mint a NOT operátor (az összehasonlító és a logikai operátoroknál általában ez a helyzet). Vagyis, a "NOT valami IS izé" az nem úgy értékelődik ki, hogy "(NOT valami) IS izé", hanem "NOT (valami IS izé)" ...

 

Mégegyszer, ez csak tipp :) de remélem segít

 

Üdv,

Zs

Előzmény: Gülredy (18705)
ZolKa Creative Commons License 2012.08.24 0 0 18706

Köszönöm szépen a segítséget.

 

Megcsináltam de valahogy nem akar működni.

Át tudnád nekem küldeni a file -t (mail -em publikus) , hogy nézegessem?

 

Köszi!

Előzmény: Delila10 (18701)
Gülredy Creative Commons License 2012.08.24 0 0 18705

Sziasztok!
Adna valaki egy amennyire csak lehetséges, részletekbe menő magyarázatot erre a sorra hogy mit is csinál?

If Not Intersect(Target, Range("L:S")) Is Nothing Then   
..... 

Ez az intersect parancs ha jól tudom visszad egy range objektumot amely két vagy több range keresztmetszetét mutatja meg. 
Legalábbis ezt írja:
"The Intersect Method will return a Range Object that represents the intersection of two, or more, ranges.
A not intersect peidg az ellentettje tehát ha true akkor false ha false akkor true.

De ez most valahogy nem teljesen tiszta, hogy akkor mit takar a fenti kód?

Delila10 Creative Commons License 2012.08.24 0 0 18704

A makró indítása előtt a C1-be írd be a kódod elejét, 101-et, az E1-be 102-t.

 

Sub Valami()
    Dim sor%, oszlopT%, usor%, b%, szoveg$, kod$, ertek!, sorT%, keres$
    usor% = Range("A" & Rows.Count).End(xlUp).Row
    
    For sor% = 2 To usor% Step 2
        'kódszám és érték kinyerése az A oszlopból
        kod$ = ""
        szoveg$ = Cells(sor%, "A")
        ertek! = Cells(sor% + 1, "A")
        
        For b% = 1 To Len(szoveg$)
            If IsNumeric(Mid(szoveg$, b%, 1)) Or Mid(szoveg$, b%, 1) = "_" Then
                kod$ = kod$ & Mid(szoveg$, b%, 1)
            End If
        Next
        keres$ = Left(kod$, Len(kod$) - 1)
        
        'Adat a megtalált oszlopba
        On Error GoTo Hiba
        oszlopT% = Application.WorksheetFunction.Match(Left(kod$, 3) * 1, Rows(1), 0)
        sorT% = Application.WorksheetFunction.Match(keres$, Columns(oszlopT), 0)
        Cells(sorT%, oszlopT% + 1) = ertek!
        
        'H-I oszlopba adatok
        If Range("H2") = "" Then
            Range("H2") = Left(kod$, Len(kod$) - 1): Range("I2") = ertek!
        Else
            Range("H" & Range("H" & Rows.Count).End(xlUp).Row + 1) = Left(kod$, Len(kod$) - 1)
            Range("I" & Range("H" & Rows.Count).End(xlUp).Row) = ertek!
        End If
        
Hiba:
    Next
End Sub

Előzmény: smety (18703)
smety Creative Commons License 2012.08.23 0 0 18703

Kedves kollégák! 

 

Némi segítséget kérnék a következő feladathoz. Kép csatolva, a megoldásra váró probléma pedig a következő lenne.

A2 cellában lévő szövegből kellene első körben kivágni a pozició számot itt: 101_1, majd ezt keresse meg C,E és további oszlopkban (több száz van csak az egészet nem vágtam be), ha megtalálta, akkor az A oszlopban a pozicó szám alatti cellában lévő értéket írja a mátrixban lévő (C,D...oszlopok) megfelelő poziciószáma mellé. (Ezeket most kézzel írtam be, mert próbálkoztam a szöveg.keres, bal és közös függvények kombinációjával, de valamiért nem működik, tehát erre is szeretnék megoldást.),ha ez megtörtént, akkor a kitöltött poziciókat ki kellene másolni az értékekkel együtt egy külön oszlopba ez a H,I oszlop a képen.

Köszönök minden segítséget és ötletet előre is.

További szép estét!

Péter

smety Creative Commons License 2012.08.23 0 0 18702

Kedves kollégák!

 

Némi segítséget kérnék a következő feladathoz. Kép csatolva, a megoldásra váró probléma pedig a következő lenne.

A2 cellában lévő szövegből kellene első körben kivágni a pozició számot itt: 101_1, majd ezt keresse meg C,E és további oszlopkban (több száz van csak az egészet nem vágtam be), ha megtalálta, akkor az A oszlopban a pozicó szám alatti cellában lévő értéket írja a mátrixban lévő (C,D...oszlopok) megfelelő poziciószáma mellé. (Ezeket most kézzel írtam be, mert próbálkoztam a szöveg.keres, bal és közös függvények kombinációjával, de valamiért nem működik, tehát erre is szeretnék megoldást.),ha ez megtörtént, akkor a kitöltött poziciókat ki kellene másolni az értékekkel együtt egy külön oszlopba ez a H,I oszlop a képen.

Köszönök minden segítséget és ötletet előre is.

További szép estét!

Péter

Delila10 Creative Commons License 2012.08.23 0 0 18701

Készítesz egy UserFormot, ami Leltár névre hallgat.

 

 Az első beviteli mező neve (nálam) Bárkód, a másodiké Db, a szövegdobozé Megnev, végül a gombé Felvitel.

 

A Bárkódhoz jön a makró:

 

Private Sub Bárkód_AfterUpdate()

    Application.EnableEvents = False

    Set WS = Sheets("Munka1")

    If Bárkód = "" Then GoTo Vége

    On Error GoTo Hiba

    sor = Application.WorksheetFunction.Match(Bárkód, WS.Columns(4), 0)

    Megnev = WS.Cells(sor, 1)

    GoTo Vége

 

Hiba:

    MsgBox "Nem létező bárkód"

    Bárkód = "": Bárkód.SetFocus

 

Vége:

    Application.EnableEvents = TrueEnd

Sub

 

 

A Felvitel gombhoz:

 

Private Sub Felvitel_Click()

    Set WS = Sheets("Munka1")

    On Error Resume Next

    sor = Application.WorksheetFunction.Match(Bárkód, WS.Columns(4), 0)

    WS.Cells(sor, 2) = WS.Cells(sor, 2) + Db * 1

    Bárkód = "": Db = "": Bárkód.SetFocus

End Sub

 

 A munkalap D oszlopa szöveg formátumú legyen.

 

Modulba, amit a Start gombhoz rendelsz:

 

Sub Start()

    Leltár.Show False

End Sub

 

Ezt a gombot az Űrlapvezérlők eszköztárából is kiteheted a munkalapra.

Előzmény: ZolKa (18684)
Delila10 Creative Commons License 2012.08.23 0 0 18700

Ez bizony igaz. Át kell írni a makrót, hogy csak minden harmadik sorból vegye az adatokat. 

A For sor végére Step 3 biggyesztése megoldja a lazább munka lehetőségét.  :D

Előzmény: Sánta Kutya (SK) (18699)
Sánta Kutya (SK) Creative Commons License 2012.08.22 0 0 18699

Csakhogy ez a makró nem ad választ arra az alapkérdésre, hogy mit mond majd a kérdező a dolgozóknak, amikor aziránt érdeklődnek, hogy miért karácsony hetében kell a legtöbb munkát végezni.

Előzmény: Delila10 (18698)
Delila10 Creative Commons License 2012.08.22 0 0 18698

Úgy vettem, hogy az első lapod a Munka1, a második a Munka2. Az utóbbihoz kell rendelned az első makrót, a másodikat pedig egy új modulba másold be.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    
    If Target.Address = "$B$1" Then
        Hét Target
    End If
    
    Application.EnableEvents = True
End Sub

 

 

 

Sub Heti(het)
    Dim WS As Worksheet, sor%, oszlop%, sor2%
    Set WS = Sheets("Munka2")
    
    Range("A2:A20").ClearContents
    
    Sheets("Munka1").Select
    oszlop% = Application.WorksheetFunction.Match(het, Rows(1), 0)
    For sor% = 2 To 17
        If Cells(sor%, oszlop%) = "x" Then
            sor2% = WorksheetFunction.CountA(WS.Columns(1)) + 1
            WS.Cells(sor2%, 1) = Range("A" & sor%)
        End If
    Next
    Sheets("Munka2").Select
End Sub

Előzmény: kraniczp (18692)
Törölt nick Creative Commons License 2012.08.22 0 0 18697

 

tetszik:
csendes tengerek nem nevelnek jó hajóst


Előzmény: SQLkerdes (18696)
SQLkerdes Creative Commons License 2012.08.22 0 0 18696

Erre mondják, hogy csendes tengerek nem nevelnek jó hajóst :-)

 

A lényeg, hogy végül meg lett oldva.

Előzmény: pchris91 (18695)
pchris91 Creative Commons License 2012.08.22 0 0 18695

Köszönöm a segítséget! Nagyszerűen működik. A bakikért elnézést, komolyan megrémiszt, mert ritkán szoktam ilyet tenni. Nem is akarok kifogásokat keresni, figyelmetlen voltam!

Előzmény: SQLkerdes (18683)
SQLkerdes Creative Commons License 2012.08.22 0 0 18694

Szerintem ez pont azt csinálja amit én mondtam.  Beolvas majd valahogy ráerőlteti az excel-re, hogy az vegye át az adatot.

A ráerőltetés része a dolognak az igazán trükkös, mivel az excelbe nem a beolvasott adatok kerülnek (bárkód), hanem az értelmezettek (a bárkódnak megfelelő cikkszám), vagyis a kettő között van valamilyen alkalmazás ami átveszi az adatokat a leolvasótól és felkészíti az excelnek való átadásra.

Előzmény: ZolKa (18693)
ZolKa Creative Commons License 2012.08.22 0 0 18693

Ahogy nézem itt is gombnyomásra olvassa be:

http://www.youtube.com/watch?v=NzK84kMkHOQ

 

A vonalkód olvasó nem úgy működik mint egy billentyűzet, beírja a beolvasott számokat és nyom egy enter -t?

 

Előzmény: SQLkerdes (18689)
kraniczp Creative Commons License 2012.08.22 0 0 18692

 

kraniczp Creative Commons License 2012.08.22 0 0 18691

Sziasztok!

 

A segítségeteket szeretném kérni. Van egy karbantartási táblázatom amelyben az összes hét és az összes feladat megtalálható.

Azt szeretném, hogy a másik munkalapon amikor beírom az első sorba a keresett hét számát, akkor megjelenjen az első oszlopban a szükséges feladatok neve (első munkalapon x-szel jelölve).

Ezt hogy lehetne megoldani?

Segítségeteket előre is köszönöm.

 

Péter

SQLkerdes Creative Commons License 2012.08.22 0 0 18690

Pld:

 

Előzmény: ZolKa (18688)
SQLkerdes Creative Commons License 2012.08.22 0 0 18689

A probléma az, hogy honnan fogja tudni az Excel, hogy megnyomtad a leolvasó gombját?

A másik, hogy nem tudsz dolgokat küldeni az Excel-nek, amit tudsz az dolgok beolvasása az Excel által.  Nagy a különbség, mert az egyik esetben az Excel passzív (küldesz neki dolgot) a másik esetben aktív (beolvas dolgokat).

 

Nézz utána a leolvasóknak, mert ezt a problémát már többszörösen megoldották (mondjuk nyilván benne is van a vas árában).  Nem gondolom, hogy ez valami extrém összeg lenne, google a barátod :-)

Előzmény: ZolKa (18688)
ZolKa Creative Commons License 2012.08.22 0 0 18688

Igazából úgy gondoltam hogy akkor lenne frissítés ha megnyomom a leolvasó gombját és az beolvassa az adatot. Ezt valamilyen formátumban elküldené az excelnek. Az excel pedig fogadná és a megfelelő termékhez ugrana ahol én a számítógép numerikus billentyűjén keresztül megadnám neki a darabszámot.

Bár lehet hogy jobb lenne ha egy üres excel táblába gyüjtené az adatot és a darabszámot és azt összehozni valahogy a leltár táblázattal.

Előzmény: SQLkerdes (18687)
SQLkerdes Creative Commons License 2012.08.22 0 0 18687

Ha a leolvasó (wifin?) folyamatosan feltölti a leolvasott adatokat egy adatbázisba, ez az adatbázis elérhető, importálható és frissíthető excelből, akkor meg lehet oldani amit szeretnél.

Az egyetlen dolog amiben nem vagyok biztos, hogy a leltár adatbázis lekérdezés frissítést hozzá lehet-e kapcsolni a vonalkód leolvasó használatához (vagyis, hogy az Excel akkor kérdezze le az adatokat, amikor új adat van, ne pld. percenként, vagy 20 másodpercenként).

 

Vannak ilyen vonalkód leolasók, sőt olyanok is, amik beveszik a mennyiséget egy saját keyboardon keresztül és a már kész leltárt tölthető le excelbe ahol már csak a neveket kell hozzátársítani a cikkszámokhoz.

Előzmény: ZolKa (18686)
ZolKa Creative Commons License 2012.08.22 0 0 18686

A leltárt én és a barátnőm csináljuk szóval az alkalmazottak abszolút nem látnak bele. Igazából nem tudom milyen programja(i) vannak a vonalkód olvasónak mert még nincs is csak gondolkozok rajta, hogy ha működne akkor...

 

Igen van olyan termék ami többször felkerül, az üzletben egyik hely - másik hely + raktárak. Szóval ez is bonyolítja a helyzetet.

 

Arra gondoltam, hogy makróval valahogy meg lehet oldani, hogy beolvasott adatnak megfelelő rekordot kiválasztja és mondjuk egy celláva arrébb ugrik vagy ha az már tartalmaz értéket akor kettővel. Utánna beírom a darabszámot rögzítem és várja a következő vonalkódot.

Előzmény: SQLkerdes (18685)
SQLkerdes Creative Commons License 2012.08.22 0 0 18685

Szerintem ez fordítva működik.  Először a (vonalkódleolvasó saját programjával) rögzítsd be a vonalkódokat és a mennyiségeket (egyébként sem jó ha a leltárt felvevők tudják a könyvekben szereplő mennyiségeket, mert visszaélést tehet lehetővé, szóval az ún. "vakleltár" jobb).

Ezután az összegyűjtött vonalkódokat (amik igazából numerikus kódok) és a mennyiségeket töltsd át excel-be és utána egy egyszerű vlookup-pal kapcsold össze a két "adatbázist".

 

Amin érdemes elgondolkozni, ha már leltárról van szó, az az, hogy lehet-e hogy ugyanaz a termék többször is felvételre kerül (pld. áruházakban szokott lenni, hogy a csokik két helyen is vannak, az édességek között a polcon, meg a kasszánál, hogy a sorban álló gyerekek addig nyaggassák a szülőket, amíg azok megveszik)...  Ha lehet ilyen akkor először összesíteni kell a leltáradatokat (pld egy pivottáblával) és csak utána összekapcsolni.

 

De hogy az eredeti kérdésedet is megválaszoljam, valószínűleg át lehet venni valahogy a vonalkód leolvasó adatát Excel-be, de ez extrém módon függ a leolvasóval használt programtól is (pld. képes-e leolvasásonként frissített adatbázist létrehozni és lekérdezésre rendelkezésre bocsátani, annak mi a szerkezete, stb.).  Szóval lehet, hogy lehetséges a megoldás, de hogy nem egy sima excel fórum keretében, az szinte tuti...

Előzmény: ZolKa (18684)
ZolKa Creative Commons License 2012.08.22 0 0 18684

Sziasztok!

Újabb kérdésem lenne:

 

Van egy táblázatom amit leltározásra használok. Az A oszlopban van a termékek neve, a B oszlopba írom be a darabszámot a C oszlopban pedig az ár van. 

Ha felvenném minden termék vonalkódját akkor megoldható lenne e az, hogy vonalkód olvasóval beolvasom a vonalkódot és autómatikusan kikeresné a terméket majd a B oszlopára (darabszám) ugrana én beírnám a darabszámot entert nyomok és jöhetne a következő?

SQLkerdes Creative Commons License 2012.08.22 0 0 18683

Ebben a példában a harmadik blokkban van eset amikor a 3-b kombináció kétszer fordul elő, valamint a negyedik blokkban is van eset amikor a 34-b kombináció kétszer fordul elő.

 

Válaszolj igennel vagy nemmel:  előfordulhat, hogy az adatbázis munkalapodon kétszer fordul elő ugyanaz (pld. a 3-b) kombináció?

Jól értem, hogy a kereső munkalapodon egymás alatt vannak kombinációk, amelyekhez meg kellene keresni az adat mezőt.

 

Mert akkor a problémád közel sem olyan bonyolult, mint elsőre leírtad.  Úgynevezett two-way-lookup-ot kell csinálni és úgy bereferenciázni, hogy lefele is másolható legyen.

 

Azért meg kell mondjam, hogy új etalont hoztál létre a nehezen értelmezhető kérdések területén és a kb 3-szor elrontott példád sem segített...

 

Szóval, alapfeltételezések:

- adatok az Adatbazis munkalap A2:C13 tartományában vannak (ezen a lapon az első sor a fejléc, ezért kezdődik a második sorban).

- a keresesi feltetelek egy masik munkalap A és B oszlopában vannak, a keresési eredmény ugyanennek a munkalapnak a C oszlopába kerül.  Ennek a lapnak az első sora fejléc, így az első lekérdezendő adatokat tartalmazó sora a 2. sor (vagyis a lenti képletet a C2 cellába kell bemásolni)

- a lenti képletet Ctrl+Shift+Enter-rel kell lezárni, ha jól sikerült akkor kapcsos zárójelek közé kerül a képlet a szerkesztőlécben.  Ha nem Ctrl+Shift+Enter-t használsz, a függvény NEM fog működni.

- a függvény azon a feltételezésen alapul, hogy nincs olyan kombináció ami kétszer fordulna elő az adatbazis munkalapon!

 

A képlet, ami a C2 cellába megy és szabadon másolható lefele:

 

=INDEX(adatbazis!$C$1:$C$13,SUM((A2=adatbazis!$A$2:$A$13)*(B2=adatbazis!$B$2:$B$13)*ROW(adatbazis!$A$2:$A$13)))

Előzmény: pchris91 (18680)
pchris91 Creative Commons License 2012.08.21 0 0 18682

Na már megint hibáztam: a negyedik blokk nem 3-al kezdődik, hanem 4-el. Bocs már talán késő van.

Előzmény: pchris91 (18681)
pchris91 Creative Commons License 2012.08.21 0 0 18681

A 18677 és a 18680 példa alapján tudom talán az egészet jobban megvilágítani, de még nem vagyok magamban biztos, hogy elég szabatosan magyarázom-e.

 

Ha az alábbi mátrixban keresek az Index-Hol.van függvény halmazzal, akkor az 1a; 1b; 1c; 1d; 2a; 3a; 4a esetekben ad jó eredményt, egyébként 0-át.

Előzmény: SQLkerdes (18679)
pchris91 Creative Commons License 2012.08.21 0 0 18680

Kipróbáltam. Az E1 és F1 cellában lévő feltételekhez megadja a jó eredményt.

Az én esetemben a keresési értékek, mint E és F oszlopban egy másik munkalapon vannak. Tehát a képlet húzásával kellene minden sorához a másik munkalapról az eredményeket áthozni. 

1.Adatbázis munkalap:

feltétel1 feltétel2 ...Adat

 

1 .............a.......... 1000

1 .............b.......... 1001

1 .............c.......... 1002

1 .............d.......... 1003

 

2............. a.......... 1004

2............. b.......... 1005

2............. c.......... 1006

2............. d.......... 1007

 

3............. a.......... 1008

3............. b.......... 1009

3............. b.......... 1010

3............. d.......... 1011

 

3............. a.......... 1012

3............. b.......... 1013

3............. b.......... 1014

3............. d.......... 1015

 

(így tovább)

 

A kereső munkalapon:

 

feltétel1 feltétel2 ...képlet

1.............c......>>>>>1002

2.............b......>>>>>1005

3.............d......>>>>>1011

4.............a......>>>>>1012

5

6

.

n

Előzmény: SQLkerdes (18673)
SQLkerdes Creative Commons License 2012.08.21 0 0 18679

Akkor lehetséges, hogy a rossz problémára készítettem jó megoldást :-)

Amit én csináltam az azon alapul, hogy a 3-c kombináció többször is előfordulhat és mindegyik ilyen kombináció melletti számot látni szeretnéd.

 

Most viszont azt írod, hogy csak egyszer fordulnak elő a kombinációk, viszont akkor nem látom a problémát, mert "sima" VLOOKUP+INDEX-el meg lehet oldani.  Meg azt sem értem, hogy a lenti magyar forrásból származó megoldással kapcsolatban miért írod, hogy a második előfordulásnál is az első előfordulás számát adja vissza.

 

Szóval akkor most hogy?

Előzmény: pchris91 (18649)
pchris91 Creative Commons License 2012.08.21 0 0 18678

Bocs, most olvastam az alábbi válaszodat. Köszi,kipróbálom.

Előzmény: SQLkerdes (18676)
pchris91 Creative Commons License 2012.08.21 0 0 18677

Egy keresett első feltételhez(keresési érték) csak egy találat lehet, az alábbi már javított példa szerint. Több adatbázis keres különböző adatokat egymásban. A keresett első feltétel kb 3-9-szer ismétlődik egymás alatt. Minden sorban általában más-más második feltétel van hozzárendelve, amelyek így megadják a keresett adatot, mint eredményt. Sajnos nem mindig, de annak a megoldása még tovább komplikálná a dolgot, hiszen annak a megkülönböztetésére már egy harmadik feltétel kellene!? Az egész adatbázis kb 10.000 sor. Ebben kb. 1500-2000 féle első feltétel van. Nem tudom, hogy eléggé érthetően írom-e?

Előzmény: SQLkerdes (18670)
SQLkerdes Creative Commons License 2012.08.21 0 0 18676

A 18673-at neked írtam, vess rá egy pillantást.  A neten fogsz találni olyan site-okat, amik segítenek megtalálni az angol nyelvű függvények magyar megfelelőjét.

Előzmény: pchris91 (18675)
pchris91 Creative Commons License 2012.08.21 0 0 18675

A képletet a honlapról másoltam, de nem jön így rendesen át. Helyesen:

=HA(ÉS(NEM(HIBÁS(HOL.VAN($B$2;$A:$A;0)));NEM(HIBÁS(HOL.VAN($C$2;$B:$B;0))));HA(HOL.VAN($B$2;$A:$A;0)=HOL.VAN($C$2;$B:$B;0);INDEX($A:$C;

HOL.VAN($B$2;$A:$A;0);3);HA(INDEX($A:$C;HOL.VAN($B$2;$A:$A;0);2)=$C$2;INDEX($A:$C;HOL.VAN($B$2;$A:$A;0);3);HA(INDEX($A:$C;

HOL.VAN($C$2;$B:$B;0);1)=$B$2;INDEX($A:$C;HOL.VAN($C$2;$B:$B;0);3);0)));0)

 

A végén a "Nincs találat" helyett 0-át írtam.

Előzmény: Sánta Kutya (SK) (18656)
SQLkerdes Creative Commons License 2012.08.21 0 0 18674

Hát Lala, nincsen jó érzésem ezzel a feladvánnyal kapcsolatban.

 

Tapasztalatból mondhatom, hogy ha valaki leírja egy excel problémáját, azzal itt többnyire foglalkoznak a bentlakók.  A te esetedben azonban még el sem jutottunk az excel problémáig, mert először egy kombinatorikai feladatot kell megoldani.

Miközben igaz, hogy minden bogár rovar (vagy fordítva), az nem igaz, hogy minden excel-es kocka egyben beépített statisztikus is.

 

Szóval ha elmondod nekünk az algoritmust ami előállítja az általad áhított végeredményt, bátran mondom nagy esélye van annak, hogy valaki leprogramozza neked.

 

Megoldani egy statisztikai jellegű problémát, nos nem vagyok optimista.

 

Szóval amíg te nem segítesz annyival, hogy (valamelyik másik topikban?) felkutatod a megoldást a statisztikai problémádra, addíg itt kevés esélyed van, nem azért mert nem akarnánk segíteni neked, hanem mert nem tudunk.

Előzmény: Törölt nick (18664)
SQLkerdes Creative Commons License 2012.08.21 0 0 18673

Alapfeltételezések:

- adatok az A2:C13 tartományban vannak (A és B oszlop keresendő, C oszlop találandó adat)

- a két keresendő adat az E1-ben (az A2:A13 tartományra kiértékelendő adat), és az F1-ben van.

- a lenti képletet az E2 cellába írod és utána lefelé másolod.

- javaslom, hogy a hivatkozásokhoz inkább neveket használj ne pedig cellahivatkozásokat (pld. az A2:A13 tartományt elnevezheted 'ElsoFeltetel'-nek és rögtön olvashatóbb lesz a képleted.

 

=INDEX($C$2:$C$13,LARGE(($A$2:$A$13=$E$1)*($B$2:$B$13=$F$1)*ROW($A$2:$A$13)-ROW($A$2)+1,ROW(A1)))

 

- a képletet kéretik Ctrl+Shift+Enter-rel lezárni, NEM pedig sima ENTER-rel.  Ha jól csináltad a képlet {} kapcsos zárójelek közé kerül.  Ha érdekel, hogy mi ez olvass utána az excel tömbfüggvényeknek (http://office.microsoft.com/hu-hu/excel-help/utmutatasok-es-peldak-tombkepletek-hasznalatahoz-HA010228458.aspx).

 

Az egészet beágyazhatod egy IFERROR-ba és akkor nem ad hibát az x+1-ik sorban ha csak x találat van.

Előzmény: SQLkerdes (18670)
Sánta Kutya (SK) Creative Commons License 2012.08.21 0 0 18672

Igen, bevallom töredelmesen, egy külső partnertől kaptuk az adatokat valamilyen feldolgozásból, úgyhogy well blöffed lion. :-)

Előzmény: SQLkerdes (18671)
SQLkerdes Creative Commons License 2012.08.21 0 0 18671

Ha begépeled feltételezi, hogy így akartad.  Ha eredményül kapod akkor már valószínűbb, hogy elkezd a napokkal is játszani (nem próbáltam ki, csak blöffölök).

Előzmény: Sánta Kutya (SK) (18669)
SQLkerdes Creative Commons License 2012.08.21 0 0 18670

Erre van megoldás, de hosszabb idő kell hozzá.  Jó lenne ha valahogy meg tudnád adni hogy maximum hány egyidejű találat lehet.

Viszont büszkén mondhatom, hogy lesz benne SUM.  A régi topiklátogatók tudják, hogy csak egy gyengém van és az a SUM használata, ahol lehet :-)

Előzmény: pchris91 (18665)
Sánta Kutya (SK) Creative Commons License 2012.08.21 0 0 18669

Ez érdekes, mert most kipróbáltam 2000-esben, és magától ezt a formátumot vette fel. Holnap megnézzük működés közben, köszi!

Előzmény: SQLkerdes (18668)
SQLkerdes Creative Commons License 2012.08.21 0 0 18668

Nem engedi, hogy az órákból levegye a 24 többszöröseit, vagyis enforce-olja az órákban való mutatást.  Ennél csúnyábban és magyartalanabbul már nem nagyon tudtam volna leírni :-)

Előzmény: Sánta Kutya (SK) (18667)
Sánta Kutya (SK) Creative Commons License 2012.08.21 0 0 18667

Nem, de holnap kipróbálom. :-) Mit jelent a []?

Előzmény: SQLkerdes (18666)
SQLkerdes Creative Commons License 2012.08.21 0 0 18666

Próbáltad a klasszikus [h]:mm:ss formátumot?

Előzmény: Sánta Kutya (SK) (18663)
pchris91 Creative Commons License 2012.08.21 0 0 18665

Tulajdonképpen az interneten, Nagy Tamás blogjában találtam egy majdnem jó megoldást: http://nagytamas.wordpress.com/2011/01/13/olyan-mint-az-fkeres/

 

Az ő képlethalmaza: 

HA(ÉS(NEM(HIBÁS(HOL.VAN($B$2;$A:$A;0)));NEM(HIBÁS(HOL.VAN($C$2;$B:$B;0))));HA(HOL.VAN($B$2;$A:$A;0)=HOL.VAN($C$2;$B:$B;0);INDEX($A:$C;HOL.VAN($B$2;$A:$A;0);3);HA(INDEX($A:$C;HOL.VAN($B$2;$A:$A;0);2)=$C$2;INDEX($A:$C;HOL.VAN($B$2;$A:$A;0);3);HA(INDEX($A:$C;HOL.VAN($C$2;$B:$B;0);1)=$B$2;INDEX($A:$C;HOL.VAN($C$2;$B:$B;0);3);”Nincs találat”)));”Nincs találat”)

 

De sajnos a második kritériunnál ez is csak az elsőt találja meg.

Előzmény: Sánta Kutya (SK) (18656)
Törölt nick Creative Commons License 2012.08.21 0 0 18664

Nincs semmmi meg valaki oldja meg excel makroban és persze ertesem is a program lényeget,nagyon fontos lennne.

Sánta Kutya (SK) Creative Commons License 2012.08.21 0 0 18663

Hogy lehetne rávenni az Excel 2007-et, hogy egy 25:12:23-as időtartamot meghagyjon ebben a hitében, és ne csináljon belőle 1:12:23-at? Értem én, miért csinálja, csak nem szeretem...

pimre Creative Commons License 2012.08.21 0 0 18662

Nem válaszoltál arra, hogy megvan-e egyébként az algoritmusod? Vagy azt szeretnéd, hogy valaki oldja meg a dolgot, mint kombinatorikai feladatot (és mellékesen írjon rá programot is)?

Előzmény: Törölt nick (18661)
Törölt nick Creative Commons License 2012.08.21 0 0 18661

De nekem itt kellene a programban,makroban.

Törölt nick Creative Commons License 2012.08.21 0 0 18660

Hoi,

 

Pontosan, az a gond, hogy nem látszik a kijelölés. Ha nem 5, hanem 90 szövegdoboz van, akkor az fontos lenne, hogy a felhasználó lássa, h pont melyik szövegdobozról van szó.

 

Thx,

Üdv,

Zs

Előzmény: SQLkerdes (18657)
pimre Creative Commons License 2012.08.21 0 0 18659

Szerintem ez nem programozási kérdés. Programtól függetlenül megvan rá az algoritmusod? Mert ha igen, akkor gyerekjáték megírni rá a programot bármilyen programnyelven.

 

Egyébként nézz utána itt: http://www.lottoxt.com/index.php?id=vari/vari&page=vari3, vagy itt: http://www.matrixlotto.hu/Htm_oldalak/Variaciok.html

 

A google sok más hasonló találatot ad, ha jó keresőszavakat írsz be.

Előzmény: Törölt nick (18658)
Törölt nick Creative Commons License 2012.08.21 0 0 18658

Az alabbi program egy ötös lotto variaciot tartalmaz 21 szam 5 kihuzottra 5 talalat,de hogyan tudnak olyant csinani ami mondjuk 2 kihuzottra 2talalatot garantal??

Vagy 4 kihuzottra  3as talalatot?

 

o=2

    For i = 1 To 17

       For j = i + 1 To 18

            For k = j + 1 To 19

                For l = k + 1 To 20

                    For m = l + 1 To 21

 

  Cells(o, 1) = i

    Cells(o, 2) = j

      Cells(o, 3) = k

      Cells(o, 4) = l

       Cells(o, 5) = m

   o = o + 1

  Next

  Next

 Next

 Nex

Next

SQLkerdes Creative Commons License 2012.08.21 0 0 18657

Nem teljesen világos számomra a probléma.

Te magad is írod, hogy a kiválasztás megtörténik, mert MsgBox-ban ki tudod iratni a szövegeket.  Az a probléma, hogy nem látszik a kijelölés?  Az miért probléma?  Lehet egy kicsit több info birtokában többet tudnánk segíteni...

Előzmény: Törölt nick (18654)
Sánta Kutya (SK) Creative Commons License 2012.08.20 0 0 18656

Bocsi, nem figyeltem a görgetősávot, azt hittem, még az van felül. :-)

Előzmény: Sánta Kutya (SK) (18655)
Sánta Kutya (SK) Creative Commons License 2012.08.20 0 0 18655

Nem az a baj, hogy az előbb nem volt kipontozva, hanem hogy nem világos, mit akarsz. Ha több találat van, és nem az elsőt keresed, akkor minek az alapján kell eldönteni, hogy hányadikat?

Előzmény: pchris91 (18649)
Törölt nick Creative Commons License 2012.08.20 0 0 18654

Sziasztok,

 

Balszerencsémre excelben kellene VBA makrókat hegesztenem, de van egy tök egyszerű dolog, ami kifogott rajtam. Maga a probléma egy eljáráshalom mélyében van, de egy egyszerű eljárással is szemléltethető:

 

1) Adott egy excel munkalap, benne néhány szövegdobozzal (nem beviteli mező, csak szimpla színes-szagos szövegdoboz objektum). A cél a szövegdoboz aktiválása (kijelölése), egy ciklusból. Vagyis, egy gomb eseménykezelője:

 

Sub Findtext()
   For i = 1 To ActiveSheet.TextBoxes.Count
     ActiveSheet.TextBoxes(i).Select
     MsgBox (i)
   Next i
End Sub

 

Elméletileg kijelöli az összes szövegdobozt egyesével (ha akarom, akár a tartalmukat is ki tudom írni az MsgBox segítségével)... De a kijelölés nem működik: gyakorlatilag az első MsgBox-nál kijelöli az elsőt, aztán a legutolsó MsgBox leokézésa után meg kijelöli az utolsót. De az nem látszik, ahogy végigmegy a kijelölés a szövegdobozokon...

 

2) ActiveSheet.TextBoxes(i).SelStart = 0 -ra miért azt kapom vissza, hogy "Object doesn't support this property or method" ?

 

Előre is köszönöm a segítséget,

 

Üdv,

Zs

pchris91 Creative Commons License 2012.08.20 0 0 18653

Teljeskörűen bocsánatot kérek!! Újra tervezés. Kapkodva, nem odafigyelve adtam meg a mintát. Helyesen:

 

feltétel1 feltétel2 ...Adat

 

1 .............a.......... 1000

1 .............b.......... 1001

1 .............c.......... 1002

1 .............d.......... 1003

 

2............. a.......... 1004

2............. b.......... 1005

2............. c.......... 1006

2............. d.......... 1007

 

3............. a.......... 1008

3............. b.......... 1009

3............. c..........1010

3............. d.......... 1011

 

Még egyszer elnézést!!

 

Előzmény: Jozsef (18652)
Jozsef Creative Commons License 2012.08.20 0 0 18652

Az AB.MEZŐ függvénnyel tetszőleges bonyolultságú feltétel szerint tudsz keresni. A példádból nem látom, hogy a "3" "c" feltételre miért épp a 1010 akarod kapni az 1008-1011 értékek közül.

 

Előzmény: pchris91 (18649)
pchris91 Creative Commons License 2012.08.19 0 0 18651

Köszönöm a választ!

A segédoszlop verzió vészmegoldásként jónak tűnik. Hasonló megoldásként hozom létre tulajdonképpen az adatoszlopot is. Ezek az adatok egy kb 10.000 soros munkalapon vannak, ahonnan adatokat veszek át másik munkalapokra, amelyek úgy 2-3000 sorosak. Itt minden sorban egy keresésnek kell lennie, az adatoszlop értékeire, amelyek azután a munkalapokon további hivatkozásként szolgálnak más értékek keresésére. Így viszonylag egyszerű, általános megoldást keresek. Egy ilyen függvényt már több esetben is tudtam volna használni. Érdekes lenne egy általános formula is. Talán a következő Excel-ben már lesz ilyen, a "szumhatöbb" példája okán.

Előzmény: Törölt nick (18650)
Törölt nick Creative Commons License 2012.08.19 0 0 18650

de fontos, hogy, ha valamelyik kritérium többször is előfordul, ne csak az elsőt vegye tekintetbe. 

Hanem mit csináljon akkor?

 

1.

összefűzöd a két oszlopot egy harmadikban és azt használod az fkeresben mint keresési kritérium. Ha több van, akkor csak az első találatot kapod vissza.

2.

szumhatöbb függvény - ekkor ha van azonos akkor azokat összeadja (pl. ha lenne két 3............. c.......... akkro azok összegét kapod meg.

3.

kimutatás(pivot) tábla - (én ezt használnám)

Előzmény: pchris91 (18649)
pchris91 Creative Commons License 2012.08.19 0 0 18649

Sziasztok! Küldöm még egyszer, mert először összeugrottak a karakterek.

 

Abban kérném a sgítségeteket, hogy tudtok-e több feltétel egyszerre teljesülése esetére kereső függvényt ajánlani? Az "fkeres", vagy a "hol.van" -"index" függvényhez hasonlóan, de fontos, hogy, ha valamelyik kritérium többször is előfordul, ne csak az elsőt vegye tekintetbe. Az alábbiakban küldök egy példát. A "3" és "c" egyezésénél az eredmény 1010.

 

feltétel1 feltétel2 ...Adat

 

1 .............a.......... 1000

1 .............a.......... 1001

1 .............a.......... 1002

1 .............a.......... 1003

 

2............. b.......... 1004

2............. b.......... 1005

2............. b.......... 1006

2............. b.......... 1007

 

3............. c.......... 1008

3............. c.......... 1009

3............. c..........1010

3............. c.......... 1011

 

Előre is köszönöm a segítséget.

 

pchris91 Creative Commons License 2012.08.19 0 0 18648

Sziasztok!

 

Abban kérném a sgítségeteket, hogy tudtok-e több feltétel egyszerre teljesülése esetére kereső függvényt ajánlani? Az "fkeres", vagy a "hol.van" -"index" függvényhez hasonlóan, de fontos, hogy, ha valamelyik kritérium többször is előfordul, ne csak az elsőt vegye tekintetbe. Az alábbiakban küldök egy példát. A "3" és "c" egyezésénél az eredmény 1010.

 

feltétel1 feltétel2 Adat

 

1 a 1000

1 a 1001

1 a 1002

1 a 1003

 

2 b 1004

2 b 1005

2 b 1006

2 b 1007

 

3 c 1008

3 c 1009

3      c 1010

3 c 1011

 

Előre is köszönöm a segítséget.

djmorphy Creative Commons License 2012.08.17 0 0 18647

Nekem is minden alkalommal megkérdezi. Mondjuk arra még nem nyomtam rá, hogy "nem"

Előzmény: Sánta Kutya (SK) (18646)
Sánta Kutya (SK) Creative Commons License 2012.08.17 0 0 18646

Az normális, hogy a megosztott munkafüzet minden alkalommal megkérdezi, hogy akarom-e menteni, akkor is, ha semmit nem csináltam, és amikor azt mondom, hogy nem, akkor mégis az a perc fog látszódni dátumként, amikor bezártam?

Delila10 Creative Commons License 2012.08.17 0 0 18645

Nézd meg ezt a linket, de lehet, hogy csak az ablaktábla rögzítésére van szükséged.

http://exceldailytip.blogspot.hu/2009/04/tip-49-camera-tool-in-excel.html

Előzmény: djmorphy (18644)
djmorphy Creative Commons License 2012.08.17 0 0 18644

Megint kellene egy kis segítség.

 

Van 12 oszlop ami a termékekre vonatkozik és írom be az adatokat hozzá. De már nem látom a címet az 2-sorban, hogy az melyik is valójában. Nincs esetleg valami mód arra ha ráállok mondjuk a B120-ra akkor dob egy popuppot vagy valamit hogy ez a Kettes termék?

djmorphy Creative Commons License 2012.08.17 0 0 18643

Oh köszi! :)

Előzmény: Törölt nick (18641)
wawabagus Creative Commons License 2012.08.17 0 0 18642

Köszi!

Előzmény: SQLkerdes (18634)
Törölt nick Creative Commons License 2012.08.17 0 0 18641

a feltételek a d1, e1-ben vannak, aszerint összegezné te meg üresen hagyod azokat. Ezért jogosan 0.

Előzmény: djmorphy (18639)
Sánta Kutya (SK) Creative Commons License 2012.08.17 0 0 18640

Köszönöm, köszönöm! Bár már közben elszántam magam egy másik megoldásra, ahogy kicsit feljebb látható, de ez nagy segítség, jövő héten megnézem!

Előzmény: E.Istvan (18638)
djmorphy Creative Commons License 2012.08.17 0 0 18639

Szia!
Megírtam ugyan azt de valami nem akar működni. Mi lehet a gond?

 

 

 

Előzmény: Törölt nick (18625)
E.Istvan Creative Commons License 2012.08.17 0 0 18638

Megnéztem a linkeket. Jó úton haladsz, de ez irtózatos meló. Én korábban végigverekedtem magam rajta.
A legegyszerűbb ha a saját munkafüzeted valamelyik lapjára helyezel egy gombot és ahhoz rendeled a makrót. Aztán vagy a makró bekéri, hogy melyik munkafüzet melyik lapján fusson le, vagy a gomb alatt lévő cellába beíratod a felhasználóval és onnan veszi ki a makró

 

A kicsit bonyolultabb, hogy saját eszköztárat készítesz. 2003 alatt ennek volt egy olyan módja, hogy kézzel elkészítetted az eszköztárat, majd a kész eszköztárat csatoltad a munkafüzethez, így az a munkafüzet megnyitásakor automatikusan megjelent. Ezzel én is szenvedtem, de ha jól emlékszem akkor a 2007-ben már nem tudod csatolni.

Program segítségével azonban a munkafüzet megnyitásakor még mindig el lehet készíteni a saját eszköztárat, ha ennek a módját ismered 2003 alatt akkor az futni fog 2007 alatt is. Maximum egy két helyen kell módosítani a parancsokon. Ennek az a szépséghibája, hogy 2007 alatt már új eszközsort (vagy mi a neve) nem tudsz létrehozni. Az összes saját eszköztárat fixen egy Bővítmények nevű szalagon fogja elhelyezni és csak a gyári ikon képeket lehet használni.

Erre egy példa:

Thisworkbook lapra az alábbi kód:
Private Sub Workbook_Open()
    Dim menu_obje, menu_obje2, menu_obje3 As Object
   
    For Each menu_obje In Application.CommandBars(1).Controls
        If menu_obje.Caption = "Új menü" Then
            menu_obje.Delete
        End If
    Next
    For Each menu_obje In Application.CommandBars
        If menu_obje.Name = "Új eszköztár" Then
            menu_obje.Delete
        End If
    Next
   
    Set menu_obje = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, temporary:=True)
    menu_obje.Caption = "Új menü"
   
    Set menu_obje2 = menu_obje.Controls.Add(Type:=msoControlButton, temporary:=True)
    menu_obje2.Caption = "Első program"
    menu_obje2.OnAction = "program1"
   
    Set menu_obje2 = menu_obje.Controls.Add(Type:=msoControlPopup, temporary:=True)
    menu_obje2.Caption = "almenü"
    Set menu_obje3 = menu_obje2.Controls.Add(Type:=msoControlButton, temporary:=True)
    menu_obje3.Caption = "Második program"
    menu_obje3.OnAction = "program2"
   
    Application.Toolbars.Add Name:="Új eszköztár"
    With Toolbars("Új eszköztár")
        .Visible = True
        .ToolbarButtons.Add Button:=211
        .ToolbarButtons(1).OnAction = "program3"
        .ToolbarButtons(1).Name = "Harmadik program"
    End With
   
End Sub

 

Private Sub Workbook_BeforeClose(cancel As Boolean)
    Dim menu_obje As Object
    If Not cancel Then
        For Each menu_obje In Application.CommandBars(1).Controls
            If menu_obje.Caption = "Új menü" Then
                menu_obje.Delete
            End If
        Next
        For Each menu_obje In Application.CommandBars
            If menu_obje.Name = "Új eszköztár" Then
                menu_obje.Delete
            End If
        Next
    End If
End Sub

 

Egy modul lapra az alábbi kód:

Private Sub program1()
    MsgBox "program1"
End Sub

Private Sub program2()
    MsgBox "program2"
End Sub

Private Sub program3()
    MsgBox "program3"
End Sub

 

A harmadik lehetőség hogy magát a szalagot alakítjuk át. Ehhez viszont már érteni kell az xml programozáshoz is.
Kezdőknek nagyon jó letölthető szalag szerkesztő programok vannak. Például:
Office2007RibbonEditor225
OfficeCustomUIEditor
visualribboneditor

Ezekkel létre kell hozni egy szűz Excelt a kívánt új szalaggal.
A szalagon lehet gyári ikonképeket elhelyezni, illetve a ikonokra lehet saját képet is feltenni.

Az így elkészült új Excelben lehet elkészíteni a saját programokat és táblázatokat.
Később a szalagot egy kis hozzáértéssel már manuálisan is lehet módosítani. Ehhez a fájl kiterjesztését xlsm-ről át kell nevezni zip-re. Majd ki kell csomagolni a fájlt. Kapunk egy könyvtárstruktúrát különböző fájlokkal. Ezekben kell a módosításokat elvégezni, majd be kell zippelni a teljes könyvtárat és vissza kell írni a kiterjesztést xlsm-re.

Ha már haladsz valamennyit a programozással, akkor ezt az xlsm fájlt le lehet menteni Excel bővítményként is. És akkor a makróid „láthatatlanul” a háttérben ott lehetnek a felhasználóknál, akik csak annyit látnak, hogy van egy új szalagjuk különféle gombokkal és menükkel.

Előzmény: Sánta Kutya (SK) (18576)
SQLkerdes Creative Commons License 2012.08.16 0 0 18637

És mivel nincs új a nap alatt:

 

http://peltiertech.com/Excel/XL_PPT.html#rangeppt

 

Szóval csak annyit kell csinálni, hogy Selection helyett UsedRange-t használsz és kész.

Előzmény: SQLkerdes (18636)
SQLkerdes Creative Commons License 2012.08.16 0 0 18636

Vagy ott van a jó öreg copy as picture lehetőség (xl2007 és xl2010), az konvertál mindent.

Ha csak a pivot table van egy adott lapon akkor makróból ki lehet jelölni a UsedRange object-et, copy as picture és már lehet is Ctrl+v-zni Powerpointban.

 

Magasabban kvalifikáltak valszeg azt is könnyedén megoldják, hogy makróból nyíljon úgy lap a Powerpointban és automatikusan paste-eljen, de én nem ismerem a PP object modelljét.

Előzmény: SQLkerdes (18635)
SQLkerdes Creative Commons License 2012.08.16 0 0 18635

Itt van link egy cikkhez.  Úgy tűnik az export method-ot használja:

 

http://vbadud.blogspot.hu/2009/03/how-to-save-chart-as-image-using-excel.html

 

Előzmény: SQLkerdes (18634)
SQLkerdes Creative Commons License 2012.08.16 0 0 18634

A Chart-okat makróból le lehet menteni kép formátumba.  Ha ez működne Pivottal, az elég jó lenne neked, mert gombnyomásra készíteni a png formátumú képet, clipboard-ra rakni és már csak a Ctrl+v-t kéne nyomogatnod.

Lehet érdemes lenne ennek utánanézzél, sajnos nem emlékszem hol láttam...

Előzmény: wawabagus (18633)
wawabagus Creative Commons License 2012.08.16 0 0 18633

Sziasztok!

A tanácsotokat szeretném kérni.

 

Adva van 2db excel formátumú riport, jópár pivottal.

 

És ebből kéne országokra bontott PPT formátumú prezit csinálni.

 

Megoldások:

1. copy-paste :-)...de ez meglehtősen hosszú és unalmas munka lenne.

2. Macro a kikopizgatásra....

         Igazából ezt elkezdtem írni, és tulajdonképp egész jól ment. Kivéve, hogy a kép valami oknál fogva nem akar a dia közepére kerülni

         Szóval itt kicsit leragadtam

 

A kérdés az lenne, hogy gondolom ti is találkoztatok hasonló feladattal. Milyen megoldást találtatok rá?

Copy-paste? Vagy van esetleg valami frappánsabb?

Előre is köszi a javaslatokat!

Y.

Törölt nick Creative Commons License 2012.08.16 0 0 18632

Előbb kérdeztem, mint kerestem. :(

Rögzítő nincs, de tökéletes funkció van helyette.

Előzmény: Törölt nick (18631)
Törölt nick Creative Commons License 2012.08.16 0 0 18631

off

Szerintetek acces makróprogramozását hol lehetne elkezdeni? Ott ugye nincs macrorecorder...

on

Törölt nick Creative Commons License 2012.08.15 0 0 18630

tehát ahogy le is írtad:

01 abc = 10

Előzmény: Törölt nick (18629)
Törölt nick Creative Commons License 2012.08.15 0 0 18629

amit írtál a 18611-ben.

A = ID

B=  Termék

C = db

Előzmény: djmorphy (18628)
djmorphy Creative Commons License 2012.08.15 0 0 18628

Megcsináltam ugyan így de nekem nullád dob :D

De ha az A és C oszlopod a darabszámot jelöli akkor nem 4-nek kellene lenni-e a D1-ben?  

Előzmény: Törölt nick (18625)
Törölt nick Creative Commons License 2012.08.15 0 0 18627

Megerősíteném a 18616-ot (SQL_kerdes), szerintem is jó erre (Sőt. Jobb)

Előzmény: djmorphy (18611)
Törölt nick Creative Commons License 2012.08.15 0 0 18626

lásd 18625

de ebben úgy is van, ahogy írod (több feltétel, 1 kiértékelendő tartomány)

Előzmény: SQLkerdes (18615)
Törölt nick Creative Commons License 2012.08.15 0 0 18625

Jó az. Ehol ni:

 

 

Előzmény: djmorphy (18624)
djmorphy Creative Commons License 2012.08.15 0 0 18624

A szumhatöbb az nem jó :(

Tétel1  15
Tétel1  10

Erre azt adja, hogy 2db holott nekem az kellene hogy 25. 

Előzmény: djmorphy (18621)
Törölt nick Creative Commons License 2012.08.14 0 0 18623
én azt értem, de az nem egyenlő a szumhatobb eredményével és azt nem értettem emiatt h hová akarsz ezzel kilyukadni
Előzmény: Delila10 (18619)
Delila10 Creative Commons License 2012.08.14 0 0 18622

Mert nem jutott eszembe. :D

Előzmény: Sánta Kutya (SK) (18620)
djmorphy Creative Commons License 2012.08.14 0 0 18621

Ugyan abba a két filenévbe exportálja a program az adatokat. Csak addig kell, hogy a leadott rendelésekhez van-e elég alapanyagunk. Aztán következő nap/lekéréskor ha exportálom akkor az arra vonatkozóan nézi meg, hogy van-e elég alapanyag vagy miből kell rendelni.

Előzmény: SQLkerdes (18616)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18620

Ez az!! Miért nem ezzel kezdted? :-)

Előzmény: Delila10 (18618)
Delila10 Creative Commons License 2012.08.14 0 0 18619

Nem írtam ki a függvény paramétereit, csak azt, hogy az egyik összegzi az első-, a másik a második tartomány adataiból a kritériumnak megfelelő érétkeket.

Előzmény: Törölt nick (18614)
Delila10 Creative Commons License 2012.08.14 0 0 18618

A personalt kiválasztva Nézet | Ablak | Elrejtés. Ugyanitt felfedheted majd, ha szükséged lesz rá.

Előzmény: Sánta Kutya (SK) (18617)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18617

Ezzel a beállítással viszont nemcsak a perssonalt tünteti el a tálcáról, hanem az összes többi megnyitott ablakot is. :-((( Fürdővízzel a gyereket.

Előzmény: Delila10 (18595)
SQLkerdes Creative Commons License 2012.08.14 0 0 18616

Mivel a Pivot táblák több tartomány összekonszolidálását is tudják kezelni én erre Pivot táblát használnék...

 

Valszeg makró kell ahhoz, hogy a - ha jól értem - folyton változó dimenziójú input tartományokhoz hozzáigazítsa a pivot opcióit.

Előzmény: djmorphy (18611)
SQLkerdes Creative Commons License 2012.08.14 0 0 18615

Én azt hittem, hogy a SUMIFS/SUMHATOBB  arra való amikor több feltétel van, nem pedig amikor több kiértékelendő tartomány....

Vagy rosszul tudom?

Előzmény: Törölt nick (18612)
Törölt nick Creative Commons License 2012.08.14 0 0 18614

ebben a formában ezt nem értem

Előzmény: Delila10 (18613)
Delila10 Creative Commons License 2012.08.14 0 0 18613

2007-es előtt SZUMHA(egyik tartomány)+SZUMHA(másik tartomány). :-)

Előzmény: Törölt nick (18612)
Törölt nick Creative Commons License 2012.08.14 0 0 18612

excel 2007-től van szumhatöbb() az erre való.

 

 

Előzmény: djmorphy (18611)
djmorphy Creative Commons License 2012.08.14 0 0 18611

Sziasztok!

 

Kellene megint egy kis segítség. Van két txt file amiből betöltöm az egyik munkafüzetre az egyedi ID-d a terméknevet és a darabszámot. Ez A176:D184 és a másik txt-t a H175:K179-re. (De ez bármikor változhat mert a rendeléstől függ.)

Az egy-egy txt-ben ugyan azon termék többször is szerepelhet.

Azt szeretném megoldani, hogy összesítem ezeket.

 

pl.

 

1.txt

 

ID | Termék|db|
01 |abc     |  3 

02|abd      |  4
01|abc      | 2

2.txt

ID | Termék|db|
01 |abc     |  3 

02|abd      |  4
01|abc      | 2

 

 

azaz ezt szeretném megkapni

 

 

összesen:
01 abc      10db 
02 abd      8db 

SQLkerdes Creative Commons License 2012.08.14 0 0 18610

Közben megoldottam a Compatibility mode-dal kapcsolatos problémát úgy, hogy időlegesen lekapcsoltam a compatibility mode-ot, megnyitottam a workbook-ot és visszaállítottam a compatibility mode-ot.

 

    'Enforcing xlsx file format   

xlUserFileFormat = Application.DefaultSaveFormat

        If xlUserFileFormat <> 51 Then Application.DefaultSaveFormat = 51

     'Creating host file

        Set HostFile = Workbooks.Add

     'Restoring original user file format

        Application.DefaultSaveFormat = xlUserFileFormat

 

 

Delila10 Creative Commons License 2012.08.14 0 0 18609

Az első mondat félreérthetőre sikertelenedett. A ThisWorkbook laphoz azt az eseménykezelést kell rendelni, amit minden lapon végre akarsz hajtatni.

Előzmény: Delila10 (18608)
Delila10 Creative Commons License 2012.08.14 0 0 18608

Minden lapra vonatkozó eseménykezelést a ThisWorkbook laphoz kell rendelned. Ha a General-t Workbook-ra cseréled, alapállásban a Workbook_Open eseményt állítja be a VB. Ezt cseréld le a jobb oldali legördülőben a SheetSelectionChange eseményre.

 

Ehhez egy példa:

 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

  Target.Interior.ColorIndex = 10

End Sub

 

Az egyes lapokon megváltoztatja a háttér színét, mikor kijelölsz egy-egy tartományt.

 

Most válts át SheetChange eseményre. Példa:

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    Application.EnableEvents = False

        Range("A1") = Target.Column + 9

        Application.EnableEvents = True

End Sub

 

Látod, itt a makró első sorában letiltottam az események engedélyezését, a végén pedig visszaállítottam. Módosítasz egy cellát, mire a makró nekilódul, beírja az A1-be a módosítás oszlopának 9-cel növelt számát. Ha az elején nincs a letiltás, ezt az újabb beírást is eseményként kezeli, újra beír az A1-be, és kapsz egy végtelen ciklust.

Az End Sub előtt vissza kell állítani az eseménykezelést, másként az Excel újraindítása előtt nem fognak működni a makróid.

 

Előzmény: Sánta Kutya (SK) (18606)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18607

Köszi, kipróbálom!

Előzmény: Delila10 (18603)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18606

Na de ez munkalapra ugrik. Azt szeretném, hogy más munkalapokon történt eseményre reagáljon, bárhol a munkafüzetben! Vagy pedig minden munkalap változásához hozzá kéne rendelni ezt a makrót?

 

Pl. ez:

Private Sub Workbook_Change(ByVal Target As Range)
    Sheets("valami").Cells(1, 3) = Target.Column + 9
End Sub

 

nem csinál semmit. Generalhoz van rendelve.

Előzmény: Delila10 (18599)
pimre Creative Commons License 2012.08.14 0 0 18605

Van egy sejtésem:

 

Azt írod, hogy: Az A236 cellában lévő függvény:

=HA($I236>0;FKERES($I236;BEFIZETENDŐ!$T78:$X1025;2;HAMIS);"") <---ez működik.

 

Viszont úgy látom, hogy a függvénnyel az A236-ba vagy szám kerül, vagy ""

 

És az A236-re hivatkozó függvény pedig számnak tekinti a ""-t: =HA(A236>0;....

 

Próbáld ki az első képletben a "" helyett a 0 értékadást!

Előzmény: Parkvárosi (18572)
Delila10 Creative Commons License 2012.08.14 0 0 18604

Természetesen a For sor új sorban van, csak hibásan jelent meg.

Előzmény: Delila10 (18603)
Delila10 Creative Commons License 2012.08.14 0 0 18603

Sub rejt()

    Dim sor%    For sor% = 1 To 20

        If Cells(sor%, "M") = 0 Then Rows(sor%).Hidden = True

    Next

End Sub

Előzmény: Sánta Kutya (SK) (18602)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18602

Hogy lehet makróval egy adott intervallumban (mondjuk az 1. és az x. sor között) elrejteni az összes olyan sort, ahol az M oszlopban nulla áll?

Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18601

Első próba: a munkalap másolásakor egy percre lefagyott az Excel, aztán tényleg lemásolódott gombostul, és most mind a két munkalaphoz ugyanaz a makró tartozik. Ez végül is jó, úgyis egyforma munkalapokat akarok.

Előzmény: Delila10 (18588)
Delila10 Creative Commons License 2012.08.13 0 0 18599

Lapfülön jobb klikk, Kód megjelenítése.

Bal oldalon látod, hogy a lapod kódját írod, akár a VB szerkesztőben is kiválaszhatod.

Fent a jobb oldali legördülőben a (Declarations) feliratot látod, balra mellette a (General)-t. Ezt legördíted, és a Worksheet-et választod. Alapból ez jelenik meg:

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


End Sub 

 

Ha nem akarod, hogy minden fókuszváltás elindítsa a makrót, csak 1-1 módosítás, akkor vedd ki a címből a Selection részt.

Előzmény: Sánta Kutya (SK) (18598)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18598

Illetve máris van egy: hogyan tudok a megadott munkalaphoz makrót rendelni, amely bárhol a munkafüzetben történt módosítás hatására lefut? A múltkor látott Worksheet_Change mintájára próbálkoztam a Workbook_Change makróval, ami a Google szerint létezik is, de nem sikerült életet lehelnem belé.

Delila10 Creative Commons License 2012.08.13 0 0 18597

Szívesen. :)

Előzmény: Sánta Kutya (SK) (18596)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18596

Szuper! A lapszámot azért használtam, mert a lapnévvel nem működött, és a hibakeresés idejére egyszerűsíteni akartam. Most ott tartok, hogy a kezdőlapon fel vannak sorolva egymás alatt feldolgozandó munkalapnevek, és végigmegy az ott megnevezett munkalapokon, és mindegyikbl az A3 cella éertékét kiírja egy msgboxba. Ez persze csak teszt, de már el tudok indulni az igazi feladattal. :-) Hálás köszönetem, és holnap is lesznek kérdéseim!

Előzmény: Delila10 (18595)
Delila10 Creative Commons License 2012.08.13 0 0 18595

Helyesen

Set ws= ThisWorkbook.Sheets(1)

 

Mivel előfordulhat, hogy megváltoztatod a lapok sorrendjét, érdemesebb a lapnévvel hivatkozni rá.

 

Set ws=Sheets("lapnév")

 

Ha bezárod a personalt, akkor nem veheted igénybe a benne lévő makrókat.

Megszüntetheted a tálcán való megjelenését.

 

 

Na még egy usor:

usor=range("A1").end(xldown).row

Ez a folyamatosan kitöltött A oszlop utolsó sorának a számát adja.

Ha 100-ig folyamatos, majd A105-ben újra van adat, az usor értéke 100 lesz.

Azonos azzal a művelettel, mikor az A1 cellán adsz egy Ctrl+le nyilat.

Előzmény: Sánta Kutya (SK) (18594)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18594

Dolgoznék a fülekkel, és már az első lépésnél elakadtam.:-(

 

Private Sub Összesít()
    Dim lapok() As String
    Sheets(1).Range("D5") = 98 ' Ez még lefut
    Dim ws As Worksheet
    ws = ThisWorkbook.Sheets(1)
End Sub

 

91-es hiba: "object variable or with block variable not set " (akár van benne thisworkbook, akár nincs). Próbáltam ráguglizni, de amit találtam, nem tűnik adekvátnak.

 

 

Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18593

Ez klassz, köszi!

Előzmény: Delila10 (18588)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18592

Nem sebesség kérdése, hiszen nyitva is marad, amíg kézzel be nem zárom.

Előzmény: Delila10 (18591)
Delila10 Creative Commons License 2012.08.13 0 0 18591

Nem gondoltam, hogy van az enyémnél is lassúbb gép. Nálam nem látszik. :D

Előzmény: Sánta Kutya (SK) (18590)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18590

"Miért idegesít a personal betöltése, hiszen azt nem is látod, mert a háttérben, rejtett füzetként töltődik be?"

Na ezt hogy csinálod? :-O

Engem pont azért idegesít, mert minden alkalommal nyíltan betöltődik, külön gomb a  tálcán.

Előzmény: Delila10 (18589)
Delila10 Creative Commons License 2012.08.13 0 0 18589

A fájlodban szereplő makróhoz is rendelhetsz a gyorselérési eszköztáron ikont.

 

Miért idegesít a personal betöltése, hiszen azt nem is látod, mert a háttérben, rejtett füzetként töltődik be?

 

Abban igazad van, hogy módosításkor minden gépen felül kell írni, de ha az első bekezdésben lévő módszert alkalmazod, csak a megváltozott fájlt kell szétküldeni a többieknek.

Előzmény: Sánta Kutya (SK) (18586)
Delila10 Creative Commons License 2012.08.13 0 0 18588

Az alsó sort több módon keresheted ki.

 

Pl.

    usor = Cells(Rows.Count, "A").End(xlUp).Row

    usor = Range("A" & Rows.Count).End(xlUp).Row

    usor = ActiveSheet.UsedRange.Rows.Count

    usor = Cells(Rows.Count, "A").End(xlUp).Row

 

A Text fenntartott szó.

A Value általában alapérték, ezért működik a beírása nélkül is.

A teljes lap másolásakor a gomb is másolódik.

Worksheet minden, a füzetben lévő lap, Sheet az adatlap, tehát a diagramlap nem.

Előzmény: Sánta Kutya (SK) (18584)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18587

Mi a különbség a Worksheets és  a Sheets között? Nekem egyformán látszik működni.

Előzmény: Delila10 (18397)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18586

Pont ezt akartam elkerülni, egyrészt mert még engem is idegesít, hogy az Excel minden indításakor megnyílik a personal, hát még a kollégákat, másrészt mert megnehezíti a módosítást, ha sok gépen kell cserélni. Most azt találtam ki, hogy vezérlő eszköztárból teszek fel szöveges nyomógombot a munkalap tetejére, és ahhoz lesz rendelve a makró. Így működhet? Legfeljebb nem az első, hanem a 3. sortól lesz táblázat. És vajon ez fog másolódni, ha a komplett munkalapot másolom, mert beáll még egy kolléga, akinek kell egy?

Előzmény: Delila10 (18580)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18585

A text netán fenntartott szó, azért javította nagybetűsre? Hiba volt változónévnek használnom?

Előzmény: Sánta Kutya (SK) (18584)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18584

Na jó, magad, uram, ha Olgád nincs.

 

Próbálkoztam hályogkovács módjára megoldani a feladatot, fix sorszámra már meg tudom oldani (nem biztos, hogy szépen, mert nagyon kezdő vagyok makróírásban, és alapvető dolgokat egyenként kell kigugliznom).

 

Sub kibont()
    meddig = 9
    vége = 2
    For i = 2 To meddig
        Text = Cells(i, 1).Value
        counter = Cells(i, 2).Value
        For j = 0 To counter - 1
            Cells(vége + j, 3) = Text
        Next j
        vége = vége + counter
    Next i
End Sub

 

Ez kettőtől 9-ig szépen beolvassa az A oszlopból a szavakat, a B-ből a számokat, és mindegyik szóból a B-nek megfelelő számút ír egymás alá. Valaki segítene átírni úgy, hogy érzékelje, meddig tartanak az adatok az A oszlopban?

Most látom, hogy a belső ciklusban kifelejtettem a value-t, és simán működik, ezek szerint fölösleges is?

Előzmény: Sánta Kutya (SK) (18545)
djmorphy Creative Commons License 2012.08.13 0 0 18583

Nah remélem 3.jára nem száll el és a képet is sikerül beillesztenem :)

 

 

1.jpg

 

2.jpg

djmorphy Creative Commons License 2012.08.13 0 0 18582

Sziasztok!

 

Következő problémámra szeretnék megoldást találni már ha lehet. HA() meg lehet oldani de nagyon macerás. Az első képen a doboznál beírom az adatokat, hogy mennyit rendeltem azanosító stb így a státuszban nyomon tudom követni.

 

És a kérdés.

Meg lehet-e oldani, hogy a 2. képen lévő formanyomtatványba betöltsem az adatokat és azt elmentve PDF-be már küldeném is el a megrendelést.

Törölt nick Creative Commons License 2012.08.13 0 0 18581

Hát, ha mindenképpen Range() nélkül kell, tömbváltozóval és maradunk hasonló formánál akkor ciklusal lehet csak:

 

Sub asdf()
a = 2
b = 3
c = 8
d = 10
Dim elemek(), i&, iCount&
elemek = Array(a, b, c, d)
iCount = 0

 

For i = 0 To UBound(elemek, 1)
iCount = iCount - (elemek(i) > 5)
Next i
MsgBox iCount
End Sub

Előzmény: Törölt nick (18574)
Delila10 Creative Commons License 2012.08.13 0 0 18580

Hozz létre egy personalt-t, ami tartalmazza a makró(ka)t. Tedd fel mindegyik gépre, és akkor ki tudsz hozzá tenni ikon(oka)t a gyorselérési eszköztárra, amihez rendelhetsz szép pillangó rajzot.

 

Igaz, a felhasználható rajzok koránt sem utalnak a makró működésére, de mi felhasználók biztosan sokkal butábbak vagyunk, mint az okos fejlesztők, akik ilyen szép ábrákat alkottak nekünk. Többek között ezért nem vagyok kibékülve a 2003-as verzió fölötti Excelekkel, mert kb. 25 kis makróm van a personalban, amik gyorsítják a munkámat, de ennyi csengettyű, felhőcske, stb. ábránál nem tudom megjegyezni, melyik milyen feladathoz van rendelve. Nyilvánvalóan bennem van a hiba.

Előzmény: Sánta Kutya (SK) (18576)
Delila10 Creative Commons License 2012.08.13 0 0 18579

Ugyanez makróval

 

Sub valami()

    Range("A1") = Application.WorksheetFunction.CountIf _

      (Range("B1:B4"), ">" & 5)

End Sub

Előzmény: Delila10 (18578)
Delila10 Creative Commons License 2012.08.13 0 0 18578

A 4 számot a B1:B4 tartományba írtam. Az A1 cella függvénye =DARABTELI(B1:B4;">"& 5)

Előzmény: Törölt nick (18574)
Törölt nick Creative Commons License 2012.08.13 0 0 18577

hát ez így elég fura elképzelés, mert az union  és a függvény 1. argumentuma is Range típusú változót vár - azonban ebben a formában ez nem valósul meg.

Előzmény: Törölt nick (18574)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18576

18528-30, 18545, 18546 témakörben továbbra is szívesen látnék bármiféle segítséget, iránymutatást!

Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18575

Elolvastad a topikcím alatti útmutatót?

Előzmény: Törölt nick (18574)
Törölt nick Creative Commons License 2012.08.13 0 0 18574

van egy program

 

Sub Gomb1_Kattintás()
Set a = 2
Set b = 3
Set c = 8
Set d = 10


Set elemek = Union(a, b, c, d)


  Cells(1, 1) = Application.WorksheetFunction.CountIf(elemek, ">5")


End Sub

 

sajna nem müködik!

Az lenne a feladat hogy nezze meg hogy a,b,c,d elemek közül hany olyan van ami nagyobb mint 5 és a darabszamot irja bele az A1 cellaba!

Tudom hogy nem kéne hogy makrot hasznaljak,függvennyel egyszerü lenne, de nekem itt kell hogy müködjön countif-al  a makroban!

segitseget elörre is köszönöm!

Sánta Kutya (SK) Creative Commons License 2012.08.12 0 0 18573

Attól függ, mit akarsz csinálni. :-) Szintaktikusan helyesnek tűnik. De ránézésre hasonló MaciLaci lenti problémájához, lehet, hogy ugyanazt a dolgot nem vettem észre mind a kettőben.

Előzmény: Parkvárosi (18572)
Parkvárosi Creative Commons License 2012.08.12 0 0 18572

Szuper vagy! Köszi!

Megengedsz még egy kérdést? Ha egy feltételt beírok, mondjuk =ha(a1>0;2;3), és az a1-ben szintén hasonló képlet van, attól még teljesülnie kell az első HA függvénynek ugye? Na ez nekem mégsem teljesül.

Konkrétan:

Az A236 cellában lévő függvény:

=HA($I236>0;FKERES($I236;BEFIZETENDŐ!$T78:$X1025;2;HAMIS);"") <---ez működik.

Viszont az erre hivatkozó függvény már nem :

=HA(A236>0;HA(DARABTELI(H:H;Q236)=0;Q236;"");"")

Mit írtam benne rosszul?

Előzmény: Sánta Kutya (SK) (18571)
Sánta Kutya (SK) Creative Commons License 2012.08.12 0 0 18571

Szívesen,

C207&" duplikált"

Előzmény: Parkvárosi (18570)
Parkvárosi Creative Commons License 2012.08.12 0 0 18570

Szuper vagy, köszönöm! Így írtam be: =ha(DARABTELI(a:a;b107)>1;c207;"") és működik! A c207 értéke után ha szeretném hogy megjelenítse hogy "duplikált", akkor mit kell beírnom? Mondjuk így: =ha(DARABTELI(a:a;b107)>1;c207@duplikált@;"") Tudom hogy az @ jel nem megfelelő, ahelyett mit kell beírnom?

Előzmény: Sánta Kutya (SK) (18568)
Sánta Kutya (SK) Creative Commons License 2012.08.12 0 0 18569

P$215?

Előzmény: MaciLaci1 (18562)
Sánta Kutya (SK) Creative Commons License 2012.08.12 0 0 18568

Javítókészlet: mindkét C1 helyett B1.

Előzmény: Sánta Kutya (SK) (18567)
Sánta Kutya (SK) Creative Commons License 2012.08.12 0 0 18567

A B oszlopba beírod 1-től 200-ig a számokat, azután akár el is rejtheted. A C oszlopba =darabteli(A:A;C1) kerül, vagy =darabteli(A$1:A$200;C1), és erre rátolsz egy feltételes formázást kétféle feltétellel (=0 és >1).

Előzmény: Parkvárosi (18565)
MaciLaci1 Creative Commons License 2012.08.12 0 0 18566

Egyforma a tipusuk, mondjuk a cellákban függv.értékek vannak.

Előzmény: Sánta Kutya (SK) (18564)
Parkvárosi Creative Commons License 2012.08.12 0 0 18565

Üdv. Mindenkinek!

 

Olyan problémám van, hogy a (2010EXCEL)egy adott oszlopban ( A1:A200) sorszámok (1-200) vannak rendezetlenül. Milyen függvényt tudok írni a mellette lévő oszlopba(vagy makrót beírni), hogy a hiányzó, vagy duplikált számot jelezze nekem mondjuk színnel? Köszönöm előre is!

Sánta Kutya (SK) Creative Commons License 2012.08.12 0 0 18564

Nézd meg, hogy egyforma-e a típusuk. Gyakori hiba, hogy két szám közül az egyik valójában szöveg.

Előzmény: MaciLaci1 (18562)
MaciLaci1 Creative Commons License 2012.08.12 0 0 18563

Bocsánat: EXCEL 2010 verzió, és köszönöm előre is a segítséget.

MaciLaci1 Creative Commons License 2012.08.12 0 0 18562

Sziasztok!

 

Az FKERES függv. hogyan tudja kezelni a cellahivatkozást? pl: =FKERES(P215;K:Z;3;HAMIS) ahol a P215 cellában lévő érték alapján keres. Most nekem a függv. #HIANYZIK-al jön vissza mindíg. Ha a P215 helyére az abban lévő értéket írom be, akkor jól működik.

Törölt nick Creative Commons License 2012.08.12 0 0 18561

van egy program

 

Sub Gomb1_Kattintás()
Set a = 2
Set b = 3
Set c = 8
Set d = 10


Set elemek = Union(a, b, c, d)


  Cells(1, 1) = Application.WorksheetFunction.CountIf(elemek, ">5")


End Sub

 

sajna nem müködik!

Az lenne a feladat hogy nezze meg hogy a,b,c,d elemek közül hany olyan van ami nagyobb mint 5 és a darabszamot irja bele az A1 cellaba!

Tudom hogy nem kéne hogy makrot hasznaljak,függvennyel egyszerü lenne, de nekem itt kell hogy müködjön countif-al  a makroban!

segitseget elörre is köszönöm!

djmorphy Creative Commons License 2012.08.12 0 0 18560

Jah és van olyan amit fixen tudsz? Hogy Bécsbe csak 90 raklapon csak bizonyos szőlőt visztek?

djmorphy Creative Commons License 2012.08.12 0 0 18559

És ha esetleg ezt egy összesítő táblában csinálnád meg amin már csak arra kell figyelni, hogy a nyomtatott lapon hogy nézzen ki?

Előzmény: Doki90 (18558)
Doki90 Creative Commons License 2012.08.12 0 0 18558

Hello!



Végig gondoltam.

 

Nekem el oldalra kellene a bekérő rész, de azt megtudom oldani. A nehézség hogy az excel kirajzolja egy oldalra (ha kifér, ha nem 2 ) 2 oszlopba a városokat, de úgy hogy a város és 1-2 információ kiírjon, aztán alá annyi raklap sort hadjon ki (mert oda kell írnom ha kinyomtattam a raklap számát) és ha egy város kész... autómatikusan alá rakja ki a másik várost .. aztán a következőt, szóval mindet...

 

ehhez nincs nekem ötletem se.


Köszönöm a foglalkozást! :)

Előzmény: djmorphy (18555)
djmorphy Creative Commons License 2012.08.11 0 0 18557

Esetleg egy ember! :)

Előzmény: Sánta Kutya (SK) (18556)
Sánta Kutya (SK) Creative Commons License 2012.08.11 0 0 18556

Senki sehol? :-(

djmorphy Creative Commons License 2012.08.10 0 0 18555

Hali!

 

Én is ilyesmivel fárasztom itt a lelkes embereket ezért magáról a rendszerről kérdeznék inkább mert ha nincs jól átgondolva - mint az enyém akkor lesz ám anyukázás-aztán az excel részére válaszolnak azok akik értenek is hozzá nem úgy mint én :D

 

Mi az amit Fix-en tudsz?

Tudod-e a paletta típusát városhoz kötni azaz, hogy Bécs az mindig csak olyat rendel ahol egy palettán 80 darab van? 

Pl.: Hogy Bécsbe mindig 80-as raklapokat használtok és mondjuk visztek ki 320-at azaz 4 raklapot?

Egy város az többféle szőlő típust is rendelhet?

Esetleg Fix-en tudod-e, hogy az EL Roda az csak München és Bécs-be mehet?

 

A Supplyer infó az statikus? Tehát Bécsbe visztek akkor csak is Kis Pistához akinek az adatai is statikusak?

 

Minden esetre az a 11 város nem túl nagy szám. Szerintem minden egyes városnak legyen egy saját munkafüzete. És esetleg utolsónak egy összesítő.

 

Legördülő listát pedig úgy tudsz csinálni, hogy mondjuk az A1:A15 oszlopokba fogod és beírod, hogy A1:"Beszállító 1" A2:"Beszállító 2"....  Ezután rákattintasz arra a mezőre mondjuk a B1-re ahol a listát látni akarod. Adatok/érvényesítés.  Megengedve legördülő lista legyen. Forrásnak megadod az "A1:A15"-t vagy egérrel kijelölöd.

Előzmény: Doki90 (18535)
Redlac Creative Commons License 2012.08.10 0 0 18554

Megvan :-). A lapvédelem rárakásánál ki lehet válaszatni, hogy az objektum szerkeszthető legyen.

Előzmény: Redlac (18553)
Redlac Creative Commons License 2012.08.10 0 0 18553

Nem jó, mert kinyomtatott állapotban az írt szövegnek abban a cellában kell olvashatónak lennie.

Előzmény: Sánta Kutya (SK) (18551)
Redlac Creative Commons License 2012.08.10 0 0 18552

Köszi :-)

 

Valaki nem tudja, hogy egy Excel dokumentumba beszúrt Word dokumentumot, vagy szövegdobozt hogyan tudok szerkeszthető állapotban tartani lapvédelem esetén?

Előzmény: Sánta Kutya (SK) (18550)
Sánta Kutya (SK) Creative Commons License 2012.08.10 0 0 18551

Nézd meg, hogy nem lehet-e csatolni valahogy beszúrás közben, mert akkor egy másik dokumentumban lehetne írni.

Előzmény: Redlac (18549)
Sánta Kutya (SK) Creative Commons License 2012.08.10 0 0 18550

Passz, sose próbáltam. De a kérdés érdekes.

Előzmény: Redlac (18549)
Redlac Creative Commons License 2012.08.10 0 0 18549

Ez elvileg remek lenne, köszi :-), de ha lapvédelmet teszek rá, akkor nem lehet beleírni. Egy cellánál tudom, hogyan vegyem ki a zárolást, de ebben az esetben mit lehetne tenni?

Előzmény: Sánta Kutya (SK) (18533)
Redlac Creative Commons License 2012.08.10 0 0 18548

Nem, nem. Egyszerűen egy nagy cellám (több kicsiből) van, amibe szabadon írt szöveget írunk be.

Előzmény: _Nyuszi (18532)
Sánta Kutya (SK) Creative Commons License 2012.08.09 0 0 18546

Van valami egyszerű módszer két átfedő számlista összefésülésére? Az eredményben mindegyiknek annyiszor kellene látszania, mint a kettő közül a nagyobbik. (Szóval kvázi unió, de az egy listán belüli ismétlődéseket különbözőeknek tekintve.)

Sánta Kutya (SK) Creative Commons License 2012.08.09 0 0 18545

Vissza lehet fordítani az ismétlődések eltávolítását?

Pl.

alma 3

körte 1

szilva 2

 

eredménye legyen:

alma

alma

alma

körte

szilva

szilva

Doki90 Creative Commons License 2012.08.09 0 0 18544

Köszi :)

 

a bekérdezést megoldom az "sima" ügy, de fogalmam sincs hogy oldjam meg, hogy ha mondjuk egyik város csak 2 raklapot rendel, másik meg 15öt akkor az excel autómatikusan csináljon annyi sort alá, plusz helyezze el ez alá, vagy ha alá már nem bírja mellé....

 

 

Hogy lehet azt csinálni hogy mondjuk 2 választó gomb egymás mellett, (igen / nem) alap esett igen (bepipálva) de egyszerre csak egyet lehet pipálni, szóval ha másik pipa másik üres legyen... ?

Előzmény: Törölt nick (18543)
Törölt nick Creative Commons License 2012.08.09 0 0 18543

"adatérvényesítés"-t nézd meg

túl sok amit írtál ezt nem tudom ki fogja végignyálazni :)

Előzmény: Doki90 (18535)
Törölt nick Creative Commons License 2012.08.09 0 0 18542

1. én erre nem tudok jó megoldást... xls-be kell menteni, nem xlsx-be... a workbook.add-nál ahol megadod a file nevét, ott kiterjesztést is meg kell adni szerintem, talán workbook.saveas(s.xlsx) vagy ilyesmi.

ez is segíthet:

If ActiveWorkbook.FileFormat = xlExcel9795 Then
ActiveWorkbook.SaveAs fileFormat:=xlExcel12
End If

 

2.

a makróhoz lehet tanúsítványt készíteni és a Tools/DigitalSignature-ban hozzáadni.

 

http://office.microsoft.com/hu-hu/excel-help/fajl-vagy-makro-alairasa-digitalis-alairassal-HP005249557.aspx

Előzmény: SQLkerdes (18534)
tbando Creative Commons License 2012.08.09 0 0 18541

Ez nekem új. Hogy az excelben a compatibility módot be lehet kapcsolni. De ha be lehet, akkor talán kikapcsolása is megoldható. Vagy nem?

 

Egyébként az MS office gomb alatt van egy konvertáló. Valszeg makróval is elérhető.

Előzmény: SQLkerdes (18534)
Sánta Kutya (SK) Creative Commons License 2012.08.08 0 0 18540

Tegyük fel, hogy B1-re gondoltál, de igaázból mindegy is. Ezt már megoldja egy FKERES() vagy egy INDEX(HOL.VAN()) függvény.

Előzmény: roley (18539)
roley Creative Commons License 2012.08.08 0 0 18539

Ebből még nem világos nekem. Nem egy cellába szeretném behelyzni a másik munkalapról hanem két lépésben történne a dolog. 

Pl.: A1 cellában egy legördülő listából kiválasztam x pontot, majd ha ezt megtettem, akkor mondjuk B2 cellában megjelenik az ehhez rendelt szöveg.

Előzmény: Sánta Kutya (SK) (18538)
Sánta Kutya (SK) Creative Commons License 2012.08.08 0 0 18538

Adatok, érvényesítés. Valamiért nem enged a varázsló munkalapot váltani, így jegyezd meg a lista helyét, és a felbukkanó ablakba írd be, pl. Munka2!a1:a5.

Előzmény: roley (18537)
roley Creative Commons License 2012.08.08 0 0 18537

Sziasztok!

 

A segítségeteket szerintém kérni problémám megoldására:

 

A következőt szeretném megcsinálni excelben: 

Azt szeretném ha létre tudnék hozni egy olyan legördülő listát, aminek segítségével az excel másik munkalapjáról tudnék importálni cellákat az adott munkalapra. PL:

legördülő listában szereplő:

1

2

3

4

 

H egyesre kattintok, akkor az ahhoz hozzárendelt cellákat egy másik munkalapról az általam kijelölt területre tenné be. Lényeg h az adott lapon ne jelenjen meg minden információ, hanem egy listából lehessen kiválasztani, hogy mit akarok olvasni, és miután rákattintok azt megjeleníti.

 

Tud vki vmi egyszerű módszert vagy leírást ahol találok útmutatót.

 

 

Előre is köszönöm a segítségeteket.

 

Üdv,

R

Doki90 Creative Commons License 2012.08.08 0 0 18536

Ja és MS office 2007 van telepítve bennt a vállalatnál...

Előzmény: Doki90 (18535)
Doki90 Creative Commons License 2012.08.08 0 0 18535

Sziasztok!


Egy óriási kérés/feladat/kérdés  -m  lenne. Lassan 2 hónapja raktárosként dolgozom. Járt az agyam és előjött egy nagyon jó ötletem. Segítségeteket szeretnék kérni, mert értek úgyan az excelhez, de ennyire nem mélyedtem bele sosem.
Gondolkoztam hogyan mivel lenne egyszerű de ötletem sincs már. (korábban csináltam egy sokkal egyszerűbb verziót, de az már elveszett, meg teljesen másmilyenről van szó most)

 

Vázlat:

 

Tehát minden nap van rendelés. (Esetünkben szőlő.) Minden reggel jön email, amiben megvannak adva a városok (kb 11, de mikor sok rendelés van több is lehet vagy kevesebb)

Megvan a rendelő neve, és hogy milyen fajtát rendel, milyen színűt és beleírja hány dobozt rendel. A raklapon lévő dobozok száma változó ( 65-80-85-90 )

Arra gondoltam, hogy meglehetne ezt egyszerűsíteni. Egy képet csináltam a vázlatról miről is lenne szó.

 

 

A késöbbiekben raklap = paletta/pallet/ p.

___________________________________________________

Nézd meg kérlek a képet, hogy jobban meglehessen érteni mire gondolok (köszi :))

 _________________________________________________

 

 

 

 

Tehát a jobb oldali részen, bekérjen pár általános információt felül. Gondolok:
Rendelőre, a szőlő fajtájára, színére, hogy hány darab egy paletta. (Ezek arra kellenek hogy beállítsa az összes város fajtáját, és a többit meglátod késöbb :P)

 

Utána a városokat lehessen írni ekképpen:

Város(mondjuk Bécs): __ × 85 ; (ez a teljes paletta, a példában 1 paletta 85 doboz)  1 × __ (ez az rész p.)  Összesen: "X" p. (ez összesen a teljes p. és a rész pallettával) Összes:  __ doboz. (itt kiírja hány darab doboz )  Use: [X] Yes ; [ ] No (Ez azért kell mert nem biztos hogy minden város rendel)

Komment nélkül:

Bécs:  __ × 90 ;  1 × __   Össz P.:  __  Össz BOX:  __          Use:   [X]   Yes       [ ]   No

 

München:  __ × 90 ;  1 × __   Össz P.:  __  Össz BOX:  __     Use:   [X]   Yes       [ ]   No

 

New York:  __ × 90 ;  1 × __   Össz P.:  __  Össz BOX:  __    Use:   [ ]   Yes       [X]   No

 

Ez eddig nem nehéz, ha erről lenne szó nem kérnék segítséget( esetleg annyit hogy lehet megcsinálni hogy lista jöjjön ki és választani keljen, vagy bepipálni, vagy klikkelni ...)

 

Most jön a nehéz része, amit beírtunk jobb oldalon, azt az excel vázolja (írja) ki a bal oldalon

 

Kb így:

 


________________________________________________________________________________

|                                                                                                                                                              |

|                                                                                                                                                              |

|   (A szőlő) Fajtája  Város  Össz darab doboz                                                                                        |

|   (A szőlő) Színe  " Loose 9 kg"  "X"×85 teljes p.; 1×"Y" rész p.                                                          |

|                                                                                                                                                              |

|    1.                                                                                                                                                       |                                  

|    2.                                                                                                                                                       |

|    3.                                                                                                                                                       |

|                                                                                                                                                              |

|    Komment nélkül pár város:                                                                                                                |

|                                                                                                                                                              |

|                                                                                                                                                              |

|                                                                                                                                                              |

|   El roda Bécs  275                                     El roda München  146                                                         |

|   Red Loose 9kg  3×85 ; 1×20                   Red Loose 9kg 1×85 ; 1×61                                              |

|   1.                                                              1.                                                                                       |

|   2.                                                              2.                                                                                       |

|   3.                                                                                                                                                        |

|   4.                                                                                                                                                        |

|                                                                                                                                                              |

|                                                                                                                                                              |

|                                                                                                                                                              |

________________________________________________________________________________

 

(Tehát az excel egymás melle helyezze el a városokat, de kalkulálja ki hogy a városnak mennyi raklapja van, mennyi sor kell alá)

 

 

 

 

Ezek után a dolgunk már csak az oldal(vagy ha több város van akkor oldalak) kinyomtatása legyen.

Hát remélem nem fogalmaztam nagyon hülyén, remélem könnyen érthető, ha bármilyen kérdés hogy miről is van szó figyelek, válaszolok mihelyt tudok írok.

 

 

Nagyon szépen köszönöm aki foglalkozik picit is ezzel. Kérlek titeket segítsetek, nagyon megkönnyítené ez a munkámat (plusz két kollegámét is)

SQLkerdes Creative Commons License 2012.08.08 0 0 18534

Sziasztok,

 

Beleszaladtam két problémába, ha valakinek van tapasztalata ezekkel kapcsolatban, megköszönöm a tanácsokat:

 

1.) Egy macro-ban új workbook-ot nyitok.  A macro a felhasználóknál xl2007 v xl2010 alatt fog futni, DE sokaknak be van kapcsolava a compatibility mode, vagyis minden új file-juk xl2003 formátumban nyílik meg.  A szitu azonban olyan, hogy a makró szinte biztosan több sort fog létrehozni az új workbookban, mint amit az xl2003 formátum kezelni tud.  Szóval azt kellene elérjem valahogy, hogy a Workbooks.add automatikusan xlsx file-t hozzon létre, függetlenül attól, hogy az excel compatibility mode-ban van vagy sem.  Ha lehetne elkerülném a létrejövő workbook kódból történő mentését (ami megoldaná a problémát, hisz ott be lehet állítani a mentési formátumot).

 

2.) Néhány test user azt mondja, hogy mikor megnyitják az excel file-t, ami a makrót tartalmazza, akkor megkapják a "szokásos" a makrók veszélyesek figyelmeztetést.  Amikor azonban a security alert melletti options-re kattintanak, ahol lehetne engedélyezni a makrókat, a szokásos több opció helyett csak az az egy opció létezik, hogy a makrókat ne futtassák.  Szóval amíg a Trust Centerben át nem állítják a makró beállításokat arra, hogy minden makrót engedélyeznek, addíg nem tudják futtatni a makrót.  A makrós file nincs levédve, sima xlsm formátum.

Sánta Kutya (SK) Creative Commons License 2012.08.08 0 0 18533

Beszúrás, objektum, Word dokumentum?

Vagy fordítva, Word dokumentumba Excel-táblázat beszúrása a szövegek közé?

Előzmény: Redlac (18531)
_Nyuszi Creative Commons License 2012.08.08 0 0 18532

Külön cellákba ír, majd & vagy az ÖSSZEFŰZ?

Előzmény: Redlac (18531)
Redlac Creative Commons License 2012.08.08 0 0 18531

Sziasztok!

 

Van egy több cellából összevont cellám, amibe jó sok szöveget kell beírni. A folyamatos helyesírás ellenőrzés miatt úgy használnánk, hogy Wordben megírnánk a szöveget, majd átmásolnánk. De....

Az így beillesztett szöveg egy része lemarad. A karakterek száma nem több 32 767-nál, hanem egyes sorok vége lemarad. Szerkesztő nézetben (ha aktív a cella) megvan az egész szöveg, de Enter után lemaradnak a sorvégek.

 

Tudtok segíteni?

Sánta Kutya (SK) Creative Commons License 2012.08.07 0 0 18530

Na hogy ne csak várjam a segítséget, közben kigyűjtöttem néhány cikket, de ezzel még elég messze vagyok a megoldástól. Ezek még arra is utalnak, hogy saját szalagot is csinálhatok, ami még jobb lenne. De a gomb képe csak kész kép lehet? És annak vajon az aktuális könyvtárban kell lennie? Mennyivel egyszerűbb volt a 2000-esben a beépített gombszerkesztő....

 

Előzmény: Sánta Kutya (SK) (18528)
Sánta Kutya (SK) Creative Commons License 2012.08.07 0 0 18529

Ez egy lehetséges keresés az MSDN-en, csak nem tudom, melyike induljak el: http://social.msdn.microsoft.com/Search/en-US?query=Excel%202007%20ribbon%20customize&ac=3

Előzmény: Sánta Kutya (SK) (18528)
Sánta Kutya (SK) Creative Commons License 2012.08.07 0 0 18528

A következő érdekes cikket találtam, amiből megtudhattam, hogy az Office fejlődése annyira csodálatos, és most már olyan végtelenül logikusak gyárilag az eszközszalagok, hogy a user nyugodtan meg is dögölhet, ha testre szeretné szabni őket, mert úgyis csak rontani tudna a tökéletességükön:

 

http://office.microsoft.com/hu-hu/excel-help/testreszabhato-a-menuszalag-HA010227754.aspx

 

Bónuszként oda van írva, hogy további tájékoztatás az MSDN webhelyen, de konkrét link nélkül a kezdőlapra, kezdje beleásni magát, akinek ilyen perverz gondolata van, mint tesztreszabás...

Na ilyenkor mondom, hogy M$ suxxx.

 

Valaki tudna valami útmutatást adni? A feladat a következő:

  1. A megosztásra szánt munkafüzetben néhány makrót hozok létre (ezt sajnos csak megosztás előtt tudom, de ennyi kényelmetlenség még vállalható).
  2. Ezekhez valamilyen gombokat kéne készíteni, amelyek minden felhasználó számára láthatóak, és a saját munkalapján lefuttatják a makrókat. (Azt hiába tanítanám, hogyan kell a makróablakot előhívni, mert a megosztás után nem hívható elő.) A gombokat elsősorban valamelyik menüszalagon szeretném elhelyezni, de ha a munkalapok tetején sikerül, az is elfogadható. (Mondjuk van 4 dolgozónak a saját nevére szóló munkalapja meg néhány közös, és később még előfordulhat, hogy a meglévők mintájára újabb egyénieket kell hozzáadni.)
Előzmény: Sánta Kutya (SK) (18523)
Delila10 Creative Commons License 2012.08.07 0 0 18527

Szívesen.

Ahol elakadsz, megint felteszed itt a kérdést, és valaki biztosan tud majd segíteni.

Előzmény: Rikus88 (18526)
Rikus88 Creative Commons License 2012.08.07 0 0 18526

Nagyon-nagyon szépen köszönöm! Nem ennyire egyszerű az eset sajnos, de nagyon nagy segítséget adtál a kiindulásban!!! :) Köszönöm szépen!

Előzmény: Delila10 (18519)
Sánta Kutya (SK) Creative Commons License 2012.08.06 0 0 18525

A gyereked jó üzletet csinált. Csak vigyázz, mert ha jövőre megtanulja a makróírást, akkor te fogod pucolni a cipőjét is!

Előzmény: SirCsaba2 (18524)
SirCsaba2 Creative Commons License 2012.08.06 0 0 18524

Mindenkinek köszönöm a gondolatmeneteket! A gyermekem megcsinálja, soronként pirosra színezi a páros utcákat, utána már könnyű lesz(kb.600 utca). Így is unatkozik itthon a szünetben, legalább gyakorolja az excelt (7éves). Ezért a munkáért nekem kell levinni a szemetet 3 hétig. :)

Még 1x köszi mindenkinek!!!

Sánta Kutya (SK) Creative Commons License 2012.08.06 0 0 18523

Makrókban egyébként én is nagyon kezdő vagyok, csak a programozás meg a BASIC terén nem. :-)

 

Nekem is van egy kérdésem: azt írja az újság, hogy a megosztott munkafüzetben nem jeleníthető meg a makróablak (és tényleg). De ha kreálok egy makrót, amihez sikerült egy gombot definiálni valamelyik eszköztáron "szalagon" (2007), akkor az működni fog? 2000-es Office-ban csináltam saját gombot saját makróhoz, 2007-ben még sose próbáltam.

 

A másik: jól látom, hogy a megosztott munkafüzet másolásakor a megosztás nem másolódik, és minden alkalommal újra el kell végezni? :-(

Előzmény: tbando (18520)
Sánta Kutya (SK) Creative Commons License 2012.08.06 0 0 18522

Valószínűleg azt, hogy az adatbevitel rendben lezajlott, és az a változó érvényes értéket tartalmaz.

Előzmény: tbando (18521)
tbando Creative Commons License 2012.08.06 0 0 18521

Köszi a linket. Tegnap éjszaka, miután SK javasolta az inputbox-szal bekért adat típusának meghatározását, végig azon studiroztam a Help alapján, hogy miképp kell a Type-t megadni. Most a linkedből ezt is megtanultam.  De hagy tegyek fel egy kérdést a link első példájával kapcsolatban. Mit jelent a az alábbi rutinrészletben az If a <> False feltétel?

 

a = Application.InputBox( _ Prompt:="Enter the Rownumber", _ Title:="Delete rownumber:", Type:=1)

If a <> False Then

response = MsgBox("Are you sure.", vbYesNo)

If response = vbYes Then Rows(a).Delete

Előzmény: Delila10 (18515)
tbando Creative Commons License 2012.08.06 0 0 18520

Köszi a válaszokat. Még csak elején tartok a makrók megismerésében, így nyilván sok hogyantovább problémával fogok találkozni, amiknél majd fórumhoz fogok fordulni segítségért.  A 9 kisebb mint 8 nál az nem esett le, hogy a számértékeket az excel kisebbnek értelmezi mint  a stringeket. 

Előzmény: Sánta Kutya (SK) (18513)
Delila10 Creative Commons License 2012.08.06 0 0 18519

A zöld táblát bővítettem, de a képleteket nem írtam át, bocs.

Az E2 képlete helyesen =HOL.VAN(A2;$I$1:$N$1;1),

 

az összevont pedig 

=C2*INDEX($I$1:$N$11;HOL.VAN(B2;H:H;0);HOL.VAN(A2;$I$1:$N$1;1))

Előzmény: Rikus88 (18516)
pimre Creative Commons License 2012.08.06 0 0 18518

A legjobb persze ez lenne, de a személyi törzslap kezelő szoftver feltehetőlen nem ilyen, és feltehetőleg nem a kérdező tervezte, hanem valószínűleg kész szoftver. És az is valószínű, hogy a lakcím kitöltése (a város és az irányítószám kivételével) szabad kitöltésű. És az ilyeneknél annyi a beírási következetlenség, ahány operátor kezébe került eddig az adatfelvitel. Van, aki az 1-es helyett l karaktert ír, régi írógépes szokás szerint, van aki a lakcímben megadja az emelet és ajtószámot, van aki nem, van aki a földszintet nem jelzi (ilyen például a hivatalos népességnyilvántartás is, ahol az "xxx utca 12. fszt 3" úgy néz ki, hogy "xxx u. 12. 003". Szóval annak az eldöntése, hogy mi a házszám, néha akkor sem könnyű, ha az ember látja a lakcím mezőt. Programról nem is beszélve.

 

És akkor még nem szóltam az utcanevekről. Hogy a Bethlen Gábor utca mikor Bethlen G., mikor csupa nagybetű. mikor van pont a rövidített keresztnév után, mikor nem, mikor marad el az utca, vagy térre való utalás ott, ahol mindkettő lehetne, stb.

 

Saját tapasztalatom szerint egy néhány százas címlista helyreállítása (szétszedése külön oszlopokba, az azonos utcanevek azonossá tétele, stb.) többnyire sok órás kézi munkát igényelt az excel függvények használata ellenére is. 

Előzmény: Sánta Kutya (SK) (18505)
Delila10 Creative Commons License 2012.08.06 0 0 18517

Egy lapra csináltam meg, de biztosan át tudod írni 2 füzetre.

 

 

A zöld hátterű tartomány tartalmazza az egyes költségek módosulását a dátum függvényében.

Hogy könnyebben érthető legyen, 2 segédoszlopot vettem fel az INDEX függvényhez szükséges sor, és oszlop meghatározására. Az F2 cella képletében behelyettesítheted a D2-re és az E2-re való hivatkozást, beírva helyettük a két cella képletét. A segédoszlopok nélküli képlet

 

=C2*INDEX($I$1:$N$11;HOL.VAN(B2;H:H;0);HOL.VAN(A2;$I$1:$L$1;1))

 

A teljes évi összegzéshez használhatod a SZUMHA függvényt, vagy készíthetsz egy kimutatást az adataidból.

Előzmény: Rikus88 (18516)
Rikus88 Creative Commons License 2012.08.06 0 0 18516

Kedves hozzáértők!
Egy problémában kérném a segítségeteket, ha van rá egyáltalán valami megoldás. Egy éves költségtervező excel táblám van, ami másik táblákból olvassa be a számításhoz szükséges összegeket. Hogy lehetne megoldani, hogy ha valamelyik költségnem év közben változna, akkor a tábla úgy kezelné a megváltozott értéket, hogy az addigi napok számát szorozná az eredeti árral majd hozzáadná a hátralévő napok számát szorzva az új árral és a kettő összegét jelenítené meg a cellában. Mindezt úgy, hogy csak a segédtáblában lévő értéket kelljen módosítani, majd az összes sorra végrehajtaná a műveletet.
Sajnos a makrókhoz elég amatőr vagyok, de minden hasznos tanácsot szívesen fogadnék.

Köszönöm! :)

Delila10 Creative Commons License 2012.08.06 0 0 18515

Nézz el a http://dmcritchie.mvps.org/excel/inputbox.htm oldalra, ott megtalálod, miként határozhatod meg a bekért adat típusát.

Előzmény: tbando (18511)
Sánta Kutya (SK) Creative Commons License 2012.08.06 0 0 18514

Ha pedig a második felére vonatkozott a nem értés: a 8-as karakter ASCII-kódja 56. Unicode-ban nem tudom, de ennél csak több lehet.

Előzmény: tbando (18511)
Sánta Kutya (SK) Creative Commons License 2012.08.06 0 0 18513

Az a) esetben először deklarálni kéne az inputbox típusát, csak aztán használhatnád.

Előzmény: Sánta Kutya (SK) (18512)
Sánta Kutya (SK) Creative Commons License 2012.08.06 0 0 18512

Alapvetően kétféle programozási megközelítés van:

a) Az input előtt el kell dönteni, milyen típusú értéket várunk, és ilyenkor a nyelvi eszköz végzi az ellenőrzést, és eltérő érték esetén hibajelzéssel leáll a program.

b) A felhasználó azt ír be, amit akar, és a programozó utólag kezeli, a nyelvi eszköz (utasítás/függvény/box) ilyenkor nem ellenőriz. Ebben az esetben viszont célszerű mindent szövegnek tekinteni, mert az a legáltalánosabb. Úgy látszik, itt is ez történik. Ha az inputbox a '8' értéket automatikusan számmá konvertálná, csak mert megteheti, szegény usernek esélye sem lenne bevinni a '8' szöveget, amikor direkt ez a célja. Tehát rád van bízva. Természetesen a hibaellenőrzéssel együtt.

Előzmény: tbando (18511)
tbando Creative Commons License 2012.08.06 0 0 18511

Kösz. Megoldottad. Az inputbox ugy látszik defaultként stringet vár. És a val(9)<$8. Bár egyelőre még nem értem, hogy miért.   

Előzmény: Sánta Kutya (SK) (18509)
tbando Creative Commons License 2012.08.05 0 0 18510

Mit gondolsz, miért nem futott  nálam a 2007-n, amikor a 2003-n igen?  Hát mert a 2007-t még nem buheráltam, mig a 2003-n a másodlagos képletbeviteli mód mód volt bekapcsolva :))).  

Előzmény: Delila10 (18503)
Sánta Kutya (SK) Creative Commons License 2012.08.05 0 0 18509

Ha megpróbálsz valamilyen műveletet alkalmazni rá, rögtön kiderül. Ha szöveg, akkor kell egy val fv.

Előzmény: Sánta Kutya (SK) (18508)
Sánta Kutya (SK) Creative Commons License 2012.08.05 0 0 18508

Számnak vagy szövegnek veszi az inputbox eredményét?

Előzmény: tbando (18507)
tbando Creative Commons License 2012.08.05 0 0 18507

Ez szerintetek miért van? Az alábbi makró szépen kiírja a a b1:d1 cellákba, 9 nagyobb mint 8.  De ha kiktatom a b=8 értékadást, és aktiválom helyette az alatta levő inputboxos sort, és azzal adok 8 értéket b-nek, akkor azt írja ki, hogy 9 kisebb mint 8. ?????

 

Sub kisebb_nagyobb()

a = 9

b = 8

'b = InputBox("hatar")

If a < b Then c = " kisebb " Else c = " nagyobb "
Cells(2) = a

Cells(3) = c

Cells(4) = b

End Sub

 

djmorphy Creative Commons License 2012.08.05 0 0 18506

Légyszíves segítsetek már mert kezdek megkattani.

 

Le kell adnom holnap az excel táblát amiben már annyit segítettetek és hát semmi közük a függvényekhez ezért le akarom azokat védeni. Én úgy tudtam, hogy kijelölöm amit nem akarom hogy lássanak majd kezdőlap/betűtípusnál rányomok a cellaformázásnál. Azután védelem bepipálom a rejtettet(zárolt elől kiveszem ha van). Majd korrektúra lapvédelem megadom a jelszót kétszer és kész.

 

A 23 munkafüzetnél kb a felénél működik a másik felénél meg az egészet titltja nem csak a kijelölteket ahol a függvények vannak. 

Ez mitől van? Vagy egyáltalán így kell mert most már abban is kételkedem(habár a sugó ezt írja)

Sánta Kutya (SK) Creative Commons License 2012.08.05 0 0 18505

A legjobb eleve külön mezőben/oszlopban tárolni a külön feldolgozandó adatokat, és nincs probléma. Talán közhely, és ezért túl ritkán beszélünk róla, de az adattárolás a számítógépek korában is ugyanúgy a tervezéssel kezdődik, mint a papír-ceruzás korszakban.

Előzmény: pimre (18504)
pimre Creative Commons License 2012.08.05 0 0 18504

Én azért nem mertem vállalkozni a konkrét megoldás tervezésére, mert sokat foglalkoztam ilyesmivel, és tudok néhány olyan hátulütőről, amit nem tudok megoldani egy általam ismeretlen adatbázisban. Sem VBA-val, sem anélkül. Nem tudok jó algoritmust arra, hogyan kezeljük az október 6-a, vagy október 23-a utcát, a március 15. teret, stb., ahol a program nehezen dönti el, hogy ez házszám-e, vagy az utcanév része. De, ha azt feltételezzük, hogy a cím végén van a házszám, akkor az is gond lehet, ha van lépcsőház szám. Nem is beszélve az emeletről, amit sokszor írnak arab számmal. És akkor még ott van az ajtószám. 

Előzmény: SirCsaba2 (18496)
Delila10 Creative Commons License 2012.08.05 0 0 18503

Szívesen.

Előzmény: tbando (18502)
tbando Creative Commons License 2012.08.05 0 0 18502

Kösz. Így valóban működik.  

Előzmény: Delila10 (18501)
Delila10 Creative Commons License 2012.08.05 0 0 18501

A cell.Formula=cellTart helyett írd ezt:  cell.Formula = "=" & cellTart.

Előzmény: tbando (18500)
tbando Creative Commons License 2012.08.05 0 0 18500

Nagyon megköszönném, ha a 18409-ben bemutatott rutint valaki átírná, hogy a 2007-es alatt is müködjön. Mert excel 2003 alatt fut, de a 2007 alatt süket.

Előzmény: tbando (18409)
Delila10 Creative Commons License 2012.08.05 0 0 18499

Szívesen, sok sikert!

Előzmény: SirCsaba2 (18498)
SirCsaba2 Creative Commons License 2012.08.05 0 0 18498

Nagyon szépen köszönöm, sokat segítettél!!!! Az apróbb problémákat majd valamilyen algoritmussal megcsinálom (4/1 számot 41-nek, 2/A számot 2-nek írja és az utcákat is másolja (Ady u. 4). Amit írtál az nekem nagyon nagy segítség.

Még 1 x köszi!

 

Előzmény: Delila10 (18497)
Delila10 Creative Commons License 2012.08.04 0 0 18497

Itt a makró. Feltételezi, hogy az A oszlopban vannak a teljes címek, A1-től kezdve folyamatosan, és a B oszlopba írja ki a számokat.

 

Sub hazszam()

    Dim sor As Integer, szam As String, kar, szoveg As String

    sor = 1

    Do While Cells(sor, "A") <> ""

        szoveg = Cells(sor, "A")

        For kar = 1 To Len(szoveg)

            If Asc(Mid(szoveg, kar, 1)) >= 48 And Asc(Mid(szoveg, kar, 1)) <= 57 Then

                szam = szam & Mid(szoveg, kar, 1)

            End If

        Next

        Cells(sor, "B") = szam

If szam / 2 = Int(szam / 2) Then Cells(sor, "B").Font.Bold = True

        sor = sor + 1: szam = 0

    Loop

End Sub

 

A páros számokat félkövérrel írja.

Előzmény: SirCsaba2 (18496)
SirCsaba2 Creative Commons License 2012.08.04 0 0 18496

Azt hittem, hogy aki profi a VBA-ban az megtudja oldani 1-2 sorban. :( De azért köszi a választ, az algoritmussal még kínlódok! :)

 

Előzmény: pimre (18494)
tbando Creative Commons License 2012.08.04 0 0 18495

Kösz.

 

Utána nézve úgy találtam, hogy a 2007-esnél is megváltozik a munkalap indexelése, ha áthelyezzük.  De ez kevésbé okoz problémát, mert viszonylag ritkán kerül rá sor. A 2003-asnál az zavart meg, hogy a munkalapokat jobbról balról tölti be, az indexelés meg balról jobbra történik. A 2007-esnél hálistennek mindkettő balról jobbra halad. 

Előzmény: Delila10 (18463)
pimre Creative Commons License 2012.08.04 0 0 18494

Ha tudsz algoritmust arra, hogy a címből kiszedd a házszámot, akkor igen. Anélkül nem.

Előzmény: SirCsaba2 (18485)
djmorphy Creative Commons License 2012.08.04 0 0 18493

Azt hogyan lehet megcsinálni, hogy amég a függvény nem lép életbe addig a cellákba 0 ír és azt eltüntetni, hogy ne jelenjen meg. Úgy rémlik mintha olvastam volna valahol de nem találom.

Tyorotyere Creative Commons License 2012.08.03 0 0 18492

 

 

remélem így már jó lesz mert nem akarom az egész oldalt telenyomni a probálkozásommal :D

Előzmény: _Nyuszi (18489)
Tyorotyere Creative Commons License 2012.08.03 0 0 18491

 

Előzmény: _Nyuszi (18489)
Tyorotyere Creative Commons License 2012.08.03 0 0 18490
Előzmény: _Nyuszi (18489)
_Nyuszi Creative Commons License 2012.08.03 0 0 18489

A kép linkjében a BIG-et át kell írni IMG-re, úgy nagyobb lesz.

Előzmény: Tyorotyere (18488)
Tyorotyere Creative Commons License 2012.08.03 0 0 18488

Szia!

 

Nem ismerem a Solvert :D de neten sztem  utána tudok nézni. Nem tudom azt sem, hogy kölcsönösen egyértelmű e. :D Azért jelenítettem meg az egyik képbe  a függvényeket, hogy lehessen látni csak sajnos nagyon picibe rakja be :D 

Előzmény: _Nyuszi (18487)
_Nyuszi Creative Commons License 2012.08.03 0 0 18487

Ha a függvényed kölcsönösen egyértelmű, akkor elvileg működnie kéne.

Talán a Solver a te "embered". :-) Ismered?

Előzmény: Tyorotyere (18486)
Tyorotyere Creative Commons License 2012.08.03 0 0 18486

Sziasztok!

 

Azt szeretném megkérdezni, hogy van az alábbi két munkalap és táblázatok. Meg lehet az csinálni, hogy visszafele számol a dolog? Tehát a jobb alsó sarok a végeredmény pirossal van szedve, és ha oda beirom amit szeretnék akkor visszafele kiszámolja az egész táblázatot, tehát visszafele is működi az egész :D  Vagy milyen esetekben van? Meg lehet csinálni ezt a táblázatot is így?? Köszi

 

 

        

SirCsaba2 Creative Commons License 2012.08.03 0 0 18485

Sziasztok!

Egy kis segítséget szeretnék kérni, ha lehet. Személy törzsben a lakcímet (házszámonként) szét kell válogatni páros illetve páratlan oldalra. Egyik oszlopba a páros házszám, a másik oszlopba a páratlanok. Ebben kérném a segítségeteket. Előre is köszönöm!

Nikolett84 Creative Commons License 2012.08.03 0 0 18484

Küldtem e-mailt, 2003as

Előzmény: Delila10 (18483)
Delila10 Creative Commons License 2012.08.03 0 0 18483

Add meg privátban a címedet, és elküldöm. 2003-as, vagy 2007-es verzióban küldjem?

Előzmény: Nikolett84 (18482)
Nikolett84 Creative Commons License 2012.08.03 0 0 18482

Igen, működött nállam is, csak amint ráloggolom a programot a munkalapra "Type mismatc" hibaüzenetet ad.

If Not Intersect kóddal viszont működik... nem értem, tulajdonképpen az egészet nem értem :))

Megoldható hogy csak egyszer induljon el? Köszi

Előzmény: Delila10 (18481)
Delila10 Creative Commons License 2012.08.03 0 0 18481

A 18474-es makróval csont nélkül fut, csak az időt kell beírni az A1-be indítás előtt.

Előzmény: Nikolett84 (18480)
Nikolett84 Creative Commons License 2012.08.03 0 0 18480

Azt megadtam, ezzel a kóddal sikerült korrigálnom:

 

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing And Range("A2").Value = "Start" Then Countup
End Sub

 

Viszont most ismét elalkadtam, egy változót kellene beállítani hogy csak egyszer indítsa el a visszaszámlálót. Mert ameddig kint van "start" az A2 cellában addig folyamatosan elindít egy visszaszámlálót és így pl. 5 percet 10 másodperc alatt visszaszámolja :)

Előzmény: Delila10 (18479)
Delila10 Creative Commons License 2012.08.03 0 0 18479

Indítás (Start beírása az A2 cellába) előtt az A1-ben meg kell adnod a visszaszámlálási időt 0:00:00 formában.

Előzmény: Nikolett84 (18475)
djmorphy Creative Commons License 2012.08.03 0 0 18478

Sziasztok!
Kellene megint egy kis segítség a készlethez. Remélem nem untok még :)Van a programon belül egy olyan opció, hogy exportálni tudom az árút amit elvitt a kamion egy txt fileba. Ez a következő képpen néz ki

 

[Header]

ID;Dátum Időpont;Dáti,;ID;Rendeléshez leadott komment; ;1234,56;78,910;1112,13;14,156;0,000;;;M;Motor/Road;;;;30374;

[Consignor]22451;SUP;Hungaria Tolllfeldolgozo Kft.;Vasarhelyi S. u.35;5800 Mezokovacshaza;HUNGARY;

[Receiver]

236;DT;Érkezési cím;

[Lines]

1;1016742;1;Termék 1 ID;Termék név 1;Article;db szám;

2;1016742;2;Termék 2 ID;Termék név 2;Article;db szám;

3;1016742;3;Termék 3 ID;Termék név 3;Article;db szám;

6;1016742;4;Termék 2 ID;Termék név 2;Article;db szám;

7;1016742;5;Termék 2 ID;Termék név 2;Article;db szám;

 

 

 


Rendelésenként így néz ki strukturálisan. Azzal nincs is gond hogy a [Lines] utáni részt hogyan illesszem be egy Munkafüzetre. Ebből fontos infó csak a termék ID termék név és darabszám. De a program mindig export.txt-be rakja függetlenül, hogy az első rendelés vagy az ötödikról van-e szó.De ha felülírom az első export.txt-t az ötödikkel akkor csak az ötidik export.txt adatait veszi fel. Nem lehetne-e valahogy összefűzögetni az export.txt-t vagy megmondani az Excelnek, hogy pl az Export mappán belül lévőket mind vegye figyelembe. Mert akkor a mappán belül csinálnék export1.txt export2.txt... De az már kicsit fárasztó, hogy az export.txt-be folyton másolgassam a többi elvitt árú [Lines] utáni részét. Szóval szeretném valahogy egy kicsit autmatizálni ha nem kell hozzá VB.  

Delila10 Creative Commons License 2012.08.02 0 0 18477

A feltételes formázásnál az első egyenlőségjelet úgy értelmezd, mintha az lenne odaírva, hogy HA.

A darab2 függvény megszámolja, hogy hány cellában van valamilyen adat (a típusától – szöveg, dátum, szám, logikai érték – függetlenül) a paraméterében megjelölt tartományban. 

Előzmény: djmorphy (18476)
djmorphy Creative Commons License 2012.08.02 0 0 18476

Köszönöm szépen!

Habár valahogy most nem igazán akarom megérteni de dolgozom rajta, hogy 100%-os legyen a feldolgozottság! De már az egy jó jel, hogy meg lehet valósítani :D

Előzmény: Delila10 (18473)
Nikolett84 Creative Commons License 2012.08.02 0 0 18475

Szia!

 

"Run-Time error '13

Type mismatch" hibaüzenetet kapok!

 

Előzmény: Delila10 (18474)
Delila10 Creative Commons License 2012.08.02 0 0 18474

A lapodhoz rendeld ezt a nyúlfarknyi makrót:

 

Private Sub Worksheet_Change(ByVal Target As Range)

      If Target.Address = "$A$2" And Target = "Start" Then Countup

End Sub

Előzmény: Nikolett84 (18472)
Delila10 Creative Commons License 2012.08.02 0 0 18473

Példával illusztrálom Robbantómester válaszát.

 

Az első paletta legyen az A5:J7 tartomány. Az A1 cella feltételes formázásának a képlete =DARAB2($A$5:$J$7)=30

 

A második paletta az A9:J11 terület. Ennek a tartománynak a telítettségét az A2 cella színezése mutatja, ahol a képlet =DARAB2($A$9:$J$11)=30.

Előzmény: djmorphy (18470)
Nikolett84 Creative Commons License 2012.08.02 0 0 18472

Sziasztok!

Egy kis segítséget szeretnék kérni. Egy programot használok amely adatokat küld egy excel munkalapra másodpercenként (office 2003)
Erre a munkalapra bebiggyesztettem A1re egy visszaszámlló makrót amely akkor szeretném hogy elinduljon automatikusan ha az A2 mező "START" szövegre változik! Megoldható valahogy? Előre is köszi.

 

Visszaszámló makró:

Sub Countup()
Dim CountDown As Date
CountDown = Now + TimeValue("00:00:01")
Application.OnTime CountDown, "Realcount"
End Sub
Sub Realcount()
Dim count As Range
Set count = [A1]
count.Value = count.Value - TimeSerial(0, 0, 1)
If count <= 0 Then
MsgBox "Countdown complete."
Exit Sub
End If
Call Countup
End Sub

Törölt nick Creative Commons License 2012.08.02 0 0 18471

feltételes formázásnak nézz utána

Előzmény: djmorphy (18470)
djmorphy Creative Commons License 2012.08.02 0 0 18470

Sziasztok!

 

Egy kicsit elvont ötletben kellene a segítségetek!

Az egyik cellában van, hogy hány db terméket gyártottunk le. Ezek palettán vannak. Egy palettán 30db termék van. Meg lehet-e valósítani az Excelben, hogy egy kijelölt terület mondjuk  A1:I3ban egy-egy cella egy palettát jelölne és ha megtöltöttünk egy palettát ami akkor egy cella beszineződik. 31dbnál elkezdődik a következő cella szinezése...

pimre Creative Commons License 2012.08.02 0 0 18469

Szerintem pozitív választ kaptál, nincs mitől félned. Jelöld ki az x munkafüzetnek azt a tartományát, aminek a formátumát másolni szeretnéd y-ba, és tedd a vágólapra (Ctrl + c). Ezután az y munkafüzetre átmész, de nem beilleszted, hanem az irányított beillesztést kéred és a formátumot másolod. Az oszlopszélességet kivéve minden átmegy. Ha az oszlopszélesség is kell, akkor azt külön kell kérned. 

Előzmény: kolobok1 (18467)
pimre Creative Commons License 2012.08.02 0 0 18468

Részemről is szívesen. Azért megjegyzem, hogy Delila10 megoldása elegánsabb és egyszerűbb.

Előzmény: Tyorotyere (18454)
kolobok1 Creative Commons License 2012.08.02 0 0 18467

Féltem ettől a választól. Nekem azért lenne rá szükségem, mert két (más struktúrájú) munkafüzetbe kellene felvinnem (részben) ugyanazokat az infókat, amiket színnel jelölök. Tehát a feladat tulajdonképpen az lenne, h ha x munkafüzetben a b2 piros, akkor legyen már magától piros az y munkafüzet c3 cellája is.

Előzmény: Törölt nick (18466)
Törölt nick Creative Commons License 2012.08.02 0 0 18466

nincs ilyen funkció - legalábbis ebben az értelemben.

irányított beillesztéssel, ecsettel stb... lehet formátumot másolni.

Előzmény: kolobok1 (18465)
kolobok1 Creative Commons License 2012.08.02 0 0 18465

Sziasztok,

 

tudtok segíteni, hogy lehet egyik munkafüzetből formátumot behivatkozni egy másik munkafüzetbe? Konkrétan pl. x munkafüzet b2 mezőjének kitöltése (mondjuk piros) egyezzen meg az y munkafüzet c3 mezőjének kitöltésével (legyen az is piros).

 

köszi

djmorphy Creative Commons License 2012.08.01 0 0 18464

Sziasztok!

 

 

Már kérdeztem munkafüzet védelemmel kapcsolatban de nem igazán értem. Van egy 6 Munkafüzetből álló Excel 2010-es táblázatom. Ebből 4 Munkafüzeten csak a számolásokat végzi el. 2 Munkafüzetre van tematikusan gyűjtve(csak sima hivatkozással a Munkafüzet1-Munkafüzet4 között valamelyikre) azok az adatok amikre szükség van. 

 

Nah most el akarják kérni ezt az excel töllem. És lehet-e olyat csinálni, hogy jelszóval levdem a Munkafüzet1-től Munkafüzet4-ig, hogy csak az nyissa meg egyáltalán aki tudja a jelszót. A többinek rálátása se legyen.

 

Ha ilyet meg lehet csinálni akkor szőkenősen le tudnátok írni lépésről lépésre?

Delila10 Creative Commons License 2012.08.01 0 0 18463

A 2003-nál a Sheets(x) a füzetben lévő sorrend szerint változik. Egy újonnan megnyitott füzetben a Munkalap1 a sheets(1). Ha a harmadik lapot az első elé másolod, akkor a sheets(1) a Munkalap3-ra vonatkozik.  Az x értéket a lapnak a füzetben elfoglalt helyének megfelelően kell megadni.

 

Abban az esetben, ha várható a lapok egymáshoz viszonyított helyzetének a módosítása, érdemesebb a nevükkel hivatkozni rájuk.

Előzmény: tbando (18462)
tbando Creative Commons License 2012.08.01 0 0 18462

Leellenőríztem. A 2007-ben valóban a megnyítási sorrenben indexeli a lapokat. De a 2003-ban nem. Ott úgy csinálja, ahogy leírtam

Előzmény: Delila10 (18459)
Delila10 Creative Commons License 2012.08.01 0 0 18461

Nézd meg makrórögzítéssel, hogy ezeknek a paramétereknek a beállítása miben tér el egymástól a régebbi, és az újabb verzióban. Valószínű, hogy az eltérés miatt lesz más a nyomtatás külleme.

 

Utóbb néztem, hogy az xls és xlsx mentési útvonala megegyezik, nincs szükség az utvonal_1 változóra.

Előzmény: Sportsboypaper (18460)
Sportsboypaper Creative Commons License 2012.08.01 0 0 18460

Köszi, latom mit valtoztattal. Kozben nekem is sikerult mukodesre birni, szerencsére mukodik ugy ahogy. MOst ujabb ertetlenseggel allok szemben. A Muvelet az egy makro, ami csak formaz, de valamiert a nyomtatasi kepet nem erti, nem fut hibara, csak egyszeruen nem teszi landscapere es nem lesz 1 oldal szeles. Megneztem a kodot, ott all benne feketen feheren, hogy ugy legyen, de nem.

Ha a muvelet makrot egymagaban hasznalom, ugy minden rendben van. mi lehet a gond? A tobbi valtoztatas megmarad, tehat azt hiszem, nem a mentes hianya a problema.

Előzmény: Delila10 (18456)
Delila10 Creative Commons License 2012.08.01 0 0 18459

Honnan veszed, hogy így megy a számozás?  A Wokrsheets(1) a füzetben lévő első lapra utal.

Előzmény: tbando (18457)
Delila10 Creative Commons License 2012.08.01 0 0 18458

Részemről szívesen. :)

Előzmény: Tyorotyere (18454)
tbando Creative Commons License 2012.08.01 0 0 18457

Makrószakértőktől kérdezném, hogy mi abban a logika, illetve hogy miért jó, hogy ha egy Munkafüzetben van 3 munkalap, akkor a worksheets(1) a Munka3-ra utal. És ha megnyitok egy negyediket, akkor ezentúl a Munka4 lesz a worksheets(1). Ami miatt  természetesen átszámozódik a többi munkalap is. Valamiért biztos így célszerűbb, mintha a megnyitási sorrendet követné az indexelés, és stabil maradna a munkalaphoz tartozó index, de mi az? 

 

Delila10 Creative Commons License 2012.08.01 0 0 18456

Az előző makrót kiegészítve:

 

Sub Valami()
    Const utvonal = "D:\"
    Const utvonal_1 = "D:\Temp\"
    Dim filenev As String, WB As Workbook
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    ChDir utvonal
    filenev = Dir(utvonal & "*.xls", vbNormal)
    Do
        If filenev <> "." And filenev <> ".." Then
            Workbooks.Open Filename:=filenev
            Set WB = ActiveWorkbook
            
            'Műveletek
            
            filenev = Left(filenev, Len(filenev) - 4)    '.xls levágása
            WB.SaveAs Filename:=utvonal_1 & filenev & ".xlsx", FileFormat:= _
                xlOpenXMLWorkbook, CreateBackup:=False
            WB.Close
        End If
        filenev = Dir()
    Loop Until filenev = ""
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Előzmény: Sportsboypaper (18455)
Sportsboypaper Creative Commons License 2012.08.01 0 0 18455

 

SZasztok,

igyekszem ezzel a koddal elmenteni a fileomat, azonos filenevvel mint az eredetit, azonos helyre, csak mas formatummal.

 

ActiveWorkbook.SaveAs filename:=Dir(path & " .xlsx", vbNormal)

 

A hibauzenet az, hogy nehany tipusu karakter nem lehet a filenevben. gondolom a "Dir(path & " .xlsx", vbNormal)" nem tetszik neki, mintha azt gondolna, hogy ez a filenev maga

 

biztosan aprosag, de nem jovok ra mi a hiba talan tudtok segiteni.

Köszi szepen.

 

Előzmény: Delila10 (18431)
Tyorotyere Creative Commons License 2012.08.01 0 0 18454

Delila10 és Pimre!

 

Köszönöm a válaszokat mind a kettő, jól müködik. A tied is pimre! Köszönöm a segítséget mostmár tudom, hogy így kell megoldani legközelebb. Azt hittem az elején, hogy valamit elnyomtam és azért nem tudok részleges sort beilleszteni, de mostmár tudom nem így van! Köszönöm szépen mindenkinek még egyszer!! :D

Előzmény: Delila10 (18452)
pimre Creative Commons License 2012.08.01 0 0 18453

"Vagy egy üres sor bánja ami két táblázat között van! "

 

Az én 3. pontom ezt nem oldja meg?

Előzmény: Tyorotyere (18451)
Delila10 Creative Commons License 2012.08.01 0 0 18452

B12:K12 beszúrás, L23:M23 beszúrás.

 

Ugyanezt a két területet kell kijelölni törlésnél is.

Előzmény: Tyorotyere (18443)
Tyorotyere Creative Commons License 2012.08.01 0 0 18451

Sziasztok pimre, robbantomester és József!

 

Ez most éppen borsó kárrendezése lenne! Akkor végül is úgy, hogy ez a korrektúre szét ne essen úgy nem lehet berakni a plusz sort. Vagy egy üres sor bánja ami két táblázat között van! Szerintem azt fogom csinálni, hogy egymás alá rakom a táblázatokat kivágással vagy ilyesmivel, megcsinálom amit akarok teljes sor beszúrással és ha készen van visszarendezem a táblázatokat  a ostani állapotba. Gondolom így a képletek azért nem úszank el és alkalmazkodnak az ide oda pakoláshoz. :D

Előzmény: Törölt nick (18448)
pimre Creative Commons License 2012.08.01 0 0 18450

Bocs, ez sem jó. Egy bonyolultabb megoldás talán működik. 

 

1. A kijelölt részen (12. sor) beszúrás.

2. A táblázat alatti üres soron (a beszúrás után ez a 18. sor lesz) ugyanilyen szélességű tartományt kijelölsz, és törlöd (eltolással felfelé). 

3. Ezzel elveszett az üres sor, de ekkor a 18. sorra állva egy teljes sort szúrsz be. Így helyreáll a rend.

Előzmény: pimre (18449)
pimre Creative Commons License 2012.08.01 0 0 18449

Én megfordítanám a gondolatmenetet. Beszúrnék a jelzett helyen egy teljes sort, majd a jelenleg éppen ki nem jelölt részen törölném a felesleget.

Előzmény: Tyorotyere (18443)
Törölt nick Creative Commons License 2012.08.01 0 0 18448

Milyen növény ez egyébként?

Előzmény: Tyorotyere (18443)
Törölt nick Creative Commons License 2012.08.01 0 0 18447

jó lennem ha nem lenne a  24-2x sorban lévő tábla

Előzmény: Jozsef (18445)
Törölt nick Creative Commons License 2012.08.01 0 0 18446

ezt mondom. ezt máshogy nem lehet, csak ha beszúrod (pl ahogy jozsef irta) és utána pedig visszacsinálod ugyanezt törléssel - csak a megfelelő helyen - hogy visszaálljon a rend

Előzmény: Tyorotyere (18443)
Jozsef Creative Commons License 2012.08.01 0 0 18445

Ettől függeltenül  ha ragaszkodsz ehhez az elrendezéshez,abármit csinálsz, az alsó zöld tábla szét fog esni. Az alsó narancssárgán még lehet úgy segíteni, hogy B12:K12 tartományt jelölöd ki.

Előzmény: Jozsef (18444)
Jozsef Creative Commons License 2012.08.01 0 0 18444

1 Állj rá a kijelölés kitöltőfülére az egérrel (a kijelölés jobb alsó sarkán lévő kis négyzet)

2. Tartsd lenyomva a Ctrl+Shift gombot,

3. Majd kitöltőfület egérrel megfogva húzz le annyi sort, amennyit be akarsz szúrni.

 

Előzmény: Tyorotyere (18443)
Tyorotyere Creative Commons License 2012.08.01 0 0 18443

Szia!

 

Gondolom beszúrás eltolás lefelé és akkor alatta a sort kitörlöm. Na most alatta is van egy táblázat és mellette is.

 

 

Oda kellene egy plusz sor ahol ki van jelölve. Hüvelyosztályozás tábla 12. sor! Azért ez az elrendezés mert ipadra szeretném és így könnyebben átlátható sztem és nem kell görgetni állandóan.

Előzmény: Törölt nick (18442)
Törölt nick Creative Commons License 2012.08.01 0 0 18442

Szúrd be a tábládba azt a sort, letolja ekkor az összes alatta lévőt. Utána pedig a tábla után töröld ugyanazt - ekkor visszaáll a rend.

 A tábláidat úgy kéne elpakolgasd a munkalapon, hogy az ilyen műveletek ne okozzanak gondot.

 

 

Előzmény: Tyorotyere (18441)
Tyorotyere Creative Commons License 2012.08.01 0 0 18441

Sziasztok!

 

Remélem jó helyre írok!

 

Olyan problémám van, hogy egy munkalapon több táblázatom van és szeretnék beszúrni vagy törölni sosrt de nem az egészet hanem mondjuk azt amit kijelölök és úgy, hogy nem csúszik el az egész jobbra vagy akármerre. Az egyik táblába szeretnék beszúrni sort de csaka  táblázat szélleségébe mert a mellette lévőt nem akarom módosítani és az eltolás se jó mert az alatta lévő különböző szélességű táblázatok eldeformáslódnak. Légyszíves ha tudjátok, hogy lehetne megoldani írjátok le! Ugyan ez van törlésnél is!

 

Köszönöm: Laci

Sportsboypaper Creative Commons License 2012.08.01 0 0 18440

Sziasztok,  ezt a saveas kerdest kozben sikerult elintezni, de most valamiert mas gondja van. Kapok egy hibauzenetet, hogy nem talalja a file-t, pedig ott van ahol eddig, es meg is mondja, melyiket nem tudja megnyitni, azaz megis oda talal, es tudja is mit kellene megnyitni, de valamiert hibara fut. Ezzel talalkozott mar valaki esetleg?

Előzmény: Sportsboypaper (18439)
Sportsboypaper Creative Commons License 2012.08.01 0 0 18439

SZia köszi szepen, nagyon jol mukodik is. Csak egy dolgot szeretnek valtoztatni rajta, hogy a WB.save helyett Saveas legyen, de mindig maradjon az eredeti filenev, csak az MHT formatumot cserelje ki xls-re. Ebben tudnatok meg segiteni esetleg?

 

Köszi szepen!

Előzmény: Delila10 (18431)
Törölt nick Creative Commons License 2012.07.31 0 0 18438
nézd, ha elkezdessz mindenféle dolgot letiltogatni amik alapfunkciok, akkor inkább írd a workbook open esemenyebe, hogy application.close :)

van egy elképzelésem, hogy miként úszom le Michael Phelps-t, azonban nem tudok úszni... Te is most ezen a kövön ülsz...

én nem tiltogatnek semmi ilyesmit csak mert így néz ki jol. Ott a lapvedelem ilyesmire.

ha ennnyire le akarod tiltani, akkor van doubleclick esemény, én ott kezdeném.
Előzmény: lacid90 (18436)
lacid90 Creative Commons License 2012.07.31 0 0 18437

Beszálhatsz te is a probléma megoldásába. :-)

Egyébként nekem is pulim van!!!!

Előzmény: _Nyuszi (18435)
lacid90 Creative Commons License 2012.07.31 0 0 18436

Köszönöm, de a válaszod egyből felvetett egy új problémát, mégpedig a dupla klikket hogy lehet letiltani . Biztosan rosszul gondolom végig az egész dolgot, mert mindig lesz valami amin bukik az egész elképzelés. Arra viszont kíváncsi lennék (mivel nagyjából tudod az elképzelésemet), hogy te hogyan oldanád meg a dolgot.

Azért a dupla klikk tiltása kellene. Köszi a segítséget.

 

Előzmény: Törölt nick (18434)
_Nyuszi Creative Commons License 2012.07.31 0 0 18435

Már látom is a következő kérdést: duplakatt kizárása.

Bocsánat az érintettektől, de nagyon magas volt.. :)

:)))))

Előzmény: Törölt nick (18434)
Törölt nick Creative Commons License 2012.07.31 0 0 18434

pl.:

 

Sub ui()
Application.OnKey "{ESC}", "No_Change"
End Sub
Sub No_Change()
MsgBox "Nem_megengedett"
End Sub

amit írtam az imént: ettől függetlenül csak egy duplát kell kattintania a felső sávra és visszaáll minden...

Előzmény: lacid90 (18432)
Törölt nick Creative Commons License 2012.07.31 0 0 18433

az esc letiltása nem gátolja meg a teljes képernyős nézet kikapcsolását.

Előzmény: lacid90 (18432)
lacid90 Creative Commons License 2012.07.31 0 0 18432

Hát látom hogy nagyon ragaszkodsz az ESC-hez pedig hidd el hogy ebben a táblázatban a felhasználónak nincs szüksége rá. A normál képernyő módra csak nekem van szükségem ha a VB-ben valamit megakarok változtatni (ezért kellene jelszóval visszalépni), és egyébként ha kilép ebből a fájlból minden vissza van állítva normál üzemre. Ha tudod hogy hogyan kell ki/be kapcsolni, légyszí írd meg.

Köszönöm 

 

Előzmény: Törölt nick (18426)
Delila10 Creative Commons License 2012.07.31 0 0 18431

Próbáld így:

 

Sub Valami()
    Const utvonal = "D:\"
    Dim filenev As String, WB As Workbook
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    ChDir utvonal
    filenev = Dir(utvonal & "*.xls", vbNormal)
    Do
        If filenev <> "." And filenev <> ".." Then
            Workbooks.Open Filename:=filenev
            Set WB = ActiveWorkbook
            
            'Műveletek
            
            WB.Save
            WB.Close
        End If
        filenev = Dir()
    Loop Until filenev = ""
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Előzmény: Sportsboypaper (18427)
Haladjunk55 Creative Commons License 2012.07.31 0 0 18430

Köszi! A celle formátuma "Általános" kategórián van, amely, a leírás szerint, nem tartalmaz semmilyen különleges számformátumot. Ha a "szám" kategóriát választom, akkor is marad az eredeti "hiba". Valahol mélyebben van beállítási lehetőség?

Előzmény: Sportsboypaper (18429)
Sportsboypaper Creative Commons License 2012.07.31 0 0 18429

Format Cells-nél valószinuleg % van megadva a cella formatuma, tedd át general-ra vagy Number-re.

 

Előzmény: Haladjunk55 (18428)
Haladjunk55 Creative Commons License 2012.07.31 0 0 18428

Sziasztok! Segítséget kérek excel beállításban. Ha egy cellába számot írok, akkor a tizedesvessző két hellyel balra kerül. Magyarul, ha 12-őt akarok írni akkor 0,12 lesz belőle, ezért 12-őt és utána még két nullát kell begépelnem, ha az eredeti 12-t szeretném a cellában látni. Ez új üresen megnyitott táblázatoknál is így van. 

Sportsboypaper Creative Commons License 2012.07.31 0 0 18427

Sziasztok,

 

talaltam a neten egy par olyan macrot, amivel egy adott folderben levo osszes filet meg lehet nyitni egyesevel, vegrehajt egy elore meghatarozott feladatsort (lefuttat egy masik macrot) majd elmenti, bezarja, es kezdi elolrol. Sajnos nalam egyik sem mukodik, valamiert Unsupported Objectet kapok a Application.Filesearch sorra.

A path persze a sajatom, az kicsereltem, de addig sem fut le a makro. Esetleg tudjatzok hol lehet a hiba? 2007es Excelt hasznalok.

Ez az egyik, de alapvetoen mindegyik ugyanitt akad el.

Kösz elore is a valaszokat.

 

Sub openfilesInALocation()
Dim i As Integer, wb As Workbook
 With Application.FileSearch
.NewSearch
 .LookIn = "C:Documents and SettingschrisfMy Documentsvbatest"
.SearchSubFolders = False
 .Filename = "*.xls"
 .Execute
 For i = 1 To .FoundFiles.Count
 'Open each workbook
 Set wb = Workbooks.Open(Filename:=.FoundFiles(i))
 'Perform the operation on the open workbook

wb.Worksheets("sheet1").Range("A1").Select

 'Save and close the workbook
 wb.Save
 wb.Close
 'On to the next workbook
 Next i
 End With
 End Sub

Törölt nick Creative Commons License 2012.07.31 0 0 18426

Hát az esc-et ne akard "kikapcsolni" szerintem... legalábbis szó szerint ne, mert több funkciója van.

 

Inkább valamely eseményre valami ilyesmit kéne tenni: (Pl. SelectionChange vagy ilyesmi)

 

If Not (Application.DisplayFullScreen) Then Application.DisplayFullScreen = True

 

Előzmény: lacid90 (18425)
lacid90 Creative Commons License 2012.07.31 0 0 18425

Az ESC-t azért akarom kikapcsolni, hogy a felhasználó ne tudjon kilépni a teljes képernyős módból, és ezért lenne jó még ide egy olyan rész, ami egy jelszóval viszont lehetőséget adna a kilépésre. Sajna ebben is a te segítségedre van szükségem. Ezt a két rutint a ThisWorkbook mappába tegyem?

 

Előzmény: Törölt nick (18424)
Törölt nick Creative Commons License 2012.07.31 0 0 18424

Private Sub Workbook_Open()
'ide a kód amivel teljes képernyőre teszed (...  =True)
End Sub

 

és

 

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'ide a kód amivel visszaállítod a munkafüzetbezárásakor (... =False)
End Sub

 

Az ESC-et miért akarod kikapcsolni? Több szerkesztési funkciója van...

Előzmény: lacid90 (18423)
lacid90 Creative Commons License 2012.07.31 0 0 18423

Nem tudom a helyes formátumot, meg az ESC billentyű figyelését. Ugyanez a helyzet a Kilépés gombra való kattintáskor. Ha erre tudnál egy mintát írni, meg hogy ezt hova kell pontosan berakni (ThisWorkbook mappába?), azt megköszönném.

Előzmény: Törölt nick (18422)
Törölt nick Creative Commons License 2012.07.31 0 0 18422
a workbboknal van olyan esemenykezeles, hogy open és beforeclose, ott kell beírni amit be is masoltal a hszedbe
Előzmény: lacid90 (18421)
lacid90 Creative Commons License 2012.07.31 0 0 18421

A teljes méretre váltást megtudom oldani, a problémát az jelenti, hogy egy fájl betöltése után hogyan lehet egy makrót automatikusan elindítani. Ebben az automatikusan induló makróban lenne a teljes képernyőre váltás (Application.DisplayFullScreen = True), és az ESC billentyű tiltása (ezt nem tudom). Ezek a dolgok azért kellenek mert egy teljesen automatizált táblázatról van szó, amiben minden funkció gombokhoz van rendelve -  hibaüzenetekkel, és ezért tartom feleslegesnek a szerkesztőlécek megjelenítését (ami nagyon zavaró ez esetben). A csúcs megoldás még az lenne, ha kilépésnél megint elindulna automatikusan egy makró, ami mindezt visszaállítaná, mivel ha teljes képernyős üzemmel lép ki, akkor a következő excel indítás is teljes képernyős lesz, ami szerintem szintén zavaró főleg olyan embereknek, akik csak felhasználók és nem nagyon értenek hozzá.

 

Előzmény: Törölt nick (18420)
Törölt nick Creative Commons License 2012.07.31 0 0 18420

Felhasználó felületről elérhető a teljes képernyőre átkapcsolás, tehát makrórögzítő bekapcs... (de külön-külön is lehet kapcsolgatni a felületeket)

Hogy a visszaállítást miért akarod megakadályozni azt te tudod, de van egy olyan érzésem hogy igazából a munkalapot szeretnéd ezzel védeni - de arra meg ott van a van a munkalapvédelem funkció...

Előzmény: lacid90 (18419)
lacid90 Creative Commons License 2012.07.30 0 0 18419

Sziasztok!

Az megoldható, hogy egy Excel fájl betöltése után automatikusan teljes képernyőre váltson át (tűnjenek el a szerkesztő lécek), az ESC billentyűt kikapcsolni, és a visszaállítást egy billentyű kódhoz, vagy jelszóhoz rendelni. A fájlban vannak makrók, úgyhogy ezt is egy makróval kéne megoldani ami automatikusan elindulna.
Köszönöm a segítséget.

 

briger_ Creative Commons License 2012.07.30 0 0 18418

Nézegettem a NEXTIF mezőkódot, de nem tudom használni.

Előzmény: briger_ (18417)
briger_ Creative Commons License 2012.07.30 0 0 18417

Azt hittem egyértelmű:D

Körlevélkészítés megy, ha 1 sora van mindenkinek, de azt nem tudom megcsinálni, ha 1 partnernek több sorából is kell adat.

Azaz Gipsz Jakabnak kellenének az adatai, és ha már Taknyos Piroska jön az exelben, akkor az ővé kerüljön a következő lapra. Plusz kamat és tartozás összesen és mindösszesen is kellene, ahogy a képen van. Nem tom jobban leírni:D

Előzmény: Törölt nick (18416)
Törölt nick Creative Commons License 2012.07.30 0 0 18416

mi a kérdés? :)

Előzmény: briger_ (18415)
briger_ Creative Commons License 2012.07.30 0 0 18415

Sziasztok!

Ha volt már ilyen kérdés, akkor bocsi:

 

Fizetési felszólító körlevelet kellene készítenem, office 2010.

Az excel úgy néz ki, hogy soronként az adatok 1 partner azonosítóhoz (A oszlop) tartoznak, de változó, hogy egy partnernak mennyi sora van - függően attól, hogy mennyi számlával vannak elmaradva.

 

 

Amire szükség lenne a Wordben:

- egy oldalon egy partner adatai

- Név és cím

- felsorolva tételesen amennyi sora van: a számla adatok, számlaszám, összeg, kamat, stb, ráadásul még kamat és tartozás összesen is kellene.

 

 

Kösz, ha valaki venné a fáradságot.

briger

Csavarhúzós Creative Commons License 2012.07.30 0 0 18414

Adott egy nagy halmozott sávdiagram.

 

1. megoldható-e, hogy a táblázatban a legalsó sor a diagramon is legalsó legyen? (Legfelső lesz)

 

2. megoldható-e valahogy kényelmesen, hogy ha beszúrok egy új oszlopot, akkor a diagramon is megjelenjenek az adatai? Hiába írom át az adatatrtomány, kategóriacímkék hivatkozásait relatívra, mindig visszaírja abszolútra, és az oszlop beszúrásakor két tartományra bomlik, ami a beszúrt oszlopt nem tartalmazza. Nem kell Excelben legyen a megoldás, bármilyen számolótábla jó. Excel2007-et és OpenOffice 3.2-t próbáltam, azok ilyenek.

Delila10 Creative Commons License 2012.07.30 0 0 18413

Szívesen. Van, hogy a nagy igyekezetben a legegyszerűbb megoldás nem jut eszünkbe. :)

Előzmény: fajlkezelo (18412)
fajlkezelo Creative Commons License 2012.07.29 0 0 18412

Szia!

 

Köszönöm, ez szuper!!!

Pedig milyen egyszerű és frappáns!

Úgy látszik hiába írtam számtalan és(), fkeres() függvényt,

a legegyszerűbb megoldás mégsem jutott eszembe.

 

Ezer hála és köszönet!

 

üdv.: Joe

Előzmény: Delila10 (18404)
tbando Creative Commons License 2012.07.28 0 0 18411

Valószínüleg. De ettől függetlenül hálás vagyok neki a téma felvetéséért, mert így legalább kiderült, hogy még én is ösze tudok egy ilyet hozni :))).

Előzmény: Sánta Kutya (SK) (18410)
Sánta Kutya (SK) Creative Commons License 2012.07.28 0 0 18410

Talán azért nem reagált rá senki, mert a kérdező nem is járt erre azóta.

Előzmény: tbando (18409)
tbando Creative Commons License 2012.07.28 0 0 18409

Na kiokumláltam, ha már senki senki sem reagált az 18360-ra.  Tehát a stringnek összeszerkesztett hivatkozást az alábbi makró írja át valódi hivatkozássá:

 

Sub formulaz()

'stringet formulává alakító Makro

Dim cellTart As String

For Each cell In Selection

    cellTart = cell.Value

    cell.Formula = cellTart

Next cell

End Sub

 

 

 

Előzmény: alpbal88 (18356)
Delila10 Creative Commons License 2012.07.28 0 0 18408

Ha A1-ben van a dátumod:

 

=DÁTUM(ÉV(MA());HÓNAP(MA())+1;NAP(A1))-MA()

Előzmény: mimi_bacsi (18407)
mimi_bacsi Creative Commons License 2012.07.28 0 0 18407

Van egy táblázatom, amelyben többek között partnerek vannak felsorolva, és azokhoz tartozó - minden partnernél más - elmúlt (partner felvétel) dátum is szerepel. (pl.: 2012-06-01) egy kötelezettség miatt.


Hogy lehet képlettel meghatározni, hogy mindig a következő havi kötelezettség dátuma (ami a példa szerint ez: 2012-08-01, a dátum napjához igazodik minden) mennyi nap múlva lesz?
Tehát az legyen az eredmény a példámat követve, hogy a 2012-08-01 az 4 nap múlva lesz!

 

tbando Creative Commons License 2012.07.28 0 0 18406

Tárgytalan. Rájöttem, hogy nem operátor.

Előzmény: tbando (18405)
tbando Creative Commons License 2012.07.28 0 0 18405

A "@" operátor mit jelent a javasolt fkeres függvényedben?

Előzmény: Delila10 (18404)
Delila10 Creative Commons License 2012.07.27 0 0 18404

Sikerült összehozni a képletet? Ha nem, itt van egy megoldás az A2 cellára.

 

=HA(ÉS(D2>=FKERES(B2&"@"&C2;$G$3:$K$20;4;0);D2<=FKERES(B2&"@"&C2;$G$3:$K$20;5;0));"igen";"nem")

Előzmény: fajlkezelo (18390)
Delila10 Creative Commons License 2012.07.26 0 0 18403

Szivi.

 

D.

Előzmény: attsipos (18402)
attsipos Creative Commons License 2012.07.26 0 0 18402

koszi.

 

A.

 

 

Előzmény: Delila10 (18387)
Delila10 Creative Commons License 2012.07.26 0 0 18400

:)

 

Szívesen.

Előzmény: Sánta Kutya (SK) (18398)
Sánta Kutya (SK) Creative Commons License 2012.07.26 0 0 18399

Köszönöm!

Előzmény: Delila10 (18397)
Sánta Kutya (SK) Creative Commons License 2012.07.26 0 0 18398

Ősi BASIC-es szintaxis a hőskorból. :-)

Előzmény: Delila10 (18396)
Delila10 Creative Commons License 2012.07.26 0 0 18397

Például így lehet:

 

Sub Muveletek()
    Dim lap%, lapnev$, WS As Worksheet
    
    For lap% = 1 To Worksheets.Count
        Set WS = Sheets(lap%)
        lapnev$ = Sheets(lap%).Name
        Select Case lapnev$
            Case "első", "ötödik"
                WS.Range("B1") = WS.Range("A1") * 2
            Case "második", "negyedik"
                WS.Range("B1") = WS.Range("A1") / 2
            Case Else
                WS.Range("B1") = WS.Range("A1") * 1500
        End Select
    Next
End Sub

 

A lapok neve "első", "második", ... "ötödik".

Előzmény: Sánta Kutya (SK) (18389)
Delila10 Creative Commons License 2012.07.26 0 0 18396

Lusta vagyok kiírni az As String-et, ahelyett jó a $ jel. :)

Előzmény: Törölt nick (18395)
Törölt nick Creative Commons License 2012.07.26 0 0 18395

amúgy meg tök jó...

mi is az a $ jel? lehet már kérdeztem, de már elfelejtettem.

Előzmény: Delila10 (18394)
Delila10 Creative Commons License 2012.07.26 0 0 18394

Akkor másképp kell megírni a makrót. :D

 

Arról volt szó, hogy 1200 rekordban van adat. Persze lehet az 1200 különböző, nem összefüggő tartományokban, de ezt valószínűleg közölte volna a kérdező. 

Előzmény: Törölt nick (18388)
fajlkezelo Creative Commons License 2012.07.26 0 0 18393

Szia!

 

Igen! Vevőnként, termékenként más az akciós tétel.

Körülnézek AB függvényeknél is.

 

 

Köszi

 

Józsi

Előzmény: Sánta Kutya (SK) (18391)
Sánta Kutya (SK) Creative Commons License 2012.07.26 0 0 18392

Egyébként szerintem nézz körül az AB. függvények háza táján, azokkal sokkal kézenfekvőbb megoldani az ilyesmit, mint összefűzögetéssel és fkeressel.

Előzmény: fajlkezelo (18390)
Sánta Kutya (SK) Creative Commons License 2012.07.26 0 0 18391

Jól értem, hogy az akciós intervallum vevőnként eltérően van meghatározva?

Előzmény: fajlkezelo (18390)
fajlkezelo Creative Commons License 2012.07.26 0 0 18390

Sziasztok!

 

fkeres - dátumtartomány probléma.

 

Szeretnék kérni némi segítséget:

 

1. van egy táblám, ahol értékesítési adatok vannak (termék, vevő, dátum, kg)

2. van egy másik táblám, ahol az akciók vannak meghatározva (termék, vevő, dátumtartomány)

 

Szeretném az értékesítési táblában megjelölni azokat a sorokat, amik akciósak (az akciós tábla alapján)

Persze össze tudom fűzni a terméket, vevőt és azt keresni az akciós táblában,

de nem tudok még a dátumtartományt is kezelni.

 

Az akciók táblában a kék fejlécek határozzák meg egyértelműen az akciót.

 

 

Van-e mód, hogy a termék-vevő-dátum alapján kikeressem, hogy a sor akciós-e.

 

 

Köszönöm

Sánta Kutya (SK) Creative Commons License 2012.07.26 0 0 18389

Hogyan lehet dolgozni a munkalapok nevével? Van valakinek olyam mintakódja, ami végigmegy a füleken, és a nevüket feldolgozva dönti el, milyen műveleteket végez?

 

Előzmény: Delila10 (18387)
Törölt nick Creative Commons License 2012.07.26 0 0 18388

és mi van, ha az A51 véletlenül cella üres? :)

Előzmény: Delila10 (18387)
Delila10 Creative Commons License 2012.07.26 0 0 18387

Megvan, hogyan lehet 1 lapot xls fájlba menteni. A makró:

 

Sub Otven()
    Dim fajl$, utvonal$
    
    fajl$ = "1"
    utvonal$ = "E:\Eadat\"  'Itt kell átírni az útvonalat
    Sheets(2).Select
    
    Do While Cells(1) > ""
        Sheets(1).Rows("1:50").Cut Sheets(2).Range("A1")
        ActiveWorkbook.SaveAs Filename:=utvonal & fajl$, FileFormat:=xlExcel3
        
        fajl$ = fajl$ * 1 + 1 & ""
        Sheets(1).Rows("1:50").Delete Shift:=xlUp
    Loop
    
End Sub

 

 

Előzmény: Delila10 (18384)
Sánta Kutya (SK) Creative Commons License 2012.07.26 0 0 18386

Boldog ember vagy! A kettest, mint látható lejjebb, kipróbáltam itthon az Excel 2000-esen, és működik. Az ismétlődő értékek viszont, gyanítom, csak 2007-től vannak.

Nem tudom, miért nem akarsz cellába képletet írni, mikor az olyan jó érzés, és ráadásul egy csomószor sokkal célravezetőbb a makrónál, de ilyen esetben szerintem igen hasznos is, ha makrórögzítővel követed, és máris van egy nyers Basic-kódod, amiből ki lehet indulni.

Előzmény: Törölt nick (18385)
Delila10 Creative Commons License 2012.07.25 0 0 18384

Ha valaki megmondja, hogyan lehet 1 munkalapot menteni xls-be, megoldható.

 

Sub Otven()
    Dim fajl$
    
    fajl$ = "1"
    Sheets(1).Select
    
    Do While Cells(1) > ""
        Rows("1:50").Cut Sheets(2).Range("A1")
        
        'Ide jön a 2. lap mentése fajl$ néven
        
        fajl$ = fajl$ * 1 + 1 & ""
        Sheets(1).Rows("1:50").Delete Shift:=xlUp
    Loop
    
End Sub

Előzmény: attsipos (18366)
attsipos Creative Commons License 2012.07.25 0 0 18383

ha egy reportot akarunk futtatni akkor harom kulonozo rendszerbol kell osszeszedni az adatokat hozza, persze mind kulon formatum tele hibas regiokodokkal, etc...

 

es ez mind egy europai kozpontban hollandiaban..

Előzmény: Törölt nick (18382)
Törölt nick Creative Commons License 2012.07.25 0 0 18382

ja, szemét multik, ezen gazdagodnak, nincs infós beruházás majd megoldja a kollega (vagy valaki :)

Előzmény: attsipos (18380)
attsipos Creative Commons License 2012.07.25 0 0 18381

de mar az is jo, ha 1 munkalaprol ment at mindent

 

 

Előzmény: Törölt nick (18379)
attsipos Creative Commons License 2012.07.25 0 0 18380

van olyan munkafuzet amiben 4-5 lap is van, 50 sorok nem mehetnek 1-1 munkalapra a fuzeten belul. mind kulon-kulon filenak kell lennie :(

 

es mielott megkerdezed, h hol dolgozom... egy multinal akiknel 1000 eves rendszerek vannak:(

 

Előzmény: Törölt nick (18379)
Törölt nick Creative Commons License 2012.07.25 0 0 18379

egy munkalap van a munkafüzetben?

mehetnek az 50 sorok 1-1 munkalapra a munkafüzeten belül?

Előzmény: attsipos (18376)
Törölt nick Creative Commons License 2012.07.25 0 0 18378

ja vágom

Előzmény: attsipos (18376)
Törölt nick Creative Commons License 2012.07.25 0 0 18377

1200/50= 24 file

Hányan vagytok? :)

mindenki bevállal kettőt, és már csak 12 ember kell.

(kiszámoltam excellel :D)

 

Előzmény: attsipos (18372)
attsipos Creative Commons License 2012.07.25 0 0 18376

otthon 2010 van ha a bentin nem megy akkor hazaviszem ott szetbontom fileokra es visszaviszem masnap pendriveon..

 

 

Előzmény: Törölt nick (18375)
Törölt nick Creative Commons License 2012.07.25 0 0 18375

tehát valaki írja meg helyetted, dolgozzon vele. Aztán vagy jó vagy nem.

Előzmény: attsipos (18374)
attsipos Creative Commons License 2012.07.25 0 0 18374

igen ez jo kerdes :d majd a teszt valaszt ad ra...

 

Előzmény: Törölt nick (18373)
Törölt nick Creative Commons License 2012.07.25 0 0 18373

Makróval ez szépen kivitelezhető. Ellenben ami lefut 2010-esen, menni fog e 97-en?

Mert a kedvedért asszem senki sem fog feltenni 97-es excelt :)

Előzmény: attsipos (18366)
attsipos Creative Commons License 2012.07.25 0 0 18372

nem tudom milyen tipusu az adatbazis, de ennek nincs is jelentosege, mivel az 50 sorokra felosztott fileokkal meg mas dolgozik, adatokat visz be es utana van feltoltve, tehat excel formatum kell. a lenyeg az, h ezzel havonta van szivas..

Előzmény: Sánta Kutya (SK) (18371)
Sánta Kutya (SK) Creative Commons License 2012.07.25 0 0 18371

Milyen típusú adatbázis ez? Jól sejtem, hogy jobban örülne, ha eleve txt-ben kapná az adatokat?

Előzmény: attsipos (18369)
attsipos Creative Commons License 2012.07.25 0 0 18370

ja es office 97

Előzmény: Sánta Kutya (SK) (18367)
attsipos Creative Commons License 2012.07.25 0 0 18369

Szia, 

 

egy osoreg adatbazisba kell feltolteni az adatokat, de az csak maximum 50 sort kepes kezelni :D 

 

A.

Előzmény: Sánta Kutya (SK) (18367)
tbando Creative Commons License 2012.07.25 0 0 18368

:))

 

És ezek?

 

B oszlop: =darabteli($a$1:$a$100;a1)  végigmásolva, mindegyikről megmondja hány van belőle

C oszlop: =darabteli($a$1:a1;a1) végigmásolva, épp hogy a hanyadik

Előzmény: Törölt nick (18362)
Sánta Kutya (SK) Creative Commons License 2012.07.25 0 0 18367

Csak kíváncsiságból: ez mire jó? Mert én inkább olyan esetekkel találkozom, hogy adatokat kéne összehozni.

Előzmény: attsipos (18366)
attsipos Creative Commons License 2012.07.25 0 0 18366

Sziasztok,

 

Nem ertek sajnos vbhez de van egy problemam ami megoldasra var...

 

van egy excel file amiben van mondjuk 1200 sor. ezt a filet kellene szetbontani kulon fileokra ugy hogy minden egyes bontott fileban 50 sor lehet maximum..

 

tehat

sor1-sor50 - file 1

sor51-sor100 - file2

sor101-150 - file3

 

kicsit gaz 1200 sort 50essevel masolgatni..

 

az lenne jo ha a vb-ben meg lehetne adni a fileok nevet is

 

koszonom

 

Attila

Törölt nick Creative Commons License 2012.07.25 0 0 18365

ja, tényleg azt elírtam

Előzmény: Sánta Kutya (SK) (18364)
Sánta Kutya (SK) Creative Commons License 2012.07.25 0 0 18364

Sh-ctrl enter, és kívül lesz a kapcsos zárójel. Megleptél, mert ez skalár értéket ad, és a tömbképletekkel én még csak tömbtípusú eredménynél találkoztam, de most tanultam valamit. Ez tetszik!

Előzmény: Törölt nick (18363)
Törölt nick Creative Commons License 2012.07.25 0 0 18363

1.

melyik excel?

2010-ben feltételes formázás - cellakijelölési szabályok - ismétlődő értékek

 

2.

={ÉS(B1:B10=IGAZ)} TÖMBKÉPLET tehát alt+enteres. Angolosítani nem nehéz ha kell

 

ha az összes elem IGAZ akkor IGAZ, ha van benne üres akkor HAMIS

 

vba-ban ezt már nem nehéz implementálni

Előzmény: Törölt nick (18357)
tbando Creative Commons License 2012.07.24 0 0 18361

1. Sorbarendezed az oszlopot - majd összehasonlitod mindegyik cellát a következővel és megjelölöd hogy azonosak-e vagy sem, majd majd vissza rendezed az oszlopot.

2. F5/Special/Üres cellák 

Előzmény: Törölt nick (18357)
tbando Creative Commons License 2012.07.24 0 0 18360

Az indirekt függvény valóban jó, de ha bezárod a forrásfájlokat, a hivatkozásaid  #HIV re változnak, ami nem túl szerencsés. Ezért ajánlok egy némileg körülményesebb, de még mindig egyszerűbb módszert, mint a hivatkozások egyenkénti beírása. Megszerkeszted a hivatkozások stringrészleteit, majd összefűzöd őket, így kapsz valami ilyesmi formulákat, hogy  ‘=’C:Documents[file1.xlsx]Munka1’!D22. stb. Majd most jön a babrásabb rész: Az összefűzött  stringeket értékké alakítod (CTRL+C  majd special értékbeillesztéssel), majd  egyenként levágod róluk az idézőjel  prefixet az F2-Home-Del-Enter billentyüzéssel.  És kész.

A prefix levágások elvben egyszerűen makrósíthatók, de nekem nem sikerült, mert a hivatkozás képletté alakításakor az excel alapból nem a folyamatot, hanem a makrókészítéskor kapott  képletet tárolja  el, és azt írja be mindenhova.  De vannak itt magroguruk, akik valszeg tudják hogyan kell a képletté alakítást dinamikusan definiálni. Én is kiváncsi lennék rá.   

 

Előzmény: alpbal88 (18354)
Delila10 Creative Commons License 2012.07.24 0 0 18359

Ahogy SK írta, az INDIREKT függvénnyel és összefűzéssel megoldhatod.

 

=INDIREKT("["&A1&"]Munka1!D22")

Előzmény: alpbal88 (18354)
tbando Creative Commons License 2012.07.24 0 0 18358

Jó, de csak ha meg van nyitva az is.

Előzmény: Sánta Kutya (SK) (18355)
alpbal88 Creative Commons License 2012.07.24 0 0 18356

A problémám az, hogy semmilyen hivatkozást nem fogad el a [.xlsx]-ben, mert szövegkként értelmezi.

Előzmény: Sánta Kutya (SK) (18355)
Sánta Kutya (SK) Creative Commons License 2012.07.24 0 0 18355

Szövegeket tudsz konkatenálni az & jellel vagy az összefűz() függvénnyel. A kész szövegből talán az indirekt()? csinál hivatkozást, de nem tudom, másik munkafüzetre is jó-e.

Előzmény: alpbal88 (18354)
alpbal88 Creative Commons License 2012.07.24 0 0 18354

Sziasztok!

 

A következő lenne a problémám:

 

Van egy oszlop amiben referenciaszámok találhatók (1,2,3,4,.... stb). Az oszlopban található referencia számokhoz tartozik egy adat, amely a referencia számokkal ellátott xlsx file-ban találhatók. Szóval a 26-os számhoz a 26.xlsx-ben lévő D22-es cellában lévő adat tartozik. Mindenegyik file struktúrája azonos, szóval mindegyik file-ban a D22-es cellában van a kívánt adat. A kérdésem az lenne, hogy hogyan lehetne erre a legegyszerűbben hivatkozni? Nem szeretném egyenként bepötyögni mindegyik cellába, hogy =[26.xlsx]Sheet1!$D$22. A 26 helyére nem lehetne beírni valahogy a cellahivatkozást? Pl. =["A2".xlsx]Sheet1!$D$22, ahol az A2 a cella értéke lenne.

 

Előre is köszönöm a segítséget,

 

Balázs

Delila10 Creative Commons License 2012.07.24 0 0 18353

Nézd meg a súgóban a csoportba foglalást, vagy tagolást. Ezzel ugyan nem lesznek a napjaid egy legördülőben, de prímán alkalmazható a napi tételek kibontására, bezárására. Csinos külsőt is adhatsz neki a fő- és alsorok formázásával.

Előzmény: kissbrigit (18339)
tbando Creative Commons License 2012.07.24 0 0 18352

Tovább gondolva a problémádat, egyre határozottabban úgy érzem, hogy a megoldására az FKERES sokkal praktikusabb, mint HIPERHIVATKOZÁS. Akkor a NEVEK adásával sem kell bajlódnod, elég ha minden rekordot egyedi azonosítóval látsz el az 1.sz táblázatodban. És amikor beszúrsz egy új sort, az is kap egy azonosítót. Sőt, a későn a kapott rekordot sem kell beszúrni, nyugodtan írhatod a táblázat folytatásába. Aztán bármikor ha szükségesnek látod,sorba rendezheted mondjuk dátum szerint. 

 

tbando Creative Commons License 2012.07.24 0 0 18351

Ha jól értem a problémádat, akkor megoldás lehet, hogy nem cellára hivatkozol, hanem NÉV-re. Ehhez a hivatkozandó cellákat elnevezed, ami elég gyorsan megy a NÉV létrehozása (2003) ill. a NÉV Kijelölésből új (2007) paranccsal. A Név kezdetként lehet akár a cella hivatkozása is, elé bigyesztve 3-4 betüt, az utólag beszurtaknál egy kicsit variálsz rajta.

Előzmény: djmorphy (18327)
tbando Creative Commons License 2012.07.24 0 0 18350

Esetleg érdemes lehet még az 1-2 táblázatot kiegészíteni egy-egy FKERES függvénnyel, amellyel az adott összefűzött formátumra a 3. táblázatban keresel rá. Ha helyes eredményt ad, ok, ha viszont hibát jelez, akkor hibásan írtad be, így rögtön ki tudod javítani, és így elkerülöd, hogy a 3. táblázat hibás adatokat tartalmazzon.

Előzmény: tbando (18349)
tbando Creative Commons License 2012.07.24 0 0 18349

Én 3 táblázattal oldanám meg a cipőkészlet problémát.  Az első a készlettáblázat, ami folyamatosan bővül ahogy töltöd fel a készletet. A második az eladási táblázat ami szintén folyamatosan bővül a rendelések szerint. E két táblázat minimum 5 oszlopból állna: cipő fazonja, színe, mérete, és ezek összefűzve (tehát pl: edzőcipő, barna, és 42 vmint összefűzve edzőcípőbarna42), az 5.-be meg az adott feltöltés/rendelés darabszáma.  E 2 táblázatot folyamatosan bővíted.

 

A harmadik táblázat lesz az ami téged érdekel, a pillanatnyi készlet.  Ez tartalmazza az összes cipőkombinációt szép sorban, fazon, szin, méret, ezek összefűzve,  és a pillanatnyi darabszámuk. Az első 4 oszlopot értelemszerűen te adod meg, az 5-ikbe pedig beírod az alábbi szumha kivonást, amihez tételezzük fel, hogy a táblázat oszlopai az 1-2-3 munkalapokon az ABCDE oszlopokban vannak, a D-ben az összefűzött formátum és az E-ben a darabszám. Ekkor a szumha kivonás képlete:

 

=szumha(ML1!$D$1:$D$65000;ML3!Dx;ML1!$E$1:$E$65000)-szumha(ML2!$D$1:$D$65000;ML3!Dx;ML2!$E$1:$E$65000)

 

A képletben a Dx-ből az x az adott cellasor sorszáma. Az első szumha függvény a beérkező cipőket összegzi kombinációnként, a második meg a kimenőket, a különbségük meg értelemszerűen a pillanatnyi állapotot.

 

A forgalomtól függően időnként célszerű lehet a felesleges rekordok törlése. Ekkor az 3. táblázatot megteszed 1. táblázatnak is (a darabszámokat fixálva) a 2. táblázatból meg törlöd az adatokat.

 

Mindegyik táblázatra érdemes a helyben szűrést is rászerkeszteni, mert akkor csak beírod a kritériumcellába ill. cellákba hogy mire vagy kíváncsi, és már mutatja is. pl. a darabszáméba, hogy <3, akkor kilistázza az összes cipőféleséget amelyikből kevesebb van mint 3.  

 

 

Előzmény: Évi_Mirtill (18344)
aletheia88 Creative Commons License 2012.07.22 0 0 18348

sziasztok!

 

vba segitségre lenne szükségem:

 

egy weblapról szeretnék táblázatot importálni, viszont nem találom a "table id"-t. milyen makróval tudnám megtalálni, pontosabban importálni a kérdéses táblázatot?

 

a következő makrot találtam, viszont syntax errort kapok az

indításkor....

 

Sub GetTableRow()
   
    Dim ieApp As InternetExplorer
    Dim ieDoc As Object
    Dim ieTbl As Object
    Dim i As Long, j As Long
   
    Const sURL As String = http://finance.yahoo.com/loan”
   
    ‘Create new IE instance
   Set ieApp = New InternetExplorer
   
    ‘Go to url
   ieApp.Visible = True
    ieApp.Navigate sURL
   
    ‘Wait for page to load
   Do
        DoEvents
    Loop Until ieApp.ReadyState = READYSTATE_COMPLETE
   
    Set ieDoc = ieApp.Document
   
    ‘Loop through all the elements in the document via the ‘all’ property
   For i = 0 To ieDoc.all.Length – 1
        ‘Only look at tables
       If TypeName(ieDoc.all(i)) = “HTMLTable” Then
            Set ieTbl = ieDoc.all(i)
            ‘I want to check the 3rd row (.Rows(2)) and will get an error if there
           ‘are less than three rows.
           If ieTbl.Rows.Length > 2 Then
                ‘Here’s the text in the first cell of the third row that tells me
               ‘I have the right table
               If ieTbl.Rows(2).Cells(0).innertext = “15-yr Fixed” Then
                    ‘Loop through the cells and write to the sheet
                   For j = 0 To ieTbl.Rows(2).Cells.Length – 1
                        Sheet1.Cells(1, j + 1).Value = ieTbl.Rows(2).Cells(j).innertext
                    Next j
                End If
            End If
        End If
    Next i

    ‘Alternative method – when you figure out that i = 132 in the above loop
   ‘you can refer to that element directly.  But beware, web sites change and
   ‘they don’t have the decency to even call you.
   
‘    Set ieTbl = ieDoc.all(132)
‘    For j = 0 To ieTbl.Rows(2).Cells.Length – 1
‘        Sheet1.Cells(1, j + 1).Value = ieTbl.Rows(2).Cells(j).innertext
‘    Next j

   ieApp.Quit
    Set ieApp = Nothing
   
End Sub

 

 

 

köszi a segítséget előre is....

Évi_Mirtill Creative Commons License 2012.07.22 0 0 18347

Köszi szépen a választ!

Erre így én is gondoltam, csak én külön munkafülön szeretném vezetni, hogy melyik vevő, mikor, melyik cipőt, milyen színben és méretben vette. És ehhez kellene valami függvény, hogy ha beírom hogy pl. 1-es cipőt, fehér színben, 37-es méretben, 1 db-ot vesz, akkor a másik munkafülön lévő készlet táblázatból ezt a típust és méretet automatikusan levonja.

Accessen is gondolkodtam, de ahhoz még ennyire se értek :) 

Előzmény: Sánta Kutya (SK) (18346)
Sánta Kutya (SK) Creative Commons License 2012.07.21 0 0 18346

Bár mondjuk azon is érdemes elgondolkodni, hogy 280 féle tételt hogyan tudsz áttekinteni a képernyőn. Lehet, hogy inkább Accessben fognék hozzá, ahol célzott lekérdezéseket és jelentéseket lehet csinálni. Végül is a végeredmény kifér egy képernyőre, 14*20-as elrendezésben, csak a szállítmányok meg a megrendelések kezelésehez kell sokat rángatni a gördítősávot.

Előzmény: Évi_Mirtill (18344)
Sánta Kutya (SK) Creative Commons License 2012.07.21 0 0 18345

Persze kihagytad a beérkező szállítmányokat, különben hamar üres lenne a boltod. Valahol vezetned kell a beérkező cipőket is.

A képlet az, hogy mindegyik fajtából van

a) egy nyitókészlet (fajtánként egy cella)

b) beérkező szállítmány (mondjuk fajtánként egy oszlop valamelyik fülön, ami nem feltétlen folytonos, ha a sorok a dátumok, és egy nap csak kék cipő érkezett, zöld meg nem)

c) megrendelések (fajtánként egy oszlop)

d) készlet (fajtánként egy cella) = nyitókészlet + SZUM(beérkező) - SZUM(eladott)

Előzmény: Évi_Mirtill (18344)
Évi_Mirtill Creative Commons License 2012.07.21 0 0 18344

Sziasztok!

Egy kis segítséget szeretnék kérni mint mondhatni amatőr exceles.

Egy készlet nyilvántartást szeretnék készíteni, ahol az egyik munkafülön vezetném az aktuális készletet a termékekről (20 féle cipő, mindegyik cipő kétféle színben, színenként 7 méretben). A második munkafülön pedig vezetném a beérkező megrendeléseket.

Azt szeretném, ha a megrendelés kitöltésével az első munkafül automatikusan frissülne és levonná az eladott mennyiséget a készletből.

Biztos nagyon egyszerű a megoldás, de én nem értek hozzá :(

Tudnátok segíteni hogyan kezdjek hozzá?

 

köszönöm!

 

Sánta Kutya (SK) Creative Commons License 2012.07.20 0 0 18343

Aha. Tényleg. Köszi.

Előzmény: Törölt nick (18342)
Törölt nick Creative Commons License 2012.07.20 0 0 18342

jó az adatérvényesítés csak csak kapcsold ki a hibajelzés fülön amit kell

Előzmény: Sánta Kutya (SK) (18341)
Sánta Kutya (SK) Creative Commons License 2012.07.20 0 0 18341

Tudok-e 2007-ben olyasmit csinálni, mint az érvényesítés, hogy egy legördülő listából ajánljon fel értékeket, de engedjen mást is beírni?

Törölt nick Creative Commons License 2012.07.20 0 0 18340

szerintem pivottábla (kimutatás tábla) kell neked. Abban úgy pakolgatsz/szűrsz mindent ahogy akarsz

Előzmény: kissbrigit (18339)
kissbrigit Creative Commons License 2012.07.20 0 0 18339

Konkrétan egy hétre kell pénzügyi elemzést készítenem. Az adott héten belül napokra is bontanom kell. A hét adatait tartalmazó oszlop fejlécében legördülő listaként szeretném elhelyezni a napokat, és azokra kattintva elérhetővé tenni a naponkéni bontás adatait,amit vagy agy külön munkalapon, vagy szomszédos oszlopként helyeznék el, ha lehetséges. A legördülő lista elhelyezéséig vagyok képben, utánna már sajnos nem tudok megoldást.

Előzmény: Törölt nick (18338)
Törölt nick Creative Commons License 2012.07.20 0 0 18338

mit értessz a legördülő lista és a hivatkozás alatt?

Előzmény: kissbrigit (18337)
kissbrigit Creative Commons License 2012.07.20 0 0 18337

Azért köszi! Akkor valószínű megoldom hivakozással, egy külön munkalapon. Lenne még egy kérdésem: legördülő lista adataihoz lehet hivatkozást csatolni?

Előzmény: Törölt nick (18336)
Törölt nick Creative Commons License 2012.07.19 0 0 18336

nincs ilyen funkció. az a beállítás csak a kimutatástábládra vonatkozik, nem annak utódképleteire.

Előzmény: kissbrigit (18335)
kissbrigit Creative Commons License 2012.07.19 0 0 18335

Sziasztok!

 

Segítséget szeretnék kérni. A problémám a következő: adott egy adat tábla amiből egy másik munkalapon készítek egy kimutatást. Egy harmadik munkalapon az elkészült kimutatás adataival kell dolgozzak. Ezt én kimutatás adat függvénnyel oldottam meg. A gondom az, hogy a 2. munkalapon, ahol  a kimutatás szerepel, elérhetőek a "háttér" adatok dupla kattintással. Ugyanez a 3. munkalapon már nem működik. Nem lehet megoldani valahogy, hogy a kimutatásból vett adatokra kattintava a 3. munkalapon is lássam az alaptáblám (1.munkalap) adatait?

 

Előre is köszi!

pippancs Creative Commons License 2012.07.18 0 0 18334

Örülök, hogy segíthettem :-)

Előzmény: Redlac (18333)
Redlac Creative Commons License 2012.07.18 0 0 18333

Köszi, így már érthető.

 

És ez a 3. cella pláne remekül vizsgálja azt, ami nekem kellene :-)

Előzmény: pippancs (18315)
Frajti Creative Commons License 2012.07.18 0 0 18332

Köszi, közben megoldottuk máshogy, nem olyan, ahogy gondoltam, de határesetként még jó. :)

Előzmény: Törölt nick (18331)
Törölt nick Creative Commons License 2012.07.18 0 0 18331

na megnéztem, de nem küldöm vissza mert a védett munkalap miatt nem engedi kiszedni a személyes információkat. Makró nem volt ebben amit küldtél. De nem is tennék bele, mert nem fog funkcionálni, ha ezt más-más biztonsági beállításokkal bíró gépen nyitják meg. (Ha jól értem, ezt bárki bárhol kitöltheti)

Nem tudtam tényleg adatérvényesítéssel megoldani, h ha üres, akkor ne tudjon bele írni. (Ez csak az én bénaságom, biztosan meg lehet valahogy)

2. feltételes formázással el tudod "tüntetni" az igen/nem válasz alatti cellákat. Ez jól is néz ki és kielégíti azt az igényt is h ne tudjon oda írni (mert nem lesz hová)

Előzmény: Frajti (18330)
Frajti Creative Commons License 2012.07.18 0 0 18330

köszi , küldtem :)

Előzmény: Törölt nick (18329)
Törölt nick Creative Commons License 2012.07.18 0 0 18329

dobd már fel azt a munkafüzetet az itteni emailemre és írd le pontosan h mit akarsz

kizárt hogy ehhez makró kell.

Előzmény: Frajti (18328)
Frajti Creative Commons License 2012.07.18 0 0 18328

Ha erre valaki másnak is van ötlete, jelentkezzen a frajti kukac frajt pont hu címen, mert Delila eltűnt, nekem meg meg kéne oldanom ezt a gondot. Köszi.

Előzmény: Frajti (18324)
djmorphy Creative Commons License 2012.07.18 0 0 18327

Sziasztok!

 

Tudnátok mondani ötletet, hogy dinamikus könyvjelzőt hogyan lehetne excelben csinálni? Mert egy munkafüzet ahova felrögzítem az adatokat kézzel érkezés szerint. Egy másikra pedig csak az értéket, hogy 1000db. Az 1000db-ra csinálok egy hiperhivatkozást. De van, hogy egy dokumentumot később kapok meg de mondjuk két héttel ezelőtti dátumozással. Így ahova az egységet írom be be kell szúrjak egy sort de innentől kezdve nem működik a hiperhivatkozás ami az alatta lévő cellákban van. Szóval valami olyan megoldás kellene aminek nem függvénye a sor/oszlop beszúrás. Mint pl a sima összedásnál ha beszúrok egy sort a 10-sor elé akkor automatikusan a képletben 11 lesz mindenhol ami arra hivatkozik

Sánta Kutya (SK) Creative Commons License 2012.07.17 0 0 18326

Azonban ha index és hol.van függvényt használok fkeres helyett, akkor megúszható a teljes oszlop másolása, ugye?

Előzmény: Törölt nick (18206)
Frajti Creative Commons License 2012.07.17 0 0 18325

Delila! küldtem egy privát üzenetet! :)

Előzmény: Frajti (18324)
Frajti Creative Commons License 2012.07.17 0 0 18324

Na, annyira jtuottunk, hogy átírtam a túl sok igent, így:

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Protect UserInterfaceOnly:=True

If Target.Address = "$C$62" And Target.Value = "igen" Then
Range("B64").Locked = False
ElseIf Target.Address = "$C$62" And Target.Value <> "nem" Then
Range("B64").Locked = True
End If

If Target.Address = "$C$68" And Target.Value = "igen" Then
Range("B70").Locked = False
ElseIf Target.Address = "$C$68" And Target.Value <> "nem" Then
Range("B70").Locked = True
End If

If Target.Address = "$C$74" And Target.Value = "igen" Then
Range("B76").Locked = False
ElseIf Target.Address = "$C$74" And Target.Value <> "nem" Then
Range("B76").Locked = True
End If
End Sub

 

Ezzel most jó a makró, csak az egész sheet-et lockolja, márpedig nekem csak azt a három cellát kéne, hogy lockolja.

Előzmény: Delila10 (18301)
djmorphy Creative Commons License 2012.07.17 0 0 18323

Áh bocs... Hamarább járt a kezem mint az agyhelyem... Habár semilyen adatérvényesítést nem csináltam... Csak nagyon felbosszantott, hogy pont arra az egy cellára nem tudok írni amibe nagyon kellene.

Előzmény: djmorphy (18322)
djmorphy Creative Commons License 2012.07.17 0 0 18322

Hol tudom korlátozni a beírt értéket? Mert egy cellába akarok írni valamit és azt az üzenetet dobja, hogy "a beírt érték érvénytelen. Egy felhasználó korlátozta a cellába írható értéket"

Frajti Creative Commons License 2012.07.17 0 0 18321

Nem értek a makrókhoz, de ahogy nézem ezt, amit át kell másolni, valami nem stimmel. Csak az igen szerepel, és minden Locked. Vagy én nem értek vmit jól?

Előzmény: Delila10 (18301)
tbando Creative Commons License 2012.07.17 0 0 18320

Az Office.comon többek közt ez a szöveg olvasható a Keresés-Csere leírásánál:

 

Megjegyzés:    Az Értékek és a Megjegyzések elem csak a Csere lapon adható meg. 

 

Na most nálam nem így van. A Csere lapon csak képlet adható meg, de nem tudni miért, mert eszében sincs specifikálni a cseréket,  cseréli az értékeket is meg a képletekben szereplő karaktereket is. A Keresés lapon viszont kereshető a szöveg az értékben, a képletben és a megjegyzésben is. A 2003-ban is, meg a 2007-ben is.

 

Nálatok hogy van? Tudtok-e olyan beállítást javasolni, amivel a cseréket is tudom specifikálni? Nevezetesen, hogy csak az értékeket cserélje, és ne barmolja össze a hivatkozásokat  

Frajti Creative Commons License 2012.07.16 0 0 18319

Itthon is kipróbáltam, laphoz rendeltem, makróbarátként elmentve, és itt is ugyanazt a hibát dobja. :/

Előzmény: Delila10 (18316)
djmorphy Creative Commons License 2012.07.16 0 0 18318

Erre tudnátok adni valami olvasmányt?! Mi a különbség a Korrektúra/lapvédelem-füzetvádelem és a File/Információ/füzetvédelem között. Csak le akarom védeni azt a részt ahol a számításokat végzem, mert előfordulhat hogy csoportmunka lesz belőlle és nem akarom, hogy belenyúljon a képletekbe mert azt visszafejteni, hogy hol barmolták szét...

Előzmény: djmorphy (18275)
Frajti Creative Commons License 2012.07.16 0 0 18317

Mentés előtt már dobta a hibát. A Sheet1-en jobb gomb view code-ba nyomtam. Gondolom ott kellett. Holnap megnézem megint.

Előzmény: Delila10 (18316)
Delila10 Creative Commons License 2012.07.16 0 0 18316

2007-ben is hibátlanul működik. A laphoz rendelted? Menteni makróbarátként kell.

Előzmény: Frajti (18312)
pippancs Creative Commons License 2012.07.16 0 0 18315

Egyik cella (pl.: M47) :

=HA(HIBÁS(FKERES(U47;$X$47:$Y$202;2;IGAZ));"";FKERES(U47;$X$47:$Y$202;2;IGAZ)) 

másik cella (pl.: N47) :

=HA(HIBÁS(FKERES(U47;$X$47:$Y$202;2;HAMIS));"";FKERES(U47;$X$47:$Y$202;2;HAMIS)) 


a harmadik cella (pl.: O47) pedig

HA(M47<>N47;ÖSSZEFŰZ(M47;N47);M47)

Előzmény: Redlac (18285)
Frajti Creative Commons License 2012.07.16 0 0 18314

Az igen/nem cellán (C62) van adatérvényesítés, listából (Sheet2-ről) választja ki e kettő megoldását. Nekem a további B64-es (és a másik kettő ugyanezen analógián szereplő) cella írhatóságát, illetve nem írhatóságát kéne megoldanom. Minden esetben, kivéve az igen, a cella írhatatlan legyen. :)

Előzmény: Törölt nick (18313)
Törölt nick Creative Commons License 2012.07.16 0 0 18313

akkor raksz az igen/nem cellára is adatérvényesítést, hogy csak ezek lehessenek benne. Marha egyszerű.

De meg lehet csinálnI AZT AZ ÉRVÉNYESÍTÉST ÚGY IS, HOGY ÜRESRE IS MŰKÖDJÖN...

opp caps lock véletlen, elénézst.

Előzmény: Frajti (18300)
Frajti Creative Commons License 2012.07.16 0 0 18312

2007-es.

Előzmény: Delila10 (18309)
Jozsef Creative Commons License 2012.07.16 0 0 18311

Egy jó megoldás kell, vagy az összes?

Ha egy jó megoldás kell, akkor az Solver-rel könnyen meg lehet oldani (esetleg még olyat is, amikor a jó megoldások közül valamilyen kritérium alapján pl. legkevesebb darabból álló részhalmaz stb. kell választani)

Solveres megoldás:

1. Beírod az N db számot mondjuk az A oszlopba (A1:A"n")

2. A B oszlopba mellette csupa 0-val feltöltöd (B1:B"n")

3. C1-be beírod a következő képletet =SZORZATÖSSZEG(A1:A"n";B1:B"n") (most nullát kell kapnod)

4 D1-be beírod a "K" Számot

5. behozod a Solvert

Célcella: üresen marad

Módosuló cella: B1:B"n"

Korlátozó feltételek:

B1:B"n" bináris érték

$C$1=$D$1

A Beállítás gombra Lineáris modell feltételezése bekattintva

Megoldás gomb

 

Ha további feltételeket még a Korlátozó feltételekben adhatsz meg.

 

 

 

Ha az összes kell, akkor VBA programozással több fajta módszerrel megoldható, én speciel  backtrack algoritmussal kezdenék hozzá.

Előzmény: Stew01 (18308)
Delila10 Creative Commons License 2012.07.16 0 0 18310

Jimmy The Hand ezt már megoldotta, nézz körül a hozzászólásaiban. Nagy munka lesz, de megéri.

 

Talán valaki meg tudja saccolni, hogy mennyi ideje volt erről szó, esetleg jó kulcsszót is ad a kereséshez.

Előzmény: Stew01 (18308)
Delila10 Creative Commons License 2012.07.16 0 0 18309

Melyik verziót használod?

Előzmény: Frajti (18307)
Stew01 Creative Commons License 2012.07.16 0 0 18308

Sziasztok!

 

Azon gondolkoztam, hogy lehetne megoldani a problémát:

 

Van egy "n" darabból álló számsorozat. "k" szám az az összeg, amit "n" számsor egyes elemeinek összegeként kapunk meg. Olyan megoldás kéne, ami megvizsgálja az "n" számsorozat elemeinek összegét, és kiemeli azokat a kombinációkat, melyek összege pont "k".

 

Valakinek van ötlete?

 

Előre is köszönöm,

 

Csaba

Frajti Creative Commons License 2012.07.16 0 0 18307

ó bakker :)

 

viszont bemásoltam, és most meg ezt mondja:

 

unlock is megvolt

Előzmény: Delila10 (18305)
mimi_bacsi Creative Commons License 2012.07.16 0 0 18306

Köszönöm a válaszodat, levelet (is) küldtem!

Előzmény: Delila10 (18290)
Delila10 Creative Commons License 2012.07.16 0 0 18305

Az utolsó sort (End Sub) is másold be a makró végére!

Előzmény: Frajti (18304)
Frajti Creative Commons License 2012.07.16 0 0 18304

Köszi, de így is error van.

Előzmény: Delila10 (18303)
Delila10 Creative Commons License 2012.07.16 0 0 18303

A lapvédelem előtt a C oszlopon (vagy csak a 3 cellán) vedd ki a zárolást!

Előzmény: Frajti (18302)
Frajti Creative Commons License 2012.07.16 0 0 18302

Szia!

 

Köszi a leírást. Viszont, ez valahogy nem működik, hibát ír ki, ill. kiválasztottam, hogy nem, és onnantól a cella tartalmát nem tudtam törölni, átÍrni. Pedig módosítható kéne legyen. :S (mármint a C62-t)

Előzmény: Delila10 (18301)
Delila10 Creative Commons License 2012.07.16 0 0 18301

Ímé az új makró a megfelelő cellákhoz:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.Protect UserInterfaceOnly:=True
    
    If Target.Address = "$C$62" And Target.Value = "IGEN" Then
        Range("B64").Locked = False
    ElseIf Target.Address = "$C$62" And Target.Value <> "IGEN" Then
        Range("B64").Locked = True
    End If
    
    If Target.Address = "$C$68" And Target.Value = "IGEN" Then
        Range("B70").Locked = False
    ElseIf Target.Address = "$C$68" And Target.Value <> "IGEN" Then
        Range("B70").Locked = True
    End If
    
    If Target.Address = "$C$74" And Target.Value = "IGEN" Then
        Range("B76").Locked = False
    ElseIf Target.Address = "$C$74" And Target.Value <> "IGEN" Then
        Range("B76").Locked = True
    End If
End Sub

 

Tehát a lapodhoz rendeld úgy, hogy a lapfülön jobb klikkre előjön egy gyorsmenü, abból a Kódlap megjelenítését választod. Ezzel bejutottál a VB szerkesztőbe, a jobb oldali üres lapra másold be.

Előzmény: Frajti (18293)
Frajti Creative Commons License 2012.07.16 0 0 18300

Ezzel csak annyi a baj, ha véletlen üres marad az "igen" négyzet (ugye erre be lett állítva egy másik érvényesítés, hogy vagy igen v. nem), ha nem választ ki semmit, akkor enged írni ugyanúgy, csak a nem esetén figyelmeztet ugye.

Előzmény: Törölt nick (18299)
Törölt nick Creative Commons License 2012.07.16 0 0 18299

de deee

B64-re:

Érvényesítés, beállítások, egyéni

=$C$62="igen"

Előzmény: Frajti (18298)
Frajti Creative Commons License 2012.07.16 0 0 18298

Hát azzal nem igazán találtam rá megoldást, hogyha c62=igen, akkor b64 writable.

Előzmény: Törölt nick (18297)
Törölt nick Creative Commons License 2012.07.16 0 0 18297

szerintem "adatérvényesítés"-el jól megoldható ez.

Előzmény: Frajti (18291)
Frajti Creative Commons License 2012.07.16 0 0 18296

na, kissé szét vagyok csúszva, szóval az egy kérdés volt. :)

Előzmény: Frajti (18295)
Frajti Creative Commons License 2012.07.16 0 0 18295

ez egy kérdés?

Előzmény: Frajti (18294)
Frajti Creative Commons License 2012.07.16 0 0 18294

Egyszerű IF függvénnyel ezt nem lehet megoldani, hiszen csak három celláról van szó.

Előzmény: Frajti (18293)
Frajti Creative Commons License 2012.07.16 0 0 18293

Ez klassz volna, bár nem sokat értek belőle, makrókkal nem sok dolgom volt. Viszont ami biztos, nem oszlopokról van szó.

Hanem egy munkalap 3 db cellájáról (C62 C68, C74), ha ezekbe igent választ a kedves vevő, akkor kéne, hogy C62 igenje esetén B64, C68 esetén B70 és C74 esetén B76 írhatóvá váljék, amúgy semilyen esetben ne legyen ez a három cella írható. Gondolom létezik erre is megoldás.

Köszi előre is, és bocsánat amatőrizmusomért. :)

Előzmény: Delila10 (18292)
Delila10 Creative Commons License 2012.07.16 0 0 18292

Laphoz rendelt makróval megoldható.

 

A lenti makró az A oszlopba történő bevitelt figyeli, és a bevitt szöveg alapján zárolja, illetve feloldja a B oszlop azonos sorában lévő cella védelmét. A lapot le kell védened, előtte pedig azoknál a celláknál, ahova szabadon írhat a felhasználó, meg kell szüntetned a zárolást.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.Protect UserInterfaceOnly:=True
    
    If Target.Column = 1 Then
        If Target = "IGEN" Then
            Range("B" & Target.Row).Locked = False
        Else
            Range("B" & Target.Row).Locked = True
        End If
    End If
End Sub

Előzmény: Frajti (18291)
Frajti Creative Commons License 2012.07.16 0 0 18291

Szuper lett a dolog, köszi!

 

Viszont még egy kérdésem akad ebből. :)

 

Hogyha van egy olyan cellám, amiben igen v. nem közül választhat. Be tudom-e állítani (tuti be), hogy abban az esetben, ha igent választ, akkor egy másik cellában csak és kizárólag akkor legyen írható az a cella, ha előbbiben az IGEN szó szerepel.

Ezt, hogy tudnám megcsinálni?

Előzmény: djmorphy (18288)
Delila10 Creative Commons License 2012.07.16 0 0 18290

Vedd ki a második FKERES elől a nyitó zárójelet, az első után pedig tegyél egy zárót!

Előzmény: mimi_bacsi (18282)
Frajti Creative Commons License 2012.07.16 0 0 18289

Hú, ez asszem jobb, mint reméltem! :) Köszi!

Előzmény: djmorphy (18288)
djmorphy Creative Commons License 2012.07.16 0 0 18288

Hali!

 

Megmondom őszintén még így kávé közben nem igazán fogtam fel a kérdésed! De szerintem ezt egy sima legördülő listával is meg tudod oldani. Ha elkezdi beütni a választ, hogy "Csok" és nyom egy tabulátort akkor kiegészíti "Csokitortára" automatice. Ezzel tudod korlátozni is, hogy mást nem írhat be mint a megengedett. Szóval "fűnyírót" ír be akkor hibát dob.

Itt van egy videó, hogy csinálja: 

Előzmény: Frajti (18287)
Frajti Creative Commons License 2012.07.16 0 0 18287

Sziasztok excel-guruk! :)

Egy amatőr kérdésem lesz, szóval tuti sima és egyszerű a válasz, de nem tudom, mi is a legjobb megoldás rá. :)

 

Adott egy kérdés-felelet választós excel tábla, amiben néhol a kérdésre fix 6-10 féle válasz adható csak. Gondolkodtam, hogy miként lehetne ezt könnyen megcsinálni. Mivel a kérdésekre a válaszokhoz van segítség, tehát néhány cella, amiben a megadható válaszok vannak, így az a kérdés, hogy a legjobb megcsinálni, számokhoz társítani, és akkor azt beállítani, hogy csak ezeket az értékeket veheti fel a cella (1,2,3,4,5,6), és akkor ha ezen számokat beírja az illető, akkor hozzátársítja az adott választ. Ill.  ez hülyesége?

vagy csináljam simára, és mindenki beírja, amit akar. Esetleg valami jobb ötlet?

Illetve ugyanezen táblában lesz olyan kérdés is, amire igen vagy nem a válasz. És van egy olyan kitétel, hogy amennyiben igen, akkor még egy kérdés van. Erre van valami külön ötlet?

 

Ha válaszoltok, mérlegeljetek, hogy a legnagyobb tudásom excelben a hol van, a vkeres és hasonló függvények. :)))

Törölt nick Creative Commons License 2012.07.15 0 0 18286

akkor mi az előzménye annak a 508-as hibának?

Előzmény: mimi_bacsi (18284)
Redlac Creative Commons License 2012.07.15 0 0 18285

Ne haragudj, nem értem...

 

Ez van az első cellában: =FKERES(U47;$X$47:$Y$202;2;IGAZ)

A 2.-ban ugyanez, csak hamis a vége, mert egyes eredmények az igaz-ra, mások, meg a hamis-ra adnak hibát.

Ezt a kettőt szeretném vizsgálni, és a valós eredményt továbbvinni.

 

Nem értem, hogyan alakulna át ez az fkeres.

Előzmény: pippancs (18281)
mimi_bacsi Creative Commons License 2012.07.15 0 0 18284

Makró biztos, hogy nincs, mondhatnám úgy is, makróbiztos a munkalapom...:-)))

Előzmény: Törölt nick (18283)
Törölt nick Creative Commons License 2012.07.15 0 0 18283

hát ez működőképesnek tűnik így látatlanul - a 508-as hiba nem ettől van az biztos. Nincs makró a háttérben valahol?

Előzmény: mimi_bacsi (18282)
mimi_bacsi Creative Commons License 2012.07.15 0 0 18282

Ezzel a függvénnyel kapcsolatban van nekem is kérdésem:

 

Két adatbázisom van,

 

Az egyikben egymás utáni napok vannak felsorolva ilyen formátumban

2012-06-17

2012-06-18

2012-06-19

2012-06-20

2012-06-21

2012-06-22

2012-06-23

2012-06-24

2012-06-25

2012-06-26

2012-06-27

2012-06-28



A másikban a formátumok azonosak az első adatbázishoz, de itt vannak hiányzó napok

2012-06-17 12

2012-06-19 2

2012-06-20 9

2012-06-22 1

2012-06-23 10

2012-06-26 23

2012-06-27 6

 


Az FKERES függvénnyel szeretném a második adatbázis értékeit hozzárendelni az első adatbázis azonos napjaihoz.

Ezzel nincs is gondom, a problémám az, hogy ahol nem talál egyezést, ott a "Hiba:508" hibaüzenetet kapom és azt szeretném elérni, hogy ahol nincs egyezés, oda ne írjon semmit!

A függvényem így néz ki =HA(HIBÁS(FKERES($A4;V5:W47;2);" ";(FKERES($A4;V5:W47;2))

 

Továbbra is hibaüzenetet ír, kérem és várom a segítségeteket!

Előzmény: pippancs (18281)
pippancs Creative Commons License 2012.07.15 0 0 18281

Első két oszlopba így tenném az FKERES-t:

=HA(HIBÁS(FKERES(A6;...));"";FKERES(A6;...)) 

ha hibás akkor üres marad a cella, ha nem akkor pedig kapod a keresés eredményét

 

a harmadik oszlop pedig

HA(A6<>B6;ÖSSZEFŰZ(A6;B6);A6)

Előzmény: Redlac (18279)
mimi_bacsi Creative Commons License 2012.07.14 0 0 18280

Köszönöm! :-)

Előzmény: Törölt nick (18277)
Redlac Creative Commons License 2012.07.14 0 0 18279

Sziasztok!

 

Van két egymás mellett lévő oszlopom, melyekbe fkeres függvény hoz eredményt (vagy érték hibát)

 

Egy 3. oszlopban a két előző fkeres függvény eredményéből (vagy értékhibából) szeretném azt megjeleníteni, amelyik eredményt ad.

 

Ha mindkettő hibát ad, ne írjon semmit. 

 

Tehát az esetek:

- Mindkettőben ugyanazt az eredményt adja - a 3. oszlopba az eredményt.

- Az első eredmény, a 2. hiba - a 3. oszlopba az eredményt.

- Az első hiba, a 2. eredmény - a 3. oszlopb az eredményt.

- Mindkettő hiba - a 3. oszlopba semmi.

 

Már jó ideje keverem a ha, vagy, és függvényeket, de lecsó...

 

Tudnátok segíteni?

Törölt nick Creative Commons License 2012.07.14 0 0 18278

na Jimmy, úgy jártam mint te, de szerencsére küldés előtt nyomtam egy ctrl+a ctrl+c-t

Előzmény: Törölt nick (18277)
Törölt nick Creative Commons License 2012.07.14 0 0 18277

hát, több lehetőséged van...

1. DÁTUM() függvény, amelyben szövegkonverziós függvényekkel kiszeded az évet, hót, napot.

2. Szövegből oszlopok funkcióval oszlopokra szeded a cellát és a DÁTUM() függvénnyel elkészíted a dátumot, amit úgy formázol márahogy akarsz.

3.

=DÁTUM(JOBB(A1;4);ExtractElement(A4;2;"/");ExtractElement(A4;1;"/"))

 

a felhasználói függvény pedig (másold be egy modullapra alt+f11-re feljövő környezetben)

Function ExtractElement(str, n, sepChar)

' Returns the nth element from a string,
' using a specified separator character
Dim x As Variant
x = Split(str, sepChar)
If n > 0 And n - 1 <= UBound(x) Then
ExtractElement = x(n - 1)
Else
ExtractElement = ""
End If
End Function

 

a 3.  a legjobb szerintem.

 

 

mimi_bacsi Creative Commons License 2012.07.14 0 0 18276

Ilyen dátumformátumom (8/6/2012) van (több száz), hogy lehet egyszerűen és gyorsan az általunk használt (2012-08-06) formátumra átkonvertálni?

djmorphy Creative Commons License 2012.07.14 0 0 18275

Köszi!

A cellákat azt tudom zárolni a korrektúrában. De melyikre gondolsz, hogy tegyek rá jelszót külön-külön? Ami mellete van Füzetvédelem vagy Fájl/Információ/Engedélyek?

Amúgy mi a különbség köztük? 

Előzmény: Delila10 (18274)
Delila10 Creative Commons License 2012.07.14 0 0 18274

Zárold a 8 lapon a cellákat, és védd le a lapokat jelszóval!

Előzmény: djmorphy (18273)
djmorphy Creative Commons License 2012.07.13 0 0 18273

Sziasztok!

 

A munkafüzet védelmével kapcsolatban vannak homályaim.

Azt értem, hogy a cellát, méretezést stb le tudom védeni. De olyat is lehet, hogy mondjuk egy excel 10 munkafüzetből áll amiből 8 a számításokhoz kell és kettőn van kimutatás. Ehhez a kettőhöz bárki hozzáférhessen de a többi 8hoz csak nekem legyen jogosultságom vagy aki esetleg tudja a jelszót/bizonyos hitelesítő file megvan neki?

Redlac Creative Commons License 2012.07.13 0 0 18272

Ez a zárolós lesz a megoldás, köszi :-)

Előzmény: Törölt nick (18266)
SQLkerdes Creative Commons License 2012.07.12 0 0 18270

Rosszul tudod.

A Name ha nincs a definiciójában a dollárjel, akkor relatívhivatkozásként működik.

 

Szóval az A1 az aktív cella, amikor létrehozol egy TextString nevű nevet, ami a B1-re mutat (dollárjel nélkül).

Ekkor az excel a TextString név alkalmazásakor, mindíg a TextString-re hivatkozó cellától jobbra lévő cellát fogja jelenteni (mert a B1 a beírt "cél cella" jobbra 1 cella távolságra van a beíráskor aktív A1 cellától).

Vagyis ha a C5 cellába az írod, hogy =LEN(TextString) akkor a D5 cellában lévő karakterek számát fogja mutatni.

 

Rendkívül hasznos kis fícsör, de ha az ember nem tudja, hogy így is működhet akkor könnyedén agyvérzés-közeli állapotba kerülhet az általa vélt hibás működéstől :-)

Előzmény: Jozsef (18269)
Jozsef Creative Commons License 2012.07.12 0 0 18269

Őszintén szólva, nem értem problémádat. A név függetlenül, hogy ott van-e $ jel definícióban vagy nem, abszolút hivatkozásként "működik", ugyanis a másolt képletben ugyanaz a név fog szerepelni, ergo ugyanarra a cellára hivatkozik. Pl van a B2 cellád, elnevezed mondjuk "Kamat" névvel , és írsz egy ilyet képletet, hogy =Kamat/12. Ezt akárhová másolod, mindig =Kamat/12 marad.

(Egy probléma lehet azonban, ha különböző munkalapokon ugyanazt a nevet használod)

Előzmény: tbando (18264)
djmorphy Creative Commons License 2012.07.12 0 0 18268

Azt monta, hogy menjek melegebb éhhhájlátra! :D

Előzmény: Törölt nick (18261)
djmorphy Creative Commons License 2012.07.12 0 0 18267

Köszi szépen! Azt hittem, hogy lehet valahogy Fixálni! :)

Előzmény: Törölt nick (18262)
Törölt nick Creative Commons License 2012.07.12 0 0 18266

egyik:

amit kitölteni akarsz: cella nem zárolva

amit átugrani akarsz:  cella zárolva

majd kapcsold be a lapvédelmet

másik:

elrejted, szűröd, tagolod stb... az "átugrandó" cellákat

Előzmény: Redlac (18265)
Redlac Creative Commons License 2012.07.12 0 0 18265

Sziasztok!

 

Azt meg lehet-e oldani (2003-as), hogy egy táblán a cella kitöltése, majd az Enter lenyomása után meghatározott cellára ugorjon a kijelölés. Tehát, hogy a meghatározott sorrendben kitöltendő cellák egymás után jöjjenek. Részben egymás alatt, részben egymás mellette vannak.

 

Köszi

tbando Creative Commons License 2012.07.12 0 0 18264

Az XP a NEVEKre alapból relatívként hivatkozott, amit viszonylag könnyen lehetett módosítani. A 2007-es alapból abszolutként hivatkozik rájuk, amit csak elég körülményesen tudok megváltoztatni a Névkezelőben egyenként, ami kifejezetten idegesítő, ha sok NÉV hivatkozását kell megváltoztani. Nincs erre valami egyszerűbb módszer? De már az is előrelépés volna, ha a cellában lehetne a hivatkozás átírását megoldani. 

aletheia88 Creative Commons License 2012.07.11 0 0 18263

szia!

 

ezt találtam a neten "Using excel to login to web pages" bejegyzés alatt........

 

Sub login()
Dim ieApp As Object
Dim objBox As Object
Dim objBox1 As Object

Set ieApp = CreateObject("InternetExplorer.Application")
ieApp.Visible = True
ieApp.navigate ("https://website/logon.jsp")
Do While ieApp.busy
DoEvents
Loop
On Error Resume Next
Do While objBox Is Nothing
Set objBox = ieApp.document.getelementbyid("user_ID")
DoEvents
Loop
objBox.Value = Range("A" & CStr(ActiveCell.Row)).Value
Set objBox1 = ieApp.document.getelementbyid("password")
objBox1.Value = Range("B" & CStr(ActiveCell.Row)).Value
ieApp.navigate ("javascript:validate()")

End Sub

 

 

..... csak sajnos lövésem sincs a VB -hez.

 

 

 

Előzmény: Törölt nick (18259)
Törölt nick Creative Commons License 2012.07.11 0 0 18262

Július 1-én Másolás, Irányított beillesztés valahová, aztán amikor kell, előveszed.

Előzmény: djmorphy (18256)
Törölt nick Creative Commons License 2012.07.11 0 0 18261

Kérdezd Uri Gellert, állítólag gondolatolvasó :)

Előzmény: djmorphy (18256)
Törölt nick Creative Commons License 2012.07.11 0 0 18260

SetFocus-nak nézz utána a textbox metodikájában

Előzmény: Törölt nick (18257)
Törölt nick Creative Commons License 2012.07.11 0 0 18259

szinte biztos vagyok benne, hogy ez ebben a formában nem fog sikerülni.

Előzmény: aletheia88 (18258)
aletheia88 Creative Commons License 2012.07.11 0 0 18258

sziasztok!

 

segítséget szeretnék kérni a következőkkel kapcsolatosan:

 

egy excel táblába szertenék külső adatforrásból adatokat beolvasni. a weblap - forrás - felhasználó nevet és jelszót is kér: olyan megoldást keresek, amivel nem kell minden egyes alkalommal végigzongorázni a "külső adatforrásból beolvasás - weblapról - belépés a megadott jelszóval - majd pedig az importálandó adatok (tábla) kijelölése", csupán az adatok frissitét kellene aktiválnom.

neten keresgettem megoldást, nem sok sikerrel.

 

köszönöm,

 

.......

djmorphy Creative Commons License 2012.07.11 0 0 18256

Azt hogyan lehetne megoldani, hogy van egy oszlopom amiben értékek vannak és ez a termeléstől függően változik naponta. De havonta le kell adnom a könyvelésnek. De pl ma már nem tudom leadni a július 1. állapotot. Ezért szeretném valahogy azt rögzíteni egy oszlopba statikusan, mert van, hogy csak 2 hét múlva kérik a júli. 1.ét.

djmorphy Creative Commons License 2012.07.11 0 0 18255

Fogd meg a legelső sor tetejét és kezd el húzni lefele. Aztán ha látszik a 3 sor akkor annak a tetejét majd a 2...

Előzmény: Redlac (18250)
Törölt nick Creative Commons License 2012.07.11 0 0 18254

te kis csacsi :)

Előzmény: Redlac (18253)
Redlac Creative Commons License 2012.07.11 0 0 18253

Bakker megvan :-)

 

Az ablaktábla volt rögzítve...

 

Köszi a segítséget :-)

Előzmény: Törölt nick (18252)
Törölt nick Creative Commons License 2012.07.11 0 0 18252

vagy nézd meg nincs e tagolás, autoszűrő vagy egyéb a táblán ami sort rejt

Előzmény: Redlac (18250)
Törölt nick Creative Commons License 2012.07.11 0 0 18251
né felfedni akard mert ott a sormagassag van 0 ra allitva azt lodd be
Előzmény: Redlac (18250)
Redlac Creative Commons License 2012.07.11 0 0 18250

Sziasztok!

 

Van egy tábla, amiben az első 3 sor el van rejtve. Ezt láthatóvá szeretném tenni, de nem megy. Hiába jelölöm ki a 4. sort, és húzom felfelé az egeret (a nem látható első 3 sor irányába), a kijelölés megtörténik, de a felfedésre kattintva nem jelenik meg az első 3 sor.

 

Valami ötlet?

Tyorotyere Creative Commons License 2012.07.10 0 0 18249

Már van kerekítve is! Megnéztem csak az adott munkafüzetet számolja a látható alapján! Tehát ha újat nyitok akkor alap beállítűson van és a háttérbe számol nem a megjelenítettel! Köszönöm mindenkinek a tanácsokat és a segítséget! Neked is ZYLO !! Ha még sem lesz jó akkor írok! :D

 

Laci

Előzmény: Jozsef (18243)
zylo. Creative Commons License 2012.07.10 0 0 18248

Előzőleg kipróbáltam ezt is, de nálam nem segített.

Előzmény: E.Istvan (18246)
zylo. Creative Commons License 2012.07.10 0 0 18247

Na, ez bevált, köszönöm.

 

If Találat Is Nothing Then

    'Ide betettem, ami a hibakezelőben volt

Else

    'Ide minden egyebet a ciklus végéig

End If

 

és megy szépen, nem akad le. Tehát a hibát a hibakezelő okozta :)

 

Előzmény: Törölt nick (18242)
E.Istvan Creative Commons License 2012.07.10 0 0 18246

Nem néztem tüzetesen végig a programodat, de valószínűleg az a probléma, hogy a hibakezelés nem törli magát a hibát, így egy második hiba előfordulása már ténylegesen hibát okoz. Nekem is volt hasonló problémám. A hiba törlése nekem megoldotta a problémát.
Az összes hibakezelési részbe a programfolytatás elé írd be:
If Err <> 0 Then Err.Clear

Előzmény: zylo. (18245)
zylo. Creative Commons License 2012.07.10 0 0 18245

Tele van illetlenségekkel, mert sosem tanultam programozni. Úgy írok makrót, hogy nagyjából felveszem, amit meg kell csinálni és azt csiszolgatom a feladathoz.

 

Közben kiderült, csak akkor hal bele a második txt-be, ha az elsőt hibával zárja be (vagyis nem talál megfelelő sztringet.) Tehát tényleg itt van a kutya elásva.

 

Kösz, ezt a találatfigyelést kipróbálom.

Előzmény: Törölt nick (18242)
zylo. Creative Commons License 2012.07.10 0 0 18244

Nem erre gondoltam, de ha később sem akarsz pontosan számolni, akkor ez is jó megoldásnak látszik. A KEREKÍTÉS úgyszintén, bár azt is be kell írni minden kritikus képletbe.

Előzmény: Tyorotyere (18240)
Jozsef Creative Commons License 2012.07.09 0 0 18243

Szerintem, ezt ne állítsd át, mert máskor fogsz rossz eredményeket kapni.

Helyette javaslom a KEREKÍTÉS (régi nevén KEREK) függvény használatát, melynek második paramétere, hogy hány tizedesjegyre kerekítsen (sőt ha negatív számot adsz itt meg, -1->10, -2 ->100, -3->1000 stb. -re fog kerekíteni)

Előzmény: Tyorotyere (18240)
Törölt nick Creative Commons License 2012.07.09 0 0 18242

Szerintem az egész kódot át kellene írni, mert tele van olyan illetlenségekkel, mint GoTo, Select, Activate vagy ActiveCell.

Erre most nem vállalkozom.

De a "Nem talált" állapotot hibakezelő nélkül is le lehet kezelni. Így:

 

Dim Találat As Range

Set Találat = Cells.Find(What:=ipdata(v), After:=ActiveCell, LookIn:=xlFormulas, _

                        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _

                        MatchCase:=False, SearchFormat:=False)

If Találat Is Nothing Then

    'Nincs ilyen cella

Else

    'Van ilyen cella, és az van a "Találat" nevű változóhoz rendelve.

End If

 

Előzmény: zylo. (18236)
Sánta Kutya (SK) Creative Commons License 2012.07.09 0 0 18241

Köszi, utánanézek mind a kettőnek. De vajon adatbiztonsági szempontból alkalmas ez céges adatok kezelésére?

Előzmény: SQLkerdes (18232)
Tyorotyere Creative Commons License 2012.07.09 0 0 18240

Köszi a segítséget, de elég nagy táblázatról van szó és a végső érték sok részértéktől függ. Ott mindig ezt meg kell csinálni? 

Találtam egy oldalt és azt csináltam: http://office.microsoft.com/hu-hu/excel-help/keplet-ujraszamolasanak-kozelitesenek-es-pontossaganak-modositasa-HP010054149.aspx#BMchange_the_precision_of_calculations_    A  számolási pontosság módosítása munkafüzetben bekezdést elolvastam és megcsináltam. Most úgy néz ki jól működik! Gondolom Te is erre gondoltál Zylo?!! Ugye? :D És annyit tettem még, hogy 2 tizedesig kerekítettem a kerekítés szóval. 

Előzmény: zylo. (18239)
zylo. Creative Commons License 2012.07.09 0 0 18239

Tegyük fel, a c3-as cellában van az érték, ami több tizedesjegyű, de csak két tizedesjegy kell. Írd be a d3-ba, hogy INT(C3*100)/100, és a továbbiakban számolj ezzel.

Előzmény: Tyorotyere (18238)
Tyorotyere Creative Commons License 2012.07.09 0 0 18238

Közben megtaláltam a megoldást az hiszem! Az excel a tárolt értékekkel számolt és nem a megjelenítettel! De ha van valakinek még valamilyen ötlete akkor szívesen várom!

 

Laci

Tyorotyere Creative Commons License 2012.07.09 0 0 18237

Sziasztok!

 

Egy biztosítónál dolgozok és van egy excel táblázat ami megkönnyítené a munkámat, de végeredménybe mindig mást hoz ki kis eltéréssel mint amit én számológéppel számolok. 2 tizedesig van kerekítve, de olvastam valahol, hogy más amit mutat és más amivel számol. Szeretném, hogy úgy működjön nekem ez a táblázat, mint ha számológéppel apránként kiszámolnám a dolgot! Tehát megbízható legyen. Egy % számítást kell levezetnem és kifizetésre javasolni adott összeget, ha most más %-al számol mint amit én ott látok akkor elég nagy összegekkel tévedhetek és nem akarom excellel is és sima számolással is kiszámolni. Tehát azt szeretném a táblázat rublikáiba látni amivel ő ténylegesen számol. Vgay úgy mintha én számolnám számológéppel.

 

Légyszíves segítsetek ha tudtok fontos lenne nekem! Elküldeném a táblázatot is hogy egyszerűbben meg lehessen oldani.

 

Köszönöm szépen

 

Keresztes László

zylo. Creative Commons License 2012.07.09 0 0 18236

Kösz,

 

Sajnos az

On Error Goto 0

nem oldotta meg a problémát. (A ciklus végére tettem, mielőtt a másik txt-t beolvasom.)

 

De a következő keresés előtt mindenképp be kell legyen kapcsolva a hibakezelő, mert kezelni kell azt az esetet, ha a keresés nem hoz eredményt.

Előzmény: Törölt nick (18215)
Törölt nick Creative Commons License 2012.07.09 0 0 18235

autoszűrőt ismered?

Előzmény: cofe85 (18233)
Törölt nick Creative Commons License 2012.07.09 0 0 18234

Sziasztok!

 

Azt szeretném megkérdezni, hogy lehet WinNT hálózatos környezetben lekérdezni (vb6) egy tetszőleges user email címét?

Csak a domaint és a user nevet tudom (), ehhez kellene az email cím.

Az is jó megoldás lenne, ha valahogy le tudnám kérdezni az outloookból az összes címhez tartozó email adatokat.

Tudna valaki segíteni?

cofe85 Creative Commons License 2012.07.09 0 0 18233

sziasztok!

 

megoldható az valhogyan, hogy a sárga cellában lévő dátumra keresek rá, és kiadja az összes olyan értéket, ami az adott dátum mellett szerepel? 

 

SQLkerdes Creative Commons License 2012.07.09 0 0 18232

A Microsoft Skydrive-ja pont ezt teszi lehetővé könnyedén.  Mindenki megkapja a file-ra mutató linket, és csinálhatja.  További előny, hogy nem kell webfelületen szerkesztgetni a file-t, simán meg lehet nyitni Excelben (2007-ben és 2010-ben is.).

 

A Skydrive ingyenes és 25GB szabad tárterületet ad.

 

Csak ajánlati tudom, én használom és imádom.

 

SQL

Előzmény: Sánta Kutya (SK) (18224)
Törölt nick Creative Commons License 2012.07.09 0 0 18231
nekem meg nem volt erre szükségem, de ez lehet a lenyege
Előzmény: Sánta Kutya (SK) (18230)
Sánta Kutya (SK) Creative Commons License 2012.07.09 0 0 18230

2007-ről van szó. Ilyenkor egyidejűleg is szerkeszthetik többen?

Előzmény: Törölt nick (18228)
Törölt nick Creative Commons License 2012.07.08 0 0 18228

"munkafüzet megosztása" 2010-ben, de 2003-ban is is van lehetőség arra, hogy többfelhasználós legyen a munkafüzet

Előzmény: Sánta Kutya (SK) (18224)
Törölt nick Creative Commons License 2012.07.08 0 0 18227

Amíg a kiskapun be tudok jönni.

Előzmény: Delila10 (18223)
djmorphy Creative Commons License 2012.07.08 0 0 18226

Jaj nekem! Mi ez a szörnyűség?! :O :D

 

Köszi szépen megpróbálom értelmezni!

Előzmény: Törölt nick (18214)
Sánta Kutya (SK) Creative Commons License 2012.07.08 0 0 18225

Mármint érthetőbben: az A jelű közös táblázatból frissülne az egyéni táblázatok kajalistája, a B jelű közös táblázat pedig összegyűjtené az azonos kóddal jelölt összegeket az egyéniekből.

Előzmény: Sánta Kutya (SK) (18224)
Sánta Kutya (SK) Creative Commons License 2012.07.08 0 0 18224

Van egy céges hálózat, ahol több dolgozó azonos szerkezetű táblázatokat tart karban napi rendszerességgel. Ezeket a dolgozók keresztneve különbözteti meg a filenévben, egyébként a közös rész a névben a hétfői dátum. (Hetente újat kezdenek.)

Ha jól tudom, Excelben nem szerkeszthetnek többen egyszerre egy táblázatot, vagy igen?

Ha mégsem, akkor mi a legjobb stratégia a keletkezett adatok összegyűjtésére egy munkafüzetbe? Egy gyűjtőtáblázat makróval, amelyik sorra megnyitogatja mindegyiket? Vagy egy külső program (pl. Python), amelyik képes Excel-táblázatokat kezelni?

Bónuszként jó lenne a pár nappal ezelőtti feladatomból a B oszlopot (ahol a kaják voltak felsorolva) automatikusan frissíteni valahogy egy központi listából, amit a vezető tart karban.

A feladat természetesen a minél kvesebb emberi beavatkozás lenne.

Egyelőre nincs mező annak a jelzésére, hogy az adott dolgozó elkészült-e a napi karbantartással, de gondolkozom egy ilyenen is, hogy egyértelműbb legyen.

Delila10 Creative Commons License 2012.07.08 0 0 18223

Rendületlenül?

Előzmény: Törölt nick (18221)
Törölt nick Creative Commons License 2012.07.08 0 0 18222

Pont te mondtad három hete, hogy nem verseny :)

Előzmény: Törölt nick (18219)
Törölt nick Creative Commons License 2012.07.08 0 0 18221

A Dolgozó Népet Szolgálom!

:)

Előzmény: Delila10 (18220)
Delila10 Creative Commons License 2012.07.08 0 0 18220

Köszönöm mindkettőtöknek.

 

Előzmény: Törölt nick (18217)
Törölt nick Creative Commons License 2012.07.08 0 0 18219

oppá, bocs. amíg szerkesztőablak nyitva volt... meg másfele is jártam

Előzmény: Törölt nick (18217)
Törölt nick Creative Commons License 2012.07.08 0 0 18218

Private Sub Workbook_Open()
UserForm1.MultiPage1.Value = 0
End Sub

Előzmény: Delila10 (18216)
Törölt nick Creative Commons License 2012.07.08 0 0 18217

Két lehetőség:

1) úgy mented el a munkafüzetet, hogy az első lap aktív

2)

Private Sub UserForm_Initialize()
    MultiPage1.Value = 0
End Sub

Előzmény: Delila10 (18216)
Delila10 Creative Commons License 2012.07.08 0 0 18216

Hogy lehet beállítani, hogy a UserForm1.MultiPage1 mindig az első lappal – Pages(0) – induljon a fájl megnyitásakor?

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!