Keresés

Részletes keresés

Jimmy the Hand Creative Commons License 2011.03.06 0 0 14276

Ez azt csinálja, hogy egy adott mappában lévő összes .xls kiterjesztésű fájlt megnyitja, és azok első munkalapját átmásolja abba a munkafüzetbe, amelyikben a makró fut. Érdemes ezért egy új munkafüzetbe tenni a makrót, továbbá összegyűjteni a forrásfáljokat egy mappába, és ezen mappa teljes elérési útvonalát megadni a kód alábbi sorában:

SourcePath = "C:\itt_vannak_a_fájlok_mappa\"

Előzmény: yxc432 (14275)
yxc432 Creative Commons License 2011.03.05 0 0 14275

Ennek mit kellene csinálnia? Csak saját magát másolja attól a cellától kezdve, amelyikben a kurzor van.:-(

Előzmény: Jimmy the Hand (14260)
SQLkerdes Creative Commons License 2011.03.04 0 0 14274

Nem feltétlenül, mert most hogy utánagúgliztam, találtam azért panaszkodást usedrange ügyben.

Azt olvastam, ha csinál az ember egy usedrange.rows.count-ot (v. menti a workbook-ot) akkor a usedrange elfelejt minden múltbeli cuccot, reseteli magát és a tényleges usedrange lesz.

Előzmény: Jimmy the Hand (14273)
Jimmy the Hand Creative Commons License 2011.03.04 0 0 14273

Upsz... Jobban megnézve, a net inneső végéről is úgy tűnik, hogy hülyeséget írtam.

Azt hiszem, összekevertem a UsedRange-et a SpecialCells(xlCellTypeLastCell)) izével. Elnézést kérek...

:o

 

Előzmény: SQLkerdes (14272)
SQLkerdes Creative Commons License 2011.03.04 0 0 14272

Most gyorsan kipróbáltam amit írtál (G6-ba beír, elmegy onnan, G6-ra visszamegy, G6 töröl) és ezek után a UsedRange.Address A1-et adott.

 

Előzmény: Jimmy the Hand (14271)
Jimmy the Hand Creative Commons License 2011.03.04 0 0 14271

Igen, ezt a különbséget én is észrevettem. Meg mást is. Ha például egy vadiúj, üres munkalapnak mondjuk a G6-os cellájába beírsz egy tetszőleges értéket, aztán kitörlöd, a Te programod szerint a UsedRange G6-on lesz, és ezáltal a munkalap nem-üresnek minősül. Ez szerintem nem annyira jó.

 

Igazából nem értem teljesen, hogy ez a UsedRange hogyan is működik, azért nem is szoktam használni..

(Ez válasz SQLkerdes kolléga 14269-esére is).

Előzmény: E.Istvan (14270)
E.Istvan Creative Commons License 2011.03.04 0 0 14270

Nagyon szépen köszönöm a While-os válaszod, kevéske tudásom alapján erre tippeltem én is.

Ez utóbbi függvényedet teszteltem. Én ezt a programot arra használom, hogy a teljesen üres munkalapoktól megszabaduljak. A két lehetőség abban eltér, hogy a függvényed minden esetben üresnek mondta a munkalapot, ha a cellák üresek voltak. A másik program (ami egyébként nem az én munkám gyümölcse) viszont ha a háttérszín, vagy cellaszegély be volt állítva, vagy valamelyik cella megjegyzést tartalmazott, akkor már nem tekintette üresnek a lapot.

Előzmény: Jimmy the Hand (14268)
SQLkerdes Creative Commons License 2011.03.04 0 0 14269

Vagy:

 

Worksheets(2).UsedRange.Value = False

Előzmény: Jimmy the Hand (14268)
Jimmy the Hand Creative Commons License 2011.03.04 0 0 14268

Itt meg egy másik:

 

Function Üresmunkalap(WS As Worksheet) As Boolean
    If WS.Cells.Count = Application.WorksheetFunction.CountBlank(WS.Cells) Then Üresmunkalap = True
End Function

Előzmény: E.Istvan (14266)
Jimmy the Hand Creative Commons License 2011.03.04 0 0 14267

A While ciklus működése:

A futás oda ér, hogy While kifejezés.

Ha a kifejezés értéke igaz, a teljes ciklusmag végrehajtódik, aztán a kifejezés újra kiértékelésre kerül. A ciklus mindaddig megy, amíg a kiértékeléskor True az eredmény. Amint egy kiértékeléskor False eredmény jön ki, a futás a Wend utáni első utasításon folytatódik.

 

Nem tudnám egzakt módon meghatározni a különbséget, de biztosan van, ha egyszer mindketten léteztnek...

Annyi bizonyos, hogy a Do..Loop ciklusból középen is ki lehet lépni (pl. egy feltétel kiértékelése után) az Exit Do paranccsal, míg a While..Wend ciklusban ilyen lehetőség nincs. A Help azt írja, hogy a Do..Loop utasítással rugalmasabb és strukturáltabb ciklusokat lehet írni. Abban is biztos vagyok, hogy amit While...Wend ciklussal meg lehet oldani, azt Do..Loop-pal is meg lehet, szóval az előbbit nem kell bevenned a repertoárba.

 

A magam részéről ezt szoktam meg, és csak akkor használok mást, ha ezzel nem tudom megoldani, amit akarok. Nem emlékszem, hogy az utóbbi 3-4 évben használtam volna Do...Loop ciklust.

Előzmény: E.Istvan (14265)
E.Istvan Creative Commons License 2011.03.04 0 0 14266

Ha érdekel a téma, akkor itt egy progi, ami megvizsgálja, egy munkafüzetben, hogy üres-e a munkalap.

   
    Dim EgyCella As Boolean
    Dim A1EsCella As Boolean
    Dim A1Ures As Boolean
    Dim lap As Object

 

    For Each lap In Worksheets
        EgyCella = lap.UsedRange.Cells.Count = 1
        If EgyCella Then A1EsCella = lap.UsedRange.Address = Cells(1).Address
        A1Ures = lap.Cells(1) = ""
        If EgyCella And A1EsCella And A1Ures Then
            'üres a munkalap

        Else

            'nem üres a munkalap

        End If
    Next lap

Előzmény: tt65 (14261)
E.Istvan Creative Commons License 2011.03.04 0 0 14265

Ezt While ciklust eddig nem ismertem. Illetve ismertem csak nem VBA alatt. VBA-ban én mindig a Do …. Loop ciklust használtam.

Az angol tudásom elég kezdetleges. Ez a While ugyan az és ugyan úgy működik, mint a Do … Loop? (Már amennyiben ez utóbbinál is előre írom a feltételt, mert azt látom hogy a While-nál nem lehet a végén a feltétel.) Vagy van valamilyen különbség a kettő között?

Előzmény: Jimmy the Hand (14260)
Jimmy the Hand Creative Commons License 2011.03.03 0 0 14264

Ja, nem is vettem kritikának. Csak mentegetőztem egy kicsit, amiért lusta voltam minden eshetőséget figyelembe vevő kódot írni ;-)

Előzmény: tt65 (14263)
tt65 Creative Commons License 2011.03.03 0 0 14263

Nem kritikának szántam, csak miután lefutattam, ez jutott eszembe! örülnék, ha már ilyeneket tudnék írni! :-)

Előzmény: Jimmy the Hand (14262)
Jimmy the Hand Creative Commons License 2011.03.03 0 0 14262

Igen, lehetne még cifrázni, mert ez csak egy kezdetleges változat.

Ha például a cél munkafüzet ugyanabban a mappában van, ahol a forrásfájlok, valószínűleg kiakad a program, amikor önmagát is meg akarja nyitni. Aztán, ha a forrás munkalapokon csatolások vannak, akkor nem tudom mi történik. Aztán az is lehet, hogy a forrásfájlok nincsenek egy helyen, vagy nem Excel formátumban, stb.

Gondoltam, majd ha a kérdező pontosít, én is pontosítok.

Előzmény: tt65 (14261)
tt65 Creative Commons License 2011.03.03 0 0 14261

szuper.

annyival lehetne még turbózni, hogy ne csak az első lapot, hanem minden olyant ami nem üres adjon hozzá!

Előzmény: Jimmy the Hand (14260)
Jimmy the Hand Creative Commons License 2011.03.03 0 0 14260

Nem.

Azt lehet megtenni, hogy sorban egyesével megnyitni őket, és a lapokat áthelyezni egy erre a célra létrehozott munkafüzetbe. Pl így:

 

Sub Összevon()
    Dim wbSource As Workbook, wbDestination As Workbook, ws As Worksheet
    Dim SourcePath As String, FName As String
    
    Set wbDestination = ThisWorkbook
    SourcePath = "C:\itt_vannak_a_fájlok_mappa\"
    FName = Dir(SourcePath & "*.xls", vbNormal)
    While Not FName = ""
        Set wbSource = Workbooks.Open(Filename:=SourcePath & FName)
        Set ws = wbSource.Worksheets(1)
        ws.Copy after:=wbDestination.Worksheets(1)
        wbSource.Close savechanges:=False
        FName = Dir()
    Wend
End Sub

Előzmény: yxc432 (14259)
yxc432 Creative Commons License 2011.03.03 0 0 14259

Excel2003 alatt meg kell nyitni vagy 80 táblát és egy munkafüzetbe kell másolni.

Megoldható lenne, hogy rögtön egy munkafüzet különböző munkalapjaiként nyissa meg?

Jimmy the Hand Creative Commons License 2011.03.02 0 0 14258

Nem ellenőrzött kód, de szerintem menni fog:

 

Private Sub CommandButton3_Click()

Dim Rng As Range, i As Long

Set Rng = Sheets("Nyomtatáslista").Range("A" & Rows.Count).End(xlUp).Offset(1)

Rng.value = Date

For i=1 to 18

   Rng.Offset(, i) = Sheets("Választ").Range("D" & i).Value

   '****

Next

 

A comboboxok törlését is meg lehet oldani ciklusban, ehhez egy sort kell betenni a fenti kódba a '**** helyére.

De nem tudom, milyen comboboxok ezek, és látatlanba nem akarok hülyeséget írni.

 

Előzmény: Törölt nick (14256)
SQLkerdes Creative Commons License 2011.03.02 0 0 14257

Szerintem lehet rövidebben is.

 

Tedd be az egészet egy For / Next ciklusba, találd ki mi az "B" betű ASCII kódja (tegyük fel a példa kedvéért, hogy CHAR(66)) és akkor:

 

 

...

Sheets("Nyomtatáslista").Range("A" & Rows.Count).End(xlUp).Offset(1) = Date

For x=1 to 18

Sheets("Nyomtatáslista").Range(CHAR(65+x) & Rows.Count).End(xlUp).Offset(1) = Sheets("Választ").Range("D" & x).Value

Next

...

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

Köszi Jimmy-nek is, működik!

 

Kisakkoztam a másolást is, jól működik, csak kicsit hosszúra sikerült:

 

Private Sub CommandButton3_Click()
Sheets("Nyomtatáslista").Range("A" & Rows.Count).End(xlUp).Offset(1) = Date
Sheets("Nyomtatáslista").Range("B" & Rows.Count).End(xlUp).Offset(1) = Sheets("Választ").Range("D1").Value
Sheets("Nyomtatáslista").Range("C" & Rows.Count).End(xlUp).Offset(1) = Sheets("Választ").Range("D2").Value
Sheets("Nyomtatáslista").Range("D" & Rows.Count).End(xlUp).Offset(1) = Sheets("Választ").Range("D3").Value

 

... és így tovább D18 -ig.

 

Azonkívül betettem egy combobox törlést is a végére, de a magam egyszerű módján az is egyenként:

 

ComboBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""

 

... 18 ig.

 

Lehet ezt valahogy rövidebben?

tt65 Creative Commons License 2011.03.02 0 0 14255

Ennek örülök, gyere máskor is!

Előzmény: maiann (14253)
Sznida Creative Commons License 2011.03.02 0 0 14254

Nincs mit! :)

Esetleg próbáld ki a Jimmy The Hand javaslatát is, mert egyszerűbb kód!

 

Üdv: Sznido

Előzmény: Törölt nick (14252)
maiann Creative Commons License 2011.03.02 0 0 14253

siker! köszönöm!

Előzmény: tt65 (14249)
Törölt nick Creative Commons License 2011.03.02 0 0 14252

Nagyon szépen köszönöm! Működik!! :)

Akkor ezzel a képlettel elméletileg a címek másolását is meg tudom oldani, csak a dátum helyére kell más kód és vigyáznom kell, hogy ne maradjon ki üres sor.

Este nekiállok! Kösz még 1x! További szép napot mindenkinek!

Előzmény: Sznida (14250)
Jimmy the Hand Creative Commons License 2011.03.02 0 0 14251

Vagy kicsit egyszerűbben:

 

Sheets("Nyomtatáslista").Range("A" & Rows.Count).End(xlUp).Offset(1) = Date

Előzmény: Sznida (14250)
Sznida Creative Commons License 2011.03.02 0 0 14250

Szia,

 

Megvan a hiba:

Ez a hibás sor:

 

Sheets("Nyomtatáslista").Cells(Range("A" & Rows.Count).End(xlUp).Row + 1, 1) = Date

 

Mivel egy commandbutton-ról indítod, és az egy másik munkalapon van, ezért ez az aktuális munkalapodon kereste az utolsó sort az "A" oszlopban.

A helyes sor:

 

Sheets("Nyomtatáslista").Cells(Sheets("Nyomtatáslista").Range("A" & Rows.Count).End(xlUp).Row + 1, 1) = Date


Üdv: Sznido

Előzmény: Törölt nick (14244)
tt65 Creative Commons License 2011.03.02 0 0 14249
Előzmény: maiann (14247)
Jozsef Creative Commons License 2011.03.02 0 0 14248

Igazán profi (és megnyugtató) megoldás pl.  a Sharepoint használata lenne a szerveren (Ha Windows Server alapú a hálózat, akkor lehet, hogy telepítve is is van, pl. Windows SBS )

Ha hasonlóan jó, ráadásul  ingyenes az Alfresco (www. alfresco.com), Windows és Linux szerverre ugyanúgy telepíthető. Ez is tudja a Sharepoint protokollt.

 

Előzmény: maiann (14247)
maiann Creative Commons License 2011.03.02 0 0 14247

igen, egy hálózaton csücsülnek az érintettek, egy közös szerveren lévő fájlt szeretnék közös használatúvá tenni.

elhatárolódva az internetes megoldástól (ha jól értelmezem a skydrive funkcióját). esetleg így ötlet?:)

tt65 Creative Commons License 2011.03.02 0 0 14246

Nem derül ki "maiann" leveléből, az is lehet, hogy egy hálózaton csücsülnek az érintettek, egyszerűen csak nem tudja közös használatúvá tenni a táblázatot.

A tipp amit adtál jó, én sem ismertem ezt a lehetőséget. köszi

Előzmény: SQLkerdes (14245)
SQLkerdes Creative Commons License 2011.03.02 0 0 14245

SkyDrive:  http://explore.live.com/windows-live-skydrive

Alapból elérhető a megosztás, lehet böngészőben és Office programban is dolgozni a file-okon és még adnak 25 GB (!) tárolóterületet is.  Microsoft szolgáltatás, szóval akár még biztonságos is lehet...

Előzmény: maiann (14243)
Törölt nick Creative Commons License 2011.03.02 0 0 14244

Elküldtem, el is csesztem az írást, nem a "nyomtat" lapon van 3 command button, hanem a "választ" lapon..

Köszönöm! :)

Előzmény: Sznida (14242)
maiann Creative Commons License 2011.03.02 0 0 14243

Sziasztok, én Excel fájlt szeretnék közös használatra létrehozni. Szeretném, ha a fájl több felhasználó által is elérhető lenne egy időben, s többen is tudnának benne egyszerre dolgozni.

Mint kezdő versenyző az Eszközök/Közös használat funkcióval próbálkoztam, de nem jártam sikerrel. Ti mit gondoltok?

előre is köszönöm a segítséget:)

Sznida Creative Commons License 2011.03.02 0 0 14242

Nekem is küldheted...

sznida@freemail.hu

 

Üdv: Sznido

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

Töröltem a lapot, újat csináltam, cellatartalmat is, de ugyan az. Ha küldenél egy mailt a címeddel, átküldöm a munkalapot, persze csak ha van időd a hülyeségeimmel foglalkozni. :) Nem akarok senkit terhelni ezzel..

Előzmény: SQLkerdes (14240)
SQLkerdes Creative Commons License 2011.03.02 0 0 14240

Ha az A2:A20 között van akár csak egy szóköz is a cellában (esetünkben az A20 gyanús, hogy nem üres), akkor természetes, hogy az A21-be rakja a dátumot.

Jelöld ki a 2:20 sor tartományt és üss rá egy Clear All-t, utána futtasd le a kódot.

Előzmény: Törölt nick (14234)
Törölt nick Creative Commons License 2011.03.02 0 0 14239

Köszönöm, kipróbáltam a laptopon is, de ugyan az a helyzet, itt is az A21 -es cellába ír. Délután, munka után az otthoni gépemről  csinálok képet, kiváncsi vagyok mi működik rosszul. :) thx

Sznida Creative Commons License 2011.03.02 0 0 14238

Szia,

 

" Viszont szerintem ez nem lesz jó, mivel véletlenszámot kell generálni ez pedig mindenhol ugyan az..."

 

Ezt nem értem az excelnek van egy vél() fügvénye ami véletlen számot generál. MInden számolásnál újra, és minden cellába más és mást. Ez nem jó?

 

Üdv: Sznido

Előzmény: saFi8647 (14235)
Sznida Creative Commons License 2011.03.02 0 0 14237

Szia Nálam is jól működik!

Csatol egy képet a tábládról, és a beírt kódodat is másod be, lehet ki tudjuk találni mi a baj! :)

 

Üdv: Sznido

Előzmény: Törölt nick (14234)
Delila_1 Creative Commons License 2011.03.02 0 0 14236

Akkor valami nem jó, nálam mindig az első üres sorba teszi a dátumot az A oszlopban.

A1-be (ahol feltehetően az oszlop címe van normál esetben) beírtam egy dátumot, a makró futtatásával

minden esetben alá írta a mai dátumot.

 

Előzmény: Törölt nick (14234)
saFi8647 Creative Commons License 2011.03.01 0 0 14235

Hello!

 

Szal volt egy előző kérdésem, amikre próbáltatok válaszolgatni és segíteni. Köszönöm, csak nem tudtam eddig válaszolni. Nagyjából megfejtettem azt hiszem. A feladat: Excellel legyártunk egy csomó U(0, 1) eloszlású véletlen számot. Ezekből gyártunk egy csomó γ(1, 1/τ) exponenciális eloszlású véletlen számot. Hogy mekkora a τ, ki-ki maga dönti el. Ez igazából a feladat első része.

Excelben megcsináltam a véletlenszám generálást RANDBETWEEN(0,1) fv -nyel. Viszont ebből kellene nekem exponenciális elosztású véletlenszámokat generálni. Ezt megpróbáltam úgy, hogy az exponenciális elosztás fv-nyel A1től 1000 ig mivel ennyit generáltam a lambda értéke 2 és az értéke 1 mert úgy van hogy ha igaz, akkor az elosztás fv-t kell használni, ha hamis akkor meg a sűrűségfüggvényt. Ezért B1=EXP.ELOSZLÁS(A1:A1000;2;1). Ahol az első oszlopban 1 volt ott ezáltal 0,864665 az eredmény. Ahol pedig 0 ott 0. Viszont szerintem ez nem lesz jó, mivel véletlenszámot kell generálni ez pedig mindenhol ugyan az...

 

Ebben esetleg help? :) Vagy az is lehet, hogy az egész rossz és teljesen más irányba kavargok.

 

Köszi

saFi

Törölt nick Creative Commons License 2011.03.01 0 0 14234

Nekem így az A21 -es cellába rakja az új dátumot, pedig az A2-től az A19 ig is üres. És csak 1x, tehát hiába nyomom 2x, 3x a command button -t, csak egy cellát ír, az is az A21.

(ugye minden nap 1x nyomnám, akkor tenne a következő cellába egy új dátumot)

valahogy így:

 

           A                B           C            d

1  2010.03.01   xy bolt    yx bolt    zx bolt

2  2010.03.02   xd bolt    bc bolt    cd bolt

3  2010.03.03   gf bolt     rs bolt    ds bolt

 

és így tovább..

Előzmény: Delila_1 (14229)
Törölt nick Creative Commons License 2011.03.01 0 0 14233

Nagyon köszönöm a segítséget! :) Így jó egy leírás, ha érti is az ember mi mit jelent!

Előzmény: Sznida (14226)
SQLkerdes Creative Commons License 2011.03.01 0 0 14232

Mer nem lehet, már látom, h. miért van benne :-(

Előzmény: SQLkerdes (14231)
SQLkerdes Creative Commons License 2011.03.01 0 0 14231

A Cells-be bele lehet rakni Range-t?  Nem is tudtam...

Előzmény: Delila_1 (14229)
SQLkerdes Creative Commons License 2011.03.01 0 0 14230

Vagy még a UsedRange object-et is használhtja, abból simán ki lehet olvasni, hogy mi az utolsó sor.

Előzmény: Delila_1 (14229)
Delila_1 Creative Commons License 2011.03.01 0 0 14229

Helyesbítek:

 

Sheets("Nyomtatáslista").Cells(Range("A" & Rows.Count).End(xlUp).Row + 1, 1) = Date

Előzmény: Delila_1 (14227)
tt65 Creative Commons License 2011.03.01 0 0 14228

Előzmény: Törölt nick (14224)
Delila_1 Creative Commons License 2011.03.01 0 0 14227

Private Sub CommandButton3_Click()
Sheets("Nyomtatáslista").Range("A" & Rows.Count).End(xlUp) = Date
End Sub

Előzmény: Törölt nick (14225)
Sznida Creative Commons License 2011.03.01 0 0 14226

Szia,

 

Nem teljesen tiszta mit akarsz, de azért megpróbálok segíteni...

Ahhoz, hogy be tudd írni a soron következő cellába a dátumot, tudnod kell melyik az utolsó sor/cella, ami már ki van töltve.

Ezt a következő képlettel kahatod meg:

 

Sor=Range("A1").End(xlDown).Row

A soron következő cellába így írhatod be a dátumot:

 

Sheets("Nyomtatáslista").Cells(Sor + 1, 1) = Now(), ahol a Sor+1 a sorszám, az 1 pedig az oszlop száma ("A" az első oszlop)

 

Üdv: Sznidó

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

Egyébként van még, amit nem tudtam megoldani :)

Szeretnék egy új lapon egy listát készíteni a napi szinten kinyomtatott boltokról, hogy később vissza tudjam keresni.

Az "A" oszlop lefelé lenne a napi dátum, a "B,C,D... " pedig a boltok nevei.

A dátumot minden nap a következő alatta lévő cellába szeretném tenni, a boltok neveit egy másik lapról átmásolni.

Szintén command button -ös lenne a dolog, odáig eljutottam, hogy:

 

Private Sub CommandButton3_Click()
Sheets("Nyomtatáslista").Range("A1") = Now()
End Sub

 

Ez az A1 cellába rakja a napi dátumot, de nem tudom hogyan kell léptetni, hogy másnap az alatta lévőbe másolja az aznapi dátumot.

A másolástól még fényévekre vagyok..

 

Ha tudna valaki segíteni, nagyon megköszönném, ha nem, remélem 1 héten belül meg tudom oldani :))

Köszönettel: Kr

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

:) Basszus, küzdök itt olyan dolgokkal, amit sajnos soha nem tanultam, de érdekel. Sajna más fórumokon egy kezdőnek egyszerre beírják, hogy " 5000,- Ft +áfa " a megoldás, de hát az ember azért jár ilyen helyekre, hogy tanuljon valamit. Ha pl. olajat szeretnél cserélni egy kocsiban és kérdezel, hogy hogyan kell, egy autószerelő válaszol, hogy vidd el hozzá, 10e -ért megcsinálja, segít az valamit? Semmit, mert ha úgy akarnád elvinnéd hozzá, de egy kis segítséggel magad szeretnéd megoldani, nem is értem, hogy az ilyen autószerelő minek jár egy fórumra. Nagyképűsködni? Tanulni szeretnék én is és köszönöm az ezelőtti segítségeket, közben azért próbálok nem csak másra hagyatkozni, azért írtam a magoldást, hogy ha esetleg a jövőben valakinek pont ez kell, megtalálja... :)

Üdv. Kr

Előzmény: SQLkerdes (14223)
SQLkerdes Creative Commons License 2011.03.01 0 0 14223

Tök jó fej vagy, hogy miközben senki sem segített (tudott segíteni), berakod a megoldást!

Járhatnál erre máskor is.

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

Közben megoldottam a kérdésem, köszi:

 

Private Sub CommandButton1_Click()

Worksheets("Nyomtat").PrintOut From:=1, _
To:=Worksheets("Nyomtat").Range("O7").Value, _
Copies:=1, _
Collate:=True

 End Sub

Előzmény: Törölt nick (14205)
Törölt nick Creative Commons License 2011.03.01 0 0 14221

szumhatöbb-el nem lehet ezt.

AB.SZUM talán

Előzmény: tt65 (14219)
totomi30 Creative Commons License 2011.03.01 0 0 14220

Na erre magamtól nem jöttem volna rá, gondolkodhattam volna rajta még néhány évet :) de nagyon jó megoldás, megoldotta a problémámat. Hálás köszönet érte.

És mindenkinek, aki segített.

Előzmény: SQLkerdes (14209)
tt65 Creative Commons License 2011.02.28 0 0 14219

jól mondod!

viszont a szumhatöbbel még mindig nem tudom megcsinálni.

az a bajom, hogy az egyik "ha" vízszintes, a másik "ha" rá merőleges.

párhuzamosoknak kellene lennie.

de lehet már én nem látok rendesen :-)

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

hát ja, de a sort összefoglalja magától, az oszlopot meg lehet csoportosítani

Előzmény: tt65 (14217)
tt65 Creative Commons License 2011.02.28 0 0 14217

Meg lehet pivot táblával is csinálni, de nem az a klasszikus eset. 

Akkor lenne igazán jó, ha az oszlopok "rendesen" jan, feb, márc , ... követnék egymást (mindegyikből egy lenne csak)

Előzmény: Törölt nick (14215)
tt65 Creative Commons License 2011.02.28 0 0 14216

Nem maradt le, sortörés esete forog fenn! 

Előzmény: SQLkerdes (14210)
Törölt nick Creative Commons License 2011.02.28 0 0 14215

Szia,

2003 és 2007-es verzióban is van "Adatösszesítés" funkció. Ez pontosan erre való amit írsz. Rögzíthetsz makrót is, hogy ne kelljen manuálisan paraméterezgetni.

Ez makróban ennyi: (Ha a1:h7 tartományban vannak az adatok)

Sheets("itt adj meg egy üres munkalapnevet").Select
Range("A1").Consolidate Sources:="Munka1!R1C1:R7C8", Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False

 

A másik pedig a pivottábla, ami hibátlan megoldást kínál (kimutatástábla másképp - és úgy rendezed benne a sorokat/oszlopokat ahogy akarod)

Előzmény: totomi30 (14214)
totomi30 Creative Commons License 2011.02.28 0 0 14214

Köszönöm a segítséget, kipróbálom.

 

A szumha és szumhatöbb függvény nem jó simám, próbáltam már minden féle képpen. A gondom velük az, hogy csak egy sor illetve oszlop adatait tudtam velük az említett kritériumok alapján összeadatni. Plusz a szumhatöbb a kompatibilitási problámák miatt nem is lenne jó. (2007-2003) De a többi megoldást kipróbálom, remélem sikerem lesz velük.

Köszönöm a segítségeket.

Totomi

Előzmény: Sznida (14201)
Törölt nick Creative Commons License 2011.02.28 0 0 14213

a pivottábla (kimutatás tábla) egyszerűen megold minden problémát

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: totomi30 (14197)
Sznida Creative Commons License 2011.02.28 0 0 14212

Ez is szép megoldás!

 

Köszi!

 

üdv: Sznido

Előzmény: SQLkerdes (14210)
Sznida Creative Commons License 2011.02.28 0 0 14211

Köszi tt65

Előzmény: tt65 (14208)
SQLkerdes Creative Commons License 2011.02.28 0 0 14210

=SUM((matrix)*(ROW(matrix)=((rowhead="a")*ROW(rowhead))*(COLUMN(matrix)=((colhead="feb")*COLUMN(colhead)))))

 

Nem értem az előbb miért maradt le a vége...

Előzmény: SQLkerdes (14209)
SQLkerdes Creative Commons License 2011.02.28 0 0 14209

 

Az én megoldásom:

=SUM((matrix)*(ROW(matrix)=((rowhead="a")*ROW(rowhead))*(COLUMN(matrix)=((colhead="feb")*COLUMN(colhead)))))

 

Magyarázat:

  • Feltételezve, hogy a teljes táblázat A1 és E8 között van
  • A2 és A8 között vannak a "betűk" a, b, c stb. (ezt a területet nevezzük el 'rowhead'-nek;
  • B1 és E1 között vannak a hónapok, ezt a területet nevezzük el 'colhead'-nek;
  • értelemszerűen B2 és E8 között vannak az összesítendő adatok.

A fenti függvényt CTRL+SHIFT+ENTER-rel kell lezárni NEM Enterrel!

 

Magyar excel esetén:

- SUM = SZUM

- COLUMN = OSZLOP

- ROW = SOR

 

Ha akarod, akkor a kiértékelendő feltételeket ("a" és "feb") berakhatod egy-egy cellába és kijavíthatod a hivatkozást a képletben.

Előzmény: Sznida (14202)
tt65 Creative Commons License 2011.02.28 0 0 14208
Előzmény: Sznida (14207)
Sznida Creative Commons License 2011.02.28 0 0 14207

Ezt már értem én is és jól működik! :)

Kicsit egyszerűbb, mint egy UDF.

 

Valaki tud bővebbet írni a CSE-ről?

 

Köszönettel: Sznido

Előzmény: tt65 (14206)
tt65 Creative Commons License 2011.02.28 0 0 14206

=SZUM(HA(B1:H1=B9;HA(A2:A7=B10;B2:H7;0);0))  + "CSE" a bevitel módja

ahol B9 és B10 tartalmazza a feltételeket!

Előzmény: tt65 (14203)
Törölt nick Creative Commons License 2011.02.28 0 0 14205

Sziasztok

 

Egy kis segítséget szeretnék kérni!

Excel 2007-ben egy command button -el gondoltam, hogy megoldom a nyomtatást, de nem jutok előbbre.

A "választ" nevű lapon lenne a gomb, viszont a "nyomtat" nevű lapot kellene hogy nyomtassa, úgy hogy csak annyi lapszámban, ahány oldal adatot tartalmaz.

Tehát ha csak 3 oldalon van adat, normál esetben kézzel írja be az ember a nyomtatandó oldalak számát (pl. 1-3) viszont nem szeretném, hogy majd a macro majd 15 oldal üreset is nyomtasson( a komplett nyomtatási területet). (eddig csak ilyen kódot találtam a neten)

A lapszám mindig változik, de a "nyomtat" lapon az "O7" mező úgy van megcsinálva, hogy aktuálisan mutassa hány oldalon van adat. (pl. 5)

Tehát ebben az esetben nyomtassa ki a "nyomtat" lapot 1-5 ig lapszámban.

 

Ha tudna valaki egy kódot írni ehhez, nagyon megköszönném!

Üdv. Kr

tt65 Creative Commons License 2011.02.28 0 0 14204

és persze Control Shift Enter

Előzmény: tt65 (14203)
tt65 Creative Commons License 2011.02.28 0 0 14203

az valami ilyesmi lenne: =SUM(HA($A$2:$A$200="febr",HA($B$2:$B$200="süt a nap",$E$2:$E$200,0),0))

Előzmény: SQLkerdes (14200)
Sznida Creative Commons License 2011.02.28 0 0 14202

Szia SQL,

 

Érdekel a megoldásod, mindig lehet tanulni!

 

Üdv: Sznido

Előzmény: SQLkerdes (14200)
Sznida Creative Commons License 2011.02.28 0 0 14201

Szia,

 

Csináltam Neked egy UDF-et, remélve, hogy magyar excel-ed van.

A kód:

 

Function SzumhaTöbb(Tartomány As Range, Kritérium1 As String, Össz_Tartomány As Range, Kritérium2 As String)
Dim MyRange1, MyRange2 As Range
Dim Sor, Oszlop, Elsö_sor As Integer
For Each MyRange1 In Tartomány
    If MyRange1.Value = Kritérium1 Then
        For Each MyRange2 In Össz_Tartomány
            If Elsö_sor = 0 Or Elsö_sor = MyRange2.Row Then
                If MyRange2.Value = Kritérium2 Then
                    SzumhaTöbb = SzumhaTöbb + Cells(MyRange1.Row, MyRange2.Column)
                End If
            ElseIf Elsö_sor <> MyRange2.Row Then
                Exit For
            End If
            Elsö_sor = MyRange2.Row
        Next
    ElseIf MyRange1.Row <> 1 And MyRange1.Value = "" Then
        Exit Function
    End If
    Elsö_sor = 0
Next
End Function

 

Folyamat:

eszközök, makró, visual basic

Elindul a program, insert module

Megjelenik egy fehér lap, oda kell bemásolni a kódot.

Visszalépsz a excel felületre, és úgy tudod használni a felhasználói függvényed, hogy függvény beszúrás, felhasználói, ha mindent jól csináltál, akkor ott lesz a SzumhaTöbb. Kiválasztod, és megadod az adatokat.

Tartomány - amiben keresse a Kritérium1-et

Kritérium1 - Te esetedben az "a", ami lehet egy cella is

Össz_Tartomány - ennek a tartománynak az első sorában fogja keresni a Kritérium2-t

Kritérium2 - Te esetedben a "feb", ami lehet egy cella is

 

Üdv: Sznido

Előzmény: totomi30 (14197)
SQLkerdes Creative Commons License 2011.02.28 0 0 14200

Nem értek egyet, xl2003-ban is meg lehet csinálni SUM vektorfüggvénnyel.

Majd egy óra múlva újra itt leszek a környékne, ha valaki addig nem írja meg, akkor megnézem pontosan a kérdést meg a csatolt táblázatot.

Előzmény: Sznida (14199)
Sznida Creative Commons License 2011.02.28 0 0 14199

Szia,

 

Milyen verziójú excel?

Ha 2003-as vagy régebbi, akkor UDF, vagy makró.

Ha 2007, vagy 2010, azt sajna nem ismerem, nem tudom milyen függvényekkel bővült, valószínűleg ott lesz már Szumatöbb függvény, a 2003-ban nincs.

 

Üdv: Sznido

Előzmény: totomi30 (14197)
tt65 Creative Commons License 2011.02.28 0 0 14198

szumha, szumatöbb lesz a te barátod!

Előzmény: totomi30 (14197)
totomi30 Creative Commons License 2011.02.28 0 0 14197

Sziasztok.

 

Kis segítségre lenne szükségem.

Adott egy táblázat az alábbiak szerint

 

       jan        jan       jan      feb       feb      már      már

a       1           5          6         2          4          5          5

b       5           2          4         4          3          8          7

c       4            2          7         7         2          2          3

d       8           2          3         7         9          4           5   

a       8           5          7         3         7          7           1

c       2            0         7          8         4         7           4

 

A preoblémám, hogy hogyan tudnám összeadni bizonyos (de változtatható) feltételek alapján a táblázatban szereplő számokat. Pl. adja össze az "a" sorazonosítóval jeleölt sorokban azokat a számokat, amelyek oszlopazonosítójában "feb" van. De a feltételeket külön cellából vegye, mivel ezek módosulhatnak.

Lehet, hogy az én agyam nem fog ma, de már napok óta ezen gondolkodom, de nem megy.

Köszönöm

 

tt65 Creative Commons License 2011.02.28 0 0 14196

14014 és környéke

Előzmény: tt65 (14195)
tt65 Creative Commons License 2011.02.28 0 0 14195

Nem olyan túl régen mintha lett volna ilyen diskurzus a topikban, valakinek hasonló gondja volt! Érdemes lenne visszanézni!

Előzmény: saFi8647 (14193)
Sznida Creative Commons License 2011.02.28 0 0 14194

Azt gondolom, hogy tudunk segíteni. A problémám azzal van, hogy elég régen nem foglalkoztam a matematika ezen irányával, és a fogalmakkal van egy kis gondom.

Addig értem, hogy van n darab 0-1 közötti számod.

A "csomó" megegyezik n-el?

Az mit jelent pontosan, hogy γ(1, 1/τ) , ennek van köze az n darab 0-1 számmal?

A T lehet egy cellában? Csomó minden darabjánál ugyanaz, azaz konstans, vagy változik véletlenszerűen, és lehet ez a n darab szám?

Az exponenciális eloszlású véletlen szám, az azt jelenti, hogy ha fogok egy exponenciális függvényt, akkor ezek a pontok illeszkednek arra a fügvényre?

 

Bocs a sok h..lye kérdésért, de régen matekoztam exponenciális függvényekkel!

 

Üdv: Sznido

 

Előzmény: saFi8647 (14193)
saFi8647 Creative Commons License 2011.02.27 0 0 14193

Helló!

 

Olyan érdekességre keresek megoldást, hogy generálni kell n menyniségű véletlen számot 0 és 1 között. Ez megvan. Viszont ezekből gyártanunk kell egy csomó γ(1, 1/τ) exponenciális eloszlású véletlen számot. A T értéke ránk van bízva. Hogyan tudom ezt megcsinálni excelben? Lehet nem jó helyre írok :) ezesetben elnézést, viszont aki tud segítsen benne. Fontos lenne.

 

Köszönöm,

 

Ndrew

tt65 Creative Commons License 2011.02.27 0 0 14192

Kitartás és meghozza a sikert! :-)

Előzmény: :Snoopy: (14191)
:Snoopy: Creative Commons License 2011.02.27 0 0 14191

Köszi a linket így már érthető a leírás, majd átböngészem.

 

Előzmény: tt65 (14188)
tt65 Creative Commons License 2011.02.27 0 0 14190

"Az abszolút hivatkozást én az FKERES-nél szoktam használni viszonylag gyakran, még a képlet lehúzása előtt, különben a "tartományban keres" szépen elcsúszik... :("

 

Ezért jó ha elnevezed a tartományt, akkor nincs ilyen gond és még jobban is olvasható! :-)

 

Előzmény: _Nyuszi (14183)
tt65 Creative Commons License 2011.02.26 0 0 14189

VAgy ha elboldogulsz az angollal: http://flightline.highline.edu/mgirvin/YouTubeExcelIsFun/Excel2007IsFun!.doc

ezen a honlapon ill. a youtubeon találsz ezer okos példát is!

Előzmény: :Snoopy: (14184)
tt65 Creative Commons License 2011.02.26 0 0 14188
Előzmény: :Snoopy: (14184)
Sznida Creative Commons License 2011.02.26 0 0 14187

Szia, nálam a 7-esen a minialkalmazások hasonló rossz képet mutatnak, mint amiről Te írtál. Azt hittem vírus, ezért de nem talált semmit...

 

Üdv: Sznido

Előzmény: :Snoopy: (14182)
_Nyuszi Creative Commons License 2011.02.26 0 0 14186

... megint gyorsabban írtam mint gondolkodtam. :(

Bocsánat!

 

"abszulivitását" -> abszolutivitását

"tartományban keres" -> "tábla" (Snoopynak: a tartományban keres egy logikai érték.)

Előzmény: _Nyuszi (14183)
_Nyuszi Creative Commons License 2011.02.26 0 0 14185

A birtokszerkezetet sztem felejtsd el. Ezt csak egy embertől fogadom el, és az nem te vagy.

 

Irodalma a témának óriási van magyar és angol (meg gondolom cseh, lengyel stb. :) ) nyelven is, érdemes valami középiskolai táblázatkezelős tankönyvet keresni. A Műszaki Kiadónak vannak egész jó könyvei a témában. :-)

De ilyen alap dolgokat, mint HA, FKERES, VKERES stb. egy 300 forintos, 5-ös Excelhez írt könyv is tudja. :) (Persze sztem érdemes valamilyen relevánsabb kiadványra beruházni, hátha érdemes lesz lapozgatni később is. :) )

Igazából gyakorolni kell, nagyon sokat. Annál jobbat nem tudok elképzelni.

Előzmény: :Snoopy: (14184)
:Snoopy: Creative Commons License 2011.02.26 0 0 14184

köszi Nyuszim :)

 

De volt.... 15 éve :) 

Nincs valami kis oktatóprogram valahol vagy leírás az alap dolgokról? mert itt tök jól elmondjátok csak gondoltam lementeném hátha pár év múlva is szükségem lehet rá :)

Előzmény: _Nyuszi (14183)
_Nyuszi Creative Commons License 2011.02.26 0 0 14183

Hogyne számítana! :)

Ha a D1-be azt írod, hogy =A1, majd ezt másolod, akkor a hivatkozás minden más cellában átalakul úgy, hogy a balra háromra levő cella tartalmára fog hivatkozni. Ezt nevezik relatív hivatkozásnak, mert tulképp te nem az A1-es cellára hivatkozol logikailag, hanem a D1-től balra háromra lévőre (ami formailag az A1).

Ha azt írod be, hogy =$A$1, majd másolod, akkor minden cella pontosan az A1-es cellára fog mutatni. Ezt abszolút hivatkozásnak nevezik, mert akárhová másolod a D1-ből a képletet, mindig pontosan az A1-et fogja meghivatkozni.

Persze nem feltétlenül kell a sor és az oszlop abszolút hivatkozását együtt használni vagy egyszerre elhagyni, lehet keverni is: csak a sor vagy csak az oszlop abszulivitását használni. Akkor jön jól, ha pl. egy szorzótáblát csinálsz, ahol az egyik tényezőnél a sor adott, de az oszlop mindig más, a másik tényezőnél pedig pont fordítva. Ekkor pl. a B2-be írhatod, hogy =B$1*$A2. (Egyébként az F4 lenyomásával kivarázsolható ez a hivatkozási forma az Excelből, ha a szerkesztőlécen a cella hivatkozásán állsz.)

Az abszolút hivatkozást én az FKERES-nél szoktam használni viszonylag gyakran, még a képlet lehúzása előtt, különben a "tartományban keres" szépen elcsúszik... :(

 

Neked nem volt középsuliban Excel? :S

Előzmény: :Snoopy: (14181)
:Snoopy: Creative Commons License 2011.02.26 0 0 14182

Bár nem exeles kérdés.. Vista oldalsávon az időjárásnál eltünt a kép (napocska vagy felhő) csak piros X lásztik.  Leválaszottam újra felraktam, nem javította meg.  Valakinek hasonló gondja volt, mi lehet a megoldás?

:Snoopy: Creative Commons License 2011.02.26 0 0 14181

Nagyon köszi, mostmár megy a dolog, és valóban működik.

Az hogy C$1 vagy C1 nek írom az számít vajon?

Előzmény: Sznida (14145)
_Nyuszi Creative Commons License 2011.02.26 0 0 14180

Ez nagyon jóóóó! :)

Azt hiszem, próbálgatom majd, köszi! :)

Előzmény: Jimmy the Hand (14179)
Jimmy the Hand Creative Commons License 2011.02.26 0 0 14179

Valami ilyesmi:

 

Sub irasvedelem()
    Dim PathName As String
    PathName = "C:\proba.txt"
    SetAttr PathName, (GetAttr(PathName) And (255 - vbReadOnly))
End Sub

Előzmény: _Nyuszi (14154)
72G Creative Commons License 2011.02.26 0 0 14178

Köszönöm!

Előzmény: boraka (14084)
Sznida Creative Commons License 2011.02.26 0 0 14177

Megvan a megoldás!!!!! :D

 

Ha esetleg valakinek még ilyen problémája lenne, a jól működő kód:

 

Function MinKereso(Tartomány As Range, Lépték As Variant)
Dim MyRange As Range
Dim Min, Oszlop As Integer
Min = Application.WorksheetFunction.Max(Tartomány)
Oszlop = Range(Tartomány.Address).Column
If Lépték <= 0 Then
    MinKereso = "Hibás lépték!"
    Exit Function
End If
'For Each MyRange In Range(Tartomány.Address) ' Ez a sor volt a rossz

For Each MyRange In Tartomány ' Így jó
    If ((MyRange.Column - Oszlop) Mod Lépték) = 0 Then
        If MyRange.Value <= Min And MyRange <> 0 Then
                Min = MyRange.Value
                MinKereso = MyRange.Value
        End If
    End If
Next
If MinKereso = Empty Then
'    MinKereso = "Nincs ilyen cellaérték"
    MinKereso = 0
End If
End Function

 

Üdv: Sznido

 

Előzmény: Sznida (14161)
Törölt nick Creative Commons License 2011.02.26 0 0 14176

Na ez gyönyörű lett:))))

 

Nem lesz kép:)

Előzmény: _Nyuszi (14175)
_Nyuszi Creative Commons License 2011.02.26 0 0 14175

Nekem nem sikerült. :-(

Esetleg csinálj három képet a háttérképedből az eredeti szétvágásával, és tegyél egy darabot a D3:F4, egyet a C2:C6, egyet pedig az B3:B6 cellákra és tedd egymás mellé őket. :)

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

Sziasztok!

 

Egy kis segítségre lenne szükségem.

Ismét:)

A második sor és a hetedik sor közé egy háttérképet szeretnék beszúrni.

Lehetséges ez úgy, hogy a D,E,F 6 cellák is működjenek?

 

Nekem nem sikerült.

 

Sznida Creative Commons License 2011.02.26 0 0 14173

Nem volt kikapcsolva.

Kicsit még nem értem ezeknek az UDF-nek a lelki világukat.

Nem tudom mikor futnak le.

Az én esetemben amikor lefut, akkor az összes munkalapon végigmegy, és számolja a képleteket, és valami oknál fogva az első munkalap tartományban számol, pedig a képlatben nincs munkalap hivatkozás, lehet ez a baj?

Előzmény: tt65 (14172)
tt65 Creative Commons License 2011.02.25 0 0 14172

Ki volt kapcsolva az automatikus újraszámolás?

Előzmény: Sznida (14171)
Sznida Creative Commons License 2011.02.25 0 0 14171

jaja, nekem is annak tűnt, aztán véletlenül nyomtam egy F9-et és minden helyreállt, ezért írtam be a munkalapváltáshoz a számolást! :)

Előzmény: tt65 (14170)
tt65 Creative Commons License 2011.02.25 0 0 14170

nekem ez így X akták jellegű!

Nekem (igaz nem a te UDF.eddel) de mindig az adott lapról veszi a hivatkozást.

Nem lehet, hogy magában az UDF-ben viszi valami félre?

Előzmény: Sznida (14168)
Sznida Creative Commons License 2011.02.25 0 0 14169

Az lett egy megoldás, lehet csak köztes, de így működik, hogy a thisworkbook-ba betettem az sheetactivate-hez egy calculate-ot, ami annyit jelent, hogy minden munkalap váltásnál újraszámol, és frissít mindent szépen!

Előzmény: Sznida (14168)
Sznida Creative Commons License 2011.02.25 0 0 14168

Ez így néz ki "=MinKereso(B4:AA4;3)", csak beírod a cellába. Ha egy munka2 munkalapra írod be, akkor a Munka1 tartományából veszi az adatokat. :(

Most találtam a neten egy hasonló megoldást, és ott jó működik, most próbálok a kettőből egy jót fabrikálni! :)

Előzmény: tt65 (14167)
tt65 Creative Commons License 2011.02.25 0 0 14167

és mivel hívod meg az egyes lakokon, hogy néz ki?

Előzmény: Sznida (14161)
_Nyuszi Creative Commons License 2011.02.25 0 0 14166

"Bár biztos megoldható az is amit te szeretnél, txt fájlokat kezelni excelből."

 

A felülírás nagyon szépen megy (menne), sőt, a tartalmat is össze tudja hasonlítani, hogy egyáltalán felül kell-e írni a fájl tartalmát. De én úgy vettem észre, hogy az Excel (és a VBA) nem nagyon támogatja az ilyen szintű fájlműveleteket... :-(

Külön könyvtárba: ez is egy lehetőség, de szeretnék felhasználóbarát megoldást. ;-)

Előzmény: tt65 (14164)
tt65 Creative Commons License 2011.02.25 0 0 14165

Köszönöm, igérem megérem a tavaszt!

Előzmény: Sznida (14162)
tt65 Creative Commons License 2011.02.25 0 0 14164

Ehhez nem sok lövésem van. 

Nem egyszerűbb lenne egy külön üres könytárba menteni, majd rámásolni az eredetikre, vagy szinkronizálni?

 

Bár biztos megoldható az is amit te szeretnél, txt fájlokat kezelni excelből.

Előzmény: _Nyuszi (14159)
_Nyuszi Creative Commons License 2011.02.25 0 0 14163

Köszi! :)

Előzmény: Sznida (14162)
Sznida Creative Commons License 2011.02.25 0 0 14162

A hétvégén gondolkodom rajta, hátha eszembe jut valami!

tt65 jobbulást!

 

Üdv: Sznido

Előzmény: _Nyuszi (14159)
Sznida Creative Commons License 2011.02.25 0 0 14161

Segítség!!!

 

Írtam egy UDF-et (ez volt az első). Az a baj, hogy nem jól működik!

A kód:

 

Function MinKereso(Tartomány As Range, Lépték As Variant)
Dim MyRange As Range
Dim Min, Oszlop As Integer
Min = Application.WorksheetFunction.Max(Tartomány)
Oszlop = Range(Tartomány.Address).Column
If Lépték <= 0 Then
    MinKereso = "Hibás lépték!"
    Exit Function
End If
For Each MyRange In Range(Tartomány.Address)
    If ((MyRange.Column - Oszlop) Mod Lépték) = 0 Then
        If MyRange.Value <= Min And MyRange <> 0 Then
                Min = MyRange.Value
                MinKereso = MyRange.Value
        End If
    End If
Next
If MinKereso = Empty Then
    MinKereso = 0
End If
End Function

 

A kijelölt tartomány minden negyedik cellájáinak a minimumát adja, a nullát kihagyja. A probléma az, hogy ha ez a képlet "=MinKereso(B4:AA4;3)" több munkalapon szerepel, mindig az első munkalap tartományában dolgozik.

A kérdés, hogyan lehet egy UDF-et csak az aktuális munkalapra tartományára hivatkoztatni?

 

Köszi!

 

Üdv: Sznido

_Nyuszi Creative Commons License 2011.02.25 0 0 14160

A három pont nálam azt jelenti, hogy "jól van, mondjad csak a hülyeségedet, de most már jó lenne befejezni". (Bocsánat a stílusért (vagy annak hiányáért).)

Általában ez inkoherens a környezetében lévő hozzászólásokkal és inkongruens a közlő szándékával, ezért inkább nem értem, mitsem félreértsem. A szmájli a végén meg teljesen érthetetlenné teszi számomra. :)

Szóval kb. ennyi....

 

Előzmény: tt65 (14157)
_Nyuszi Creative Commons License 2011.02.25 0 0 14159

Nem, nem arra..

Van párszáz fájl (asszem valami 182 körül, de végülis mindegy), amik textfájlok, jegyzettömbben szerkeszthetőek (egy programnak a bemenő adatai, változók értékeit olvassa be belőle).

A fájlok tartalma struktúrált, tabulátorral tagolt. A legkönnyebb Excelben szerkeszteni és makróval kimenteni őket munkalaponként külön-külön fájlba (és ez a gyakorlat is).

Jelenleg az a megoldás, hogy ctrl+A, majd jegyzettömbben beillesztés, mentés. Ez sok változás esetén macerás, makróval gyorsítható.

Ez a makrós mentés szépen megy is, de ha az előző fájl már létezik, megkerülhetetlen külső ok miatt rajta van a read only bit. Ha nem új munkalapot hozok létre, hanem a tartalmát módosítom, akkor nem tudja felülírni a már létező fájlt (meglepő módon :P). Megoldásként le kéne venni róla a read only bitet, majd a kimentés után visszatenni.

Előzmény: tt65 (14158)
tt65 Creative Commons License 2011.02.25 0 0 14158

Húha, nem maradunk inkább a menetrendnél, abba már kezdek beletanulni! 

Sosem szoktam fálj atrributumokat módosítani, de ha ezt tenném a Total Commanderben tenném.

Nem arra gondoltál, hogyan lehet egy írásvédett excelt írhatóvá tenni?

Előzmény: _Nyuszi (14154)
tt65 Creative Commons License 2011.02.25 0 0 14157

én csak tőled idéztem, igaz nem tettem idézőjelbe! Te mire gondoltál? Átlagtól eltérőre? 

Előzmény: _Nyuszi (14156)
_Nyuszi Creative Commons License 2011.02.25 0 0 14156

Félreérthető vagy! :)

(Ezt a hárompontozást általában az átlagtól eltérően szoktam értelmezni, ezért inkább nem értelmezem....)

Előzmény: tt65 (14155)
tt65 Creative Commons License 2011.02.25 0 0 14155

... :-)

Előzmény: _Nyuszi (14152)
_Nyuszi Creative Commons License 2011.02.25 0 0 14154

Ezesetben jobbulást kívánok! ;-)

----------

Ha nagyon nincs min gondolkodni, nekem lenne egy kérdésem: makróval hogyan tudom egy adott fájlról levenni a read only bitet (és persze visszatenni rá)? (Ha esetleg nem fejezném ki magam elég jól: a batch fájlokból megszokott attrib -r megoldás VBA alapú verziójáról lenne szó.) :) De van esetleg erre valami megoldás?

Előzmény: tt65 (14153)
tt65 Creative Commons License 2011.02.25 0 0 14153

Tudnék jobbat is, csak éppen két hete nyüglődök az influenzával, kimenni se kívánkozok és hangom sincs! Itt legalább (sors)társakra találtam.

Előzmény: Sznida (14151)
_Nyuszi Creative Commons License 2011.02.25 0 0 14152

És ha az ember lánya összefut menetrenddel is, meg Excellel is, meg ... is? Úgy, hogy ezeknek közük nincs egymáshoz? :)

Előzmény: tt65 (14150)
Sznida Creative Commons License 2011.02.25 0 0 14151

:)

Szépen telik az este! :)

Előzmény: tt65 (14150)
tt65 Creative Commons License 2011.02.25 0 0 14150

Elég ha az ember 1 dologhoz ért!

Feltéve, hogy tud kommunikálni :-)

Ha nem, akkor jobb ha mindenhez ért és maga csinálja! :-)

Előzmény: _Nyuszi (14149)
_Nyuszi Creative Commons License 2011.02.25 0 0 14149

"Akkor Sznida előző hsz. első strófa!"

Nem akartam leírni én is.. :)

 

"Én meg képzem magam tovább ,menetrendből!"

Nekem meg azt mondták, Excelből....

:))))))

Előzmény: tt65 (14148)
tt65 Creative Commons License 2011.02.25 0 0 14148

Akkor Sznida előző hsz. első strófa!

 

Én meg képzem magam tovább ,menetrendből!

Előzmény: _Nyuszi (14146)
_Nyuszi Creative Commons License 2011.02.25 0 0 14147

Közben jöttem rá, hogy mi a kérdés pontosan.... :(

Előzmény: Sznida (14145)
_Nyuszi Creative Commons License 2011.02.25 0 0 14146

Most az A oszlopban nem a két megálló közötti menetidő van, hanem a végállomástól a megállóig szükséges teljes menetidő (természetesen tartózkodással növelve, tehát menettartam). Tehát ha három perc alatt ér oda, akkor csak a hármat kéne hozzáadni, nem a kettőt. :)

Előzmény: tt65 (14144)
Sznida Creative Commons License 2011.02.25 0 0 14145

Azt hiszem itt az excel elejétől kellene kezdeni a dolgot... Félretéve a tréfát!

 

Gondold végig mit szeretnél:

- Ha az A oszlopban a kiinduló állomástól való távolság van időben (szerintem Te ezt szeretnéd), akkor a kindulási időhoz hozzá kell adni az aktuális sor A oszlopában lévő számot

- Ha az A oszlopban az állomások közti távolság van idóben (erre adtunk neked eddig választ), akkor a kiindulási időhöz hozzáadtuk az addig eltelt összes idő.

 

Az első változtatra a képlet(C2-es cella): =C$1+A2 (ez azt jelenti, hogy a C1-hez hjozzáadja az A2-es cella értékét, ezt kell lehúzni)

 

Üdv: Sznidó

Előzmény: _Nyuszi (14143)
tt65 Creative Commons License 2011.02.25 0 0 14144

Ahol írod, hogy 13:03-ak kellene lennie miért? 

Ott jó ami látszik!

Mert 13:00 + 2 perc + 3 perc az pont 13:05!

Előzmény: :Snoopy: (14140)
_Nyuszi Creative Commons License 2011.02.25 0 0 14143

A C3-ban milyen képlet van? Mert a C2 szerint mennie kéne....... :S

Előzmény: :Snoopy: (14140)
tt65 Creative Commons License 2011.02.25 0 0 14142

Látom. A képletben A$1 helyett A$2-t írj, és úgy húzd le!

Előzmény: :Snoopy: (14139)
tt65 Creative Commons License 2011.02.25 0 0 14141

miért ne lenne jó?

Előzmény: :Snoopy: (14139)
:Snoopy: Creative Commons License 2011.02.25 0 0 14140

 Na a kép lemaradt :(

Előzmény: :Snoopy: (14139)
:Snoopy: Creative Commons License 2011.02.25 0 0 14139

Na ez se jó mert a szélső menetidő adatot nem adja hozzá rendesen, pontosabban a felsőhöz adja mindg hozzá :(

 

Az alsó cellát csináltam meg úgy ahogy írtad ( a felső az előtted szóló képlettel van írva) de a végeredmény ugyanúgy rossz.  :(

Előzmény: tt65 (14138)
tt65 Creative Commons License 2011.02.25 0 0 14138

Az A1 0:00:00 tképpen felesleges. 

Ill. ez jelentheti a késést már induláskor. :-) De tényleg.

 

C2 lehet =C1+A2 is, és ezt is csak simán le kell húzni.

 

A "a kék L betűs függvénymoló izé" micsoda, ettől olyan izgatott vagyok mi lehet?

Előzmény: Sznida (14137)
Sznida Creative Commons License 2011.02.25 0 0 14137

Szia,

Ha az adatraid az A, B, C oszlopban vannak, és a C1 cellában van a kiinduló idő, az A oszlopban az állomás közti menetidők, és Te mindig a C1-es cellához akarod hozzáadni az addig eltelt menetidő, akkor a C2-e cella képletet a következő:

 

=C$1+SZUM(A$1:A2)

 

Remélem erre gondoltál!

 

Üdv: Sznido

Előzmény: :Snoopy: (14136)
:Snoopy: Creative Commons License 2011.02.25 0 0 14136

Na a menetrendprogi egy részét értem már:

 

0:00 Árpád híd, metró állomás 13:00

0:01 Váci út 13:01

0:02 Népfürdő utca 13:03

0:02 Margitsziget 13:05

0:01 Halastó 13:06

 

 

Szóval az állomás előtti időadatot hozzárendelem a menetidőhőz 2 cellát megcsinálok és akkor le tudom húzni végig és így lépteti a menetidőt.  Eddig jó.

 

DE hogy lehet azt megcsinálni hogy a kiindulási időhöz (13:00) lenne az egész alapja, és a megállók mellett  a menetidőt rendelné hozzá?  tehát:

 

0:00 Árpád híd

0:01 Váci út

0:03 Népfürdő u.

0:05 Margit sziget..

 

Mert bárhogy rendelgetem hozzá mindig a legutolsó vagy az azelőtti cellához akarja hozzányomatni a következő idejét, és pl a Népfürdő utca és a Margit sziget között 6-8 percek jönnek ki egy 2 perces útra. 

 

Valamint hogy tudom eltüntetni ezt a kék L betűs függvénymoló izét a számadatok mellől?  

 

kösz

 

tt65 Creative Commons License 2011.02.25 0 0 14135

Igen, meg is örültem neki!

de ott meg valamiért nem működik nálam a képre mutató hivatkozás beillesztése! ki van szürkülve és az istennek se hagyja magát!

volt valikinek nagyobb szerencséje?

Előzmény: SQLkerdes (14134)
SQLkerdes Creative Commons License 2011.02.25 0 0 14134

De pont az a harmadik megoldás a videóban, ahogy xl2007-ben is műxik.

Előzmény: tt65 (14133)
tt65 Creative Commons License 2011.02.25 0 0 14133

A bug miatt csak egy ponton elmenti a fáljl, kilép és visszatölt. Utána már működik. A nagyobb baj az, hogy 2003-ban is működik, 2010-ben is, de épp a 2007-ben nem! :-(

Előzmény: Jimmy the Hand (14131)
SQLkerdes Creative Commons License 2011.02.25 0 0 14132

Vagy a hotfix-től vége a bugnak.  A remény hal meg utoljára.

Előzmény: Jimmy the Hand (14131)
Jimmy the Hand Creative Commons License 2011.02.25 0 0 14131

Nem rossz.

Mondjuk, én az elsőt választanám, pontosabban azt, hogy Worksheet_Change segítségevel változtatom egy előre kirakott Image objektum képét. A második megoldás jópofa trükk, de ha jól értem, azt mondja a fickó, hogy bug van a háttérben, és így nem tudom, mennyire megbízható. Ad abszurdum még az is előfordulhat, hogy a Micro$oft jövő kedden kiad egy hotfixet, aztán vége a mókának...

Előzmény: SQLkerdes (14130)
SQLkerdes Creative Commons License 2011.02.25 0 0 14130

http://www.mrexcel.com/podcast/2010/01/picture-lookup-1172-dueling-excel.html

 

Azért felteszem mp4-et lejátszó valami programod van a gépen (klikk a linkre, letöltöd v. megnézed onlány).

Előzmény: Jimmy the Hand (14129)
Jimmy the Hand Creative Commons License 2011.02.25 0 0 14129

Kár, hogy nem tudom megnézni. A céges tűzfal blokkolja a ю-tyubot.

Előzmény: SQLkerdes (14128)
SQLkerdes Creative Commons License 2011.02.25 0 0 14128

Emlékztem, hogy láttam valahol megoldást egy hasonló problémára...

 

 

Kis angol kell hozzá, de nem vészes.  3 megoldást is mutatnak, ebből az utolsó kettő lehet érdekes az itteni esetben.

Előzmény: Jimmy the Hand (14127)
Jimmy the Hand Creative Commons License 2011.02.25 0 0 14127

Szerintem nem lehet cellába képet beszúrni. A cella megjegyzésébe igen, erről már volt többször szó itt.

Mire akarod használni? Lehet, hogy egész másképp kellene mgközelíteni a problémát.

Előzmény: mcsabi30 (14125)
_Nyuszi Creative Commons License 2011.02.24 0 0 14126

Ha majd a napjaimat bent töltöm, akkor esetleg utánanézek. Addig csak a netet és a többieket tudom ajánlani.

De én cellába nem tudok képet beszúrni, pláne nem képlettel formázni.

A makró egyébként nem ördögtől való dolog, ha az ember lánya tanult már mondjuk C-ben (vagy Pascalban) programozni. :)

A gond esetleg az lehet, ha a munkafüzetet más is használná, és a program beállításai miatt nem tölti be a makrót...

 

Előzmény: mcsabi30 (14125)
mcsabi30 Creative Commons License 2011.02.24 0 0 14125

Ok!

Nem nagyon értek a makróhoz.Tudnál segíteni benne hogy mit kell beírnom?

Esetleg cellába nem lehet beágyazni képet és a cellára hivatkozni függvényel?

Előzmény: _Nyuszi (14124)
_Nyuszi Creative Commons License 2011.02.24 0 0 14124

Makró.

Olyat tudsz a legegyszerűbben, hogy beteszel két képet, és makróval állítod a tulajdonságaikat. De képet beszúrni is lehet, csak sztem macerásabb.

A .visible tulajdonságot tudod állítani, és OK lesz.

(Fejből többet nem tudok, a szakirodalmam meg bent van, majd a többiek...)

-----

Az volt a bajom, hogy fogalmam sincs, hogyan kell cellába képet beszúrni. Én csak leteszem, és esetleg beállítom a cella méretének megfelelően, és megmondom, hogy a cellával együtt mozduljon a kép is (helye is, mérete is).

Előzmény: mcsabi30 (14123)
mcsabi30 Creative Commons License 2011.02.24 0 0 14123

szia Nyuszi!

Képre szeretnék hivatkezni függvényel.úgy hogyha egy bizonyos cellába egy bizonyos érték (pl.1) van akkor egy másik cellába szúrjon be egy képet.pl.A1-es clella=1 akkor B1=egy bizonyos kép

Előzmény: _Nyuszi (14111)
Sznida Creative Commons License 2011.02.24 0 0 14122

Ebben az esetben:

 

"=VLOOKUP(RC[-10],[" & vRng.Parent.Parent.Name & ".xls]" & vRng.Parent.Name & "!" & Tartomany & ",10,0)"

 

Üdv: Sznido

Előzmény: SQLkerdes (14121)
SQLkerdes Creative Commons License 2011.02.24 0 0 14121

vRng.Parent.Parent.Name

vRng.Parent.Name

 

Asszem, de nem követtem a társalgást, szóval felelősséget nem vállalok semmiért.

Előzmény: Sznida (14120)
Sznida Creative Commons License 2011.02.24 0 0 14120

Értem... :( Az baj.

Én akkor abba az irányba indulnék, mivel a beírt képlet szöveg, ezért módosítom a szöveget arra amire kell.

"=VLOOKUP(RC[-10],[" & wbPriceList.Name & "]" & wbPriceList.worksheets(1).name & "!" & Tartomany & ",10,0)"

Igaz ebben az esetben már nem sok értelme van a vRng tartománynak, mert ugyanazokat adod meg utána megint, akkor lenne értelme, ha ki tudnánk nyerni a vRng-ből, hogy mi a file neve, és mi a munkalap neve.

 

Üdv: Sznido

Előzmény: wawabagus (14119)
wawabagus Creative Commons License 2011.02.24 0 0 14119

Szia!

Hát mégsincs ok az ünneplésre :-DDD.

Felfedeztem, hogy ahelyett, hogy a másik fájlból vlookupol, önmagából vlookupol.

A Tartományhoz ezt írja: ="C[-10]:C"

Ez lehet hogy jó, de az nincs benne hogy melyik fájlra vonakozik...

 

Szóval minden jó, csak mintha nem értené, hogy az vRng a másik fájlban van.

 

:-((((

 

Előzmény: Sznida (14116)
Sznida Creative Commons License 2011.02.24 0 0 14118

Gratulálok! :)

 

Ügyes vagy!

 

Üdv: Sznido

Előzmény: wawabagus (14117)
wawabagus Creative Commons License 2011.02.24 0 0 14117

És igen és igen...
Sznida és robbantomester...

MÉGRE felfogtam egy részét annak, amit magyaráztatok nekem.

rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10],PL_Wasko_SP_Standard_Services_Q1_2011.csv!B:L,10,0)"
Helyett ez:
rWorkRange.Offset(0, 10).FormulaR1C1 = "=VLOOKUP(RC[-10],PL_Wasko_SP_Standard_Services_Q1_2011.csv!C2:C12,10,0)"
Vagy ahogy javasoltad:


Set vRng = wbPriceList.Worksheets(1).Range("B:L")...ami nem relatív

Tartomany = vRng.AddressLocal(ReferenceStyle:=xlR1C1, _
        RowAbsolute:=False, ColumnAbsolute:=False, _
        RelativeTo:=Worksheets(1).Cells(1, 12))...de ez már relatívvá teszi és akkor a Vlookup is tudja értelmezni!!!!


Egy mini lépést már előre jutottam :-) hála nektek :-DDD...

 

És végre felfogtam Szinda, amit írtál erről tartomány dologról...

Vettem három mély lélegzetet és elkeztem lépésről lépésre...tesztelgetni...és a végére felfogtam amit írtál :-))).

 

Fantasztikus!!!

Köszönöm szépen!!!

Sznida Creative Commons License 2011.02.24 0 0 14116

Szia, sajna elveszett amit az előbb írtam.... :(

 

Na akkor újra:

 

Nálam működik a Te progid, csak beírtam egy set-et a vRng=wbPriceList.Worksheets(1).Range("B:L") elé.

Ha mondatonként (F8) futtatod, akkor miután tároltad a Tartomany változóba az adatot, vidd az egeret a Tartomany szóra, és kiírja, hogy mi a tartalma, ha ott "O" van, szerintem nem lesz, akkor cserélned kell, ha nem "C", akkor is cserélned kell "C"-re.

Lásd csatolt kép!

 

 

 

Üdv: Sznido

Előzmény: wawabagus (14115)
wawabagus Creative Commons License 2011.02.24 0 0 14115

Szia Sznida!

Köszi szépen a magyarázatot. Szerintem te érthetően magyarázod, csak én vagyok értetlen :-DDD.

Tehát elvileg az alább bemásolt kódnak működnie kell.

Beleírtam ezt a tartomány dolgot és mivel angol excelem van nem kell semmit sem cserélgetnem /ha jól értem/.

vRng definiálva van

Tartomany definialva van

és most nem foglalkozom egyenlőre azzal, hogy ha nem talál megfelelést, akkor leáll ez a fajta vlookup /szóval, hogy worksheetfunction-t kell majd használnom.

 

De valamit továbbra is rosszul csinálok, mert nem működik...

Erre ír hibát továbbra is: vRng = wbPriceList.Worksheets(1).Range("B:L")

 

Tudom kicsit hopeless vagyok :-)

-----------------

Sub teszt2()
Dim wbPriceList As Workbook
Dim wbCheckFile As Workbook
Dim rWorkRange As Range
Dim vRng As Range
Dim x As Long
Dim Msg As String
Dim Ans As Integer


MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show
Set wbCheckFile = ActiveWorkbook

MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show
Set wbPriceList = ActiveWorkbook


Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

x = wbCheckFile.Worksheets.Count


For i = 1 To x
    wbCheckFile.Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    wbCheckFile.Worksheets(i).Range("B1") = "UniqueCode"
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("A2")
    
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&"" ""&YEAR(RC[6])"
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i

For i = 1 To x
wbCheckFile.Worksheets(i).Range("B:B").Copy
wbCheckFile.Worksheets(i).Range("B:B").PasteSpecial xlPasteValues
wbCheckFile.Worksheets(i).Range("L:M").Insert Shift:=xlToRight
wbCheckFile.Worksheets(i).Range("O:P").Insert Shift:=xlToRight


wbCheckFile.Worksheets(i).Range("L1") = "PriceList.LaborPrice"
wbCheckFile.Worksheets(i).Range("M1") = "Diff"
wbCheckFile.Worksheets(i).Range("O1") = "PriceList.PartsPrice"
wbCheckFile.Worksheets(i).Range("P1") = "Diff"

Next i

wbPriceList.Worksheets(1).Range("B:B").Insert Shift:=xlToRight
wbPriceList.Worksheets(1).Range("B2") = "UniqueCode"
    Range("A3").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[5]&""_""&RC[4]&""_""&RC[-1]"
            ActiveCell.Offset(1, 0).Select
        Loop
        
wbPriceList.Worksheets(1).Range("B:B").Copy
wbPriceList.Worksheets(1).Range("B:B").PasteSpecial xlPasteValues


vRng = wbPriceList.Worksheets(1).Range("B:L")
 

 

Tartomany = vRng.AddressLocal(ReferenceStyle:=xlR1C1, _
        RowAbsolute:=False, ColumnAbsolute:=False, _
        RelativeTo:=Worksheets(1).Cells(1, 12))

For i = 1 To x
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("B2")
   
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10]," & Tartomany & ",10,0)"
        rWorkRange.Offset(0, 11).Value = rWorkRange.Offset(0, 9).Value - rWorkRange.Offset(0, 10).Value
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True


End Sub

Előzmény: Sznida (14114)
Sznida Creative Commons License 2011.02.24 0 0 14114

Szia,

 

Kezdjük az elején. Küldtél egy kódot, amiben valmi nem volt.

Ezt én bemásoltam egy VBA-ba, és elkezdtem futtatni. Üres munkalapokat nyittam meg, mert ugye úgy indul a program, hogy két file-t megnyit... (Aztán az első file-ba beírtam egy két számot, hogy legyen valami, mert az üres cellákkal nem foglalkozik a ciklus).

Miután eljutottam a Te hibádhoz, akkor szépen sorjában megnéztem, hogy mit akar csinálni a program. vRng simán set-elte. Aztán rájöttem, hogy te a "rWorkRange.Offset(0, 10).Value =" után az egész képletet idézőjelbe tetted, azaz szövegként beírattad a cellába. Ezt írta Robbantomestre is, és ezért vágta/vágtuk három részre a képletet:  "=VLOOKUP(RC[-10]," & Tartomany & ",10,0)"   a részeket az & fűzi össze. Ha a tartomány helyett csak a vRng-t írom, akkor lehülyézett, mert az egy range a benne lévő adatokkal, de én annak a címére voltam kíváncsi, ezért kipróbáltam a vRng.Address-t. Ez pedig "B:M" volt, amire azt gondoltam, hogy jó. Erre írta Robbantomester, hogy a VBA-ban írt képleteknek relatív sor/oszlophivatkozást kell tartalmazniuk, azaz ott ezt kell lásd: "C[-10]:C[1]", legalábbis a "B:M" ezt jelenti a cells(1,12) cellához képest. Ezután kipróbáltam a vRng.AddressLocal-t, ahol szükség volt a további argumentumokra a zárójelben. ezt tároltam a Tartomány változóban.

Ekkor kiíratva a Tartományt, azt láttam, hogy a magyar excelem a "C"-ket "O"-val jelöli, hát persze, hogy nem fogadta el, ezért ez a két betűt kicseréltem, és utána szépen lefutott a program, és jó fkeres függvényt tett be a megfelelő sorba.

 

Remélem érthető voltam! :)

 

Üdv: Sznido

 

Előzmény: wawabagus (14113)
wawabagus Creative Commons License 2011.02.24 0 0 14113

Szia Sznida,

 

Do While rWorkRange.Value <> Empty
   
    Tartomany = vRng.AddressLocal(ReferenceStyle:=xlR1C1, _
        RowAbsolute:=False, ColumnAbsolute:=False, _
        RelativeTo:=Worksheets(1).Cells(1, 12))


 tehát itt a már korábban definiált vRng-t használjuk?

 tehát ez jó?: vRng = wbPriceList.Worksheets(1).Range("B:L")...valamiért erre mutat a debug, de a wbpriceList bizonyítottam működik, sok műveletben használja sikerrel a macro...de mi a gondja?

 "Cells(1, 12)" ezt nem értem ebben a kontextustban...ez nem a 12-es oszlop első sorát jelenti? Nekem a vlookuphoz nem egy cellára, hanem egész rangre van szükségem, amiben keresgálhet, vagy totál nem értek valamit :-DDD...gondolom ez utóbbi.


        'A magyar excel VBA-ja az oszlopot "O"-nak jelöli, ezt kell átcserélni "C"-re, ez a két sor azt csinálja :)

        Tartomany = Application.WorksheetFunction.Replace(Tartomany, InStr(1, Tartomany, "O"), 1, "C")
        Tartomany = Application.WorksheetFunction.Replace(Tartomany, InStr(1, Tartomany, "O"), 1, "C")

Mivel nekem angol Excelem van, akkor ez rám nem vonatkozik, ugye?


        rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10]," & Tartomany & ",10,0)"
        rWorkRange.Offset(0, 11).Value = rWorkRange.Offset(0, 9).Value - rWorkRange.Offset(0, 10).Value
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop

 

Bocs a hülye kérdésekért! Kezdem elveszíteni a lelkesedésem :-DDD, mert nem érzem a fényt az alagút végén mégsem :-DDD

Köszi szépen a segítséget!!!

Előzmény: Sznida (14109)
wawabagus Creative Commons License 2011.02.24 0 0 14112

Szia Robbantomester,

bb dolgot is írtál, de nem vagyok biztos benne hogy értem.

Kékkel beírtam mit nem értek pontosan...tuti valamit félreértettem.

Köszi szépen a segítséget!!

-------------------------------------

Sub teszt2()
Dim wbPriceList As Workbook
Dim wbCheckFile As Workbook
Dim rWorkRange As Range
Dim vRng As Range
Dim x As Long

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show
Set wbCheckFile = ActiveWorkbook

MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show
Set wbPriceList = ActiveWorkbook


Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

x = wbCheckFile.Worksheets.Count


For i = 1 To x
    wbCheckFile.Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    wbCheckFile.Worksheets(i).Range("B1") = "UniqueCode"
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("A2")
    
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&"" ""&YEAR(RC[6])"
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i

For i = 1 To x
wbCheckFile.Worksheets(i).Range("B:B").Copy
wbCheckFile.Worksheets(i).Range("B:B").PasteSpecial xlPasteValues
wbCheckFile.Worksheets(i).Range("L:M").Insert Shift:=xlToRight
wbCheckFile.Worksheets(i).Range("O:P").Insert Shift:=xlToRight


wbCheckFile.Worksheets(i).Range("L1") = "PriceList.LaborPrice"
wbCheckFile.Worksheets(i).Range("M1") = "Diff"
wbCheckFile.Worksheets(i).Range("O1") = "PriceList.PartsPrice"
wbCheckFile.Worksheets(i).Range("P1") = "Diff"

Next i

wbPriceList.Worksheets(1).Range("B:B").Insert Shift:=xlToRight
wbPriceList.Worksheets(1).Range("B2") = "UniqueCode"
    Range("A3").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[5]&""_""&RC[4]&""_""&RC[-1]"
            ActiveCell.Offset(1, 0).Select
        Loop
        
wbPriceList.Worksheets(1).Range("B:B").Copy
wbPriceList.Worksheets(1).Range("B:B").PasteSpecial xlPasteValues

For i = 1 To x
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("B2")
    Set vRng = wbPriceList.Worksheets(1).Range("B:M")
          Egyébként mostanság ehhez a sorhoz írja a debug, hogy nem érti...de mi nem jó ebben? Bár igaz olyat is láttam, hogy ezt jelöli ki, de nem is itt van a hiba...MIT NEM ÉRT EZEN? ... Kikészít már :-D


    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10],vRng,10,0)"

          1.erre gondolsz? rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10],"& vRng &",10,0)"

          2.meg erre? rWorkRange.Offset(0, 10).Value = WorksheetFunction.VLookup(rWorkRange, vRng, 10, False)

          /a neten láttam, hogy ilyenkor így írják a dolgot "WorksheetFunction.VLookup(range("rWorkRange"),range("vRng"), 10, False)

          3. meg hogy a Value helyett Name legyen? Vagy Formula?

 

      rWorkRange.Offset(0, 11).Value = rWorkRange.Offset(0, 9).Value - rWorkRange.Offset(0, 10).Value
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i


Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub

Előzmény: Törölt nick (14105)
_Nyuszi Creative Commons License 2011.02.23 0 0 14111

Hogyan tudsz egy cellába képet tenni?

Előzmény: mcsabi30 (14110)
mcsabi30 Creative Commons License 2011.02.23 0 0 14110

Hali!

Excelbe szeretnék képre hivatkozni függvénybe, lehetséges ez? Ha igen hogyan?

Pl.:ha A1=1 akKor B1=kép, ha A1=2 akkor B1=egy másik kép

Előre is köszi.

Sznida Creative Commons License 2011.02.23 0 0 14109

Sziasztok,

 

Robbantomester jó helyen jár.

A probléma a sor/oszlop relatív hivatkozással van, a formulaR1C1 se működött, nálam. Ezért megcsináltam az én verzióm, ami nálam lefut, kicsit csúnya, de működik. Sajnos van benne egy azaz kett csere az angol-magyar nyelv miatt, erre lehet nem lesz szükséged Wawabagus.

A Kód: (mármint amit beírtam, az egyik do while loop ciklus)

 

    Do While rWorkRange.Value <> Empty
   
    Tartomany = vRng.AddressLocal(ReferenceStyle:=xlR1C1, _
        RowAbsolute:=False, ColumnAbsolute:=False, _
        RelativeTo:=Worksheets(1).Cells(1, 12))
        'A magyar excel VBA-ja az oszlopot "O"-nak jelöli, ezt kell átcserélni "C"-re, ez a két sor azt csinálja :)

        Tartomany = Application.WorksheetFunction.Replace(Tartomany, InStr(1, Tartomany, "O"), 1, "C")
        Tartomany = Application.WorksheetFunction.Replace(Tartomany, InStr(1, Tartomany, "O"), 1, "C")
        rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10]," & Tartomany & ",10,0)"
        rWorkRange.Offset(0, 11).Value = rWorkRange.Offset(0, 9).Value - rWorkRange.Offset(0, 10).Value
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop

Remélem neked is működni fog!

 

Üdv: Sznido

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

még valami, ha mindenképpen így akarod:

"=VLOOKUP(RC[-10],vRng,10,0)"

Akkor így próbáld, ugyanis a változód idézőjelek között, van. Ez így szöveg.

"=VLOOKUP(RC[-10]"&,vRng&",10,0)"

Perszi lenti hsz-em alapján fogalmam sincs mi lesz belőle.


Előzmény: wawabagus (14102)
Törölt nick Creative Commons License 2011.02.23 0 0 14107

még ezzel is gond lehet:

Set vRng = wbPriceList.Worksheets(1).Range("B:M")

 

ugyanis a vba a cellába beírandó képletet sor/oszlop relatív hivatkozással tudja csak értelmezni és valószínűleg ennek ez keresztbe tesz. Használhatsz .FormulaR1C helyett sima .Formula-t is. (Tudod, a .Value helyett)

 

Előzmény: wawabagus (14102)
Törölt nick Creative Commons License 2011.02.23 0 0 14106

A NAME-t pedig a vRng , miatt írja ki, mert a tábládban lennie kell egy ezzel a névvel ellátott tartománynak.

Előzmény: wawabagus (14102)
Törölt nick Creative Commons License 2011.02.23 0 0 14105

1. Szerintem nam .value kell neki, hanem .FormulaR1C1 

2. ne így használd a vlookup-ot, hanem így:  Worksheetfunction.VLookup(...)  az argumentumok ugyanazok.

Előzmény: wawabagus (14104)
wawabagus Creative Commons License 2011.02.23 0 0 14104

Szia,

Próbáltam, de nem nem érti. Beírj az első celléba, ahova kell és finish : #NAME?.

Kipróbáltam egy az egyben is. Megadva szépen a ranget és szépen kezdi is kitölteni, de az első olyan után cella után ahova nem talál megfelelést "n/a" lenne leáll az egésszel.

Olvastam a neten, hogy a worksheetfunction.vlookup-ot kéne itt használni, mert az nem robban le az első sikeretelen találat után...

 

De basszus lezsibbadtam ettől :-).

Egy hajszál választ el a kész macrotól :-D...és annyire idegesítő hogy ez a vlookup kérdés nem is annyira egyszerű...

 

Most már el kell mennem, de holnap folyt köv...NEM ADOM FEL :-)))...olyan szépen haladtam :-)

 

Majd jövök holnap :-)!

Köszi a problémámmal való foglalkozást!!

Szép estét

 

 

Előzmény: Sznida (14103)
Sznida Creative Commons License 2011.02.23 0 0 14103

Szia,

 

Próbáltad vRng.address-el?

 

Üdv: Sznido

Előzmény: wawabagus (14102)
wawabagus Creative Commons License 2011.02.23 0 0 14102

Sziasztok!

Kéne egy kis segítség :-).

VBA-ban egy loopos VlookUp és egy primko kivonás kifogott rajtam.

 

A misszió, hogy a CheckFile fájlba beírjon egy Vlookupot összekötve a fájlt a PriceList fájllal. Mindezt loop-pal.

vRng hivatott leegyszerűsteni a dolgot, de azt írja ki az excel a vlookup függvényre hogy "NAME?"...szóval nem érti. Én sem.

 

Minden remekül működik. El is kezdi beírni a Vlookupot, de nem tudja értelmezni. Én meg nem értem mit nem ért.

Ti értitek?

Bocsánat kicsit hosszú a macro...

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

 

-------------------------------------

Sub teszt2()
Dim wbPriceList As Workbook
Dim wbCheckFile As Workbook
Dim rWorkRange As Range
Dim vRng As Range
Dim x As Long

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show
Set wbCheckFile = ActiveWorkbook

MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show
Set wbPriceList = ActiveWorkbook


Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

x = wbCheckFile.Worksheets.Count


For i = 1 To x
    wbCheckFile.Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    wbCheckFile.Worksheets(i).Range("B1") = "UniqueCode"
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("A2")
    
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&"" ""&YEAR(RC[6])"
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i

For i = 1 To x
wbCheckFile.Worksheets(i).Range("B:B").Copy
wbCheckFile.Worksheets(i).Range("B:B").PasteSpecial xlPasteValues
wbCheckFile.Worksheets(i).Range("L:M").Insert Shift:=xlToRight
wbCheckFile.Worksheets(i).Range("O:P").Insert Shift:=xlToRight


wbCheckFile.Worksheets(i).Range("L1") = "PriceList.LaborPrice"
wbCheckFile.Worksheets(i).Range("M1") = "Diff"
wbCheckFile.Worksheets(i).Range("O1") = "PriceList.PartsPrice"
wbCheckFile.Worksheets(i).Range("P1") = "Diff"

Next i

wbPriceList.Worksheets(1).Range("B:B").Insert Shift:=xlToRight
wbPriceList.Worksheets(1).Range("B2") = "UniqueCode"
    Range("A3").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[5]&""_""&RC[4]&""_""&RC[-1]"
            ActiveCell.Offset(1, 0).Select
        Loop
        
wbPriceList.Worksheets(1).Range("B:B").Copy
wbPriceList.Worksheets(1).Range("B:B").PasteSpecial xlPasteValues

For i = 1 To x
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("B2")
    Set vRng = wbPriceList.Worksheets(1).Range("B:M")
    
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10],vRng,10,0)"
        rWorkRange.Offset(0, 11).Value = rWorkRange.Offset(0, 9).Value - rWorkRange.Offset(0, 10).Value
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i


Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub

 

SQLkerdes Creative Commons License 2011.02.22 0 0 14101

Sőt backdoor sem műxik, hogy a Function-ből meghívok egy sub-ot

 

Function TotalLink(InputRange As Range) As Variant
Call formatter(InputRange, Application.Caller)

TotalLink = InputRange.Value                

End Function 

 

Sub formatter(SourceRange As Range, TargetRange As Range)  

SourceRange.Copy 

TargetRange.PasteSpecial (xlPasteFormats)   

End Sub

 

Meghívja a sub-ot, az le is fut, mégsincs semmilyen hatása.

Előzmény: Jimmy the Hand (14100)
Jimmy the Hand Creative Commons License 2011.02.22 0 0 14100

Izé... Nekem se sikerült sehogy sem, pedig próbálkoztam...

Aztán utánanéztem, és ezt találtam:

 

"UDF's do not have the same flexibility as a standard Procedure. A UDF cannot alter the structure of a Worksheet, such as change the Worksheet name, turn off gridlines, protect the Worksheet etc. They cannot change a physical characteristic of a cell, including the one that houses the UDF. So we cannot use a UDF to change the font colour, background colour etc of any cell. They cannot be used to try and change any part of another cell in any way at all. This means a UDF cannot place a value into any other cell except the cell housing the UDF."

(Forrás: http://www.ozgrid.com/Excel/free-training/ExcelVBA1/excelvba1lesson21.htm)

 

Úgy tűnik, ez zsákutca.

Előzmény: SQLkerdes (14099)
SQLkerdes Creative Commons License 2011.02.22 0 0 14099

Valóban elsikkadt a Caller-es hozzászólás...

 

Szóval ezt csináltam, de a formátumot nem másolja...

 

Function TotalLink(InputRange As Range) As Variant
InputRange.Copy

Application.Caller.PasteSpecial (xlPasteFormats)

TotalLink = InputRange.Value                

End Function

Sznida Creative Commons License 2011.02.22 0 0 14098

Nincs mit, máskor is, ha itt leszek! :)

Előzmény: kelan (14097)
kelan Creative Commons License 2011.02.22 0 0 14097

Köszönöm szépen a segítségedet, pont erre gondoltam! :) Legközelebb konkrétabban megfogalmazom. :)

Előzmény: Sznida (14056)
Jimmy the Hand Creative Commons License 2011.02.22 0 0 14096

"Ebből csak azt nem látom még, hogy a cél-cellát hogy hivatkozzam meg az UDF-ben..."

 

Úgy látom, elsikkadt a 14083. hsz.

 

"Lehet egy Change eseménykezelővel jobban lehetne boldogulni"

 

Képlet számolása nem vált ki a Change eseményt.

Ha pl. B1 cellában a képlet =A1, és A1 megváltozik, akkor lesz Change, de ekkor a Target A1 lesz, és B1-et csak a Target.DirectDependents tartományból tudod kihámozni. Ha a Target.DirectDependents egyetlen cella, akkor szerencséd van. Ha több cella, akkor melyik lehet az, amit át kell színezni?

Előzmény: SQLkerdes (14094)
Törölt nick Creative Commons License 2011.02.21 0 0 14095

Én a forrás cellából csak rámásolnám  .PasteSpecial Paste:=xlPasteFormats módon a célcellára a formátumot. A fene állítgatná egyesével azokat (mert erre következtettem a hszodból)

Sőt. A legegyszerűbb a teljes oszlopra átmásolni, lassítani nem nagyon lassít...

Nehogy egyesével állítgass be minden cellaformátum tulajdonságot
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: SQLkerdes (14094)
SQLkerdes Creative Commons License 2011.02.21 0 0 14094

Hát mert a kérdező az UDF saját cellájában szeretné látni a forrás-cella formázását.

Szóval a teendő:

- kitalálni mi a forrás cella (ez ugye bejövő adat, simán megy);

- kiolvasni a forrás-cella minden formázását (Bold, Italic, keret, szín, stb.)

- a cél cella formázását a fentiekkel azonossá tenni.

 

Ebből csak azt nem látom még, hogy a cél-cellát hogy hivatkozzam meg az UDF-ben...

 

Lehet egy Change eseménykezelővel jobban lehetne boldogulni (ott mondjuk az lenne relatíve bonyolult, hogy kiszedjük a cellatartalomból, hogy csak egy sima =B1 tipusú hivatkozás van benne és nem egy "Sheet3!A4+5"

Előzmény: Törölt nick (14088)
Sánta Kutya (SK) Creative Commons License 2011.02.21 0 0 14093

Köszi! Valóban nem fórumoztam, plusz még ha fórumozok, akkor is ritkábban írok ide, mert nagyon eltolódott a topik a makróírás felé, amiben meg én is tanonc lehetnék, és csak lesem a válaszokat.

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

te egy ideje eltűntél a fórumról, üdv újre

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: Sánta Kutya (SK) (14091)
Sánta Kutya (SK) Creative Commons License 2011.02.21 0 0 14091

Gondoltam, hogy valami vicces hiba lehet. :-)

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

Köszi,

a többiért meg elnézést, egy opera fordító plugin okozza. (Természetesen én semmit nem írok be, csak a hsz-omat)

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

Elgondolkodtam rajta: például le lehetne kérdezni a cellára előre beállított formázást vagy feltételes formázást, vagy lehetne relatívan címezni a tőle eggyel balra levő cellát vagy ilyesmi.

 

Talán az afrikaanst választanám a listádból, ott most jó idő lehet.

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

sql, mia  fenének kell egy UDF saját celláját meghivatkozni?

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: SQLkerdes (14079)
Bendeguuz Creative Commons License 2011.02.21 0 0 14087

nagyon köszönöm :)

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

=ABS(G14)

Előzmény: Bendeguuz (14085)
Bendeguuz Creative Commons License 2011.02.21 0 0 14085

Sziasztok!

 

SOS feladat, a G14 eredményét hozza át a H16-ba, de, ha negatív, akkor szorozza meg -1, hogy pozitív legyen, de, ha pozitív, akkor hagyja békén, mert ide, csak pozitív szám kerülhet.

 

Nagyon köszönöm, a segítséget.

 

Bendegúz

boraka Creative Commons License 2011.02.21 0 0 14084

Már nem nagyon emlékszem, de mintha a 2003 - 2007 verzióváltáskor merült volna fel, különböző függvények (dátum?) kapcsán. Talán még az Analysis Toolpak használata (illetve ennek bekapcsolása) is lehetett... Sajnos, nem tudok bővebben segíteni.

Előzmény: 72G (14082)
Jimmy the Hand Creative Commons License 2011.02.21 0 0 14083

Application.Caller

Előzmény: SQLkerdes (14079)
72G Creative Commons License 2011.02.21 0 0 14082

Szia boraka,

 

annak idején kaptál erre választ?

 

Nálam szintén a "Fájlhibaaz adatok elveszhetnek" hibaüzenet jelent meg, és nem tudom mit tegyek, hogy az esetleges adatvesztést elkerüljem.

 

Persze mindenki más segítségét is örömmel veszem... :)

Előzmény: boraka (6431)
Sznida Creative Commons License 2011.02.20 0 0 14081

OK, mostmár rájöttem, hogy nem erre (activecell.address) gondoltál...

Előzmény: Sznida (14080)
Sznida Creative Commons License 2011.02.20 0 0 14080

Szia,

 

Már lehet megoldottad, de ha nem, és ha erre gondoltál, akkor

activecell.address

 

Üdv: Sznido

Előzmény: SQLkerdes (14079)
SQLkerdes Creative Commons License 2011.02.20 0 0 14079

UDF = User Defined Function

Egy olyan excel függvény, amit a felhasználó maga ír.  Gyakorlatilag egy makró (makro?).

 

Ha jár erre valaki aki tudja hogy kell az UŰDF saját celláját  meghivatkozni a kódon belül (ThisCell) az nyugodtan szóljon, mert ezzel senyvedek...

Előzmény: zso68 (14078)
zso68 Creative Commons License 2011.02.20 0 0 14078

Érzem a törődést és köszönöm is!

 

Majd nagyon, de nagyon figyelek, merthogy igazából teljesen ámátőőőr excel felhasználó vagyok. (Egyelőre fogalmam sincs mi az az UDF, de majd bólogatok, mintha érteném.)

 

zso68

Előzmény: SQLkerdes (14077)
SQLkerdes Creative Commons License 2011.02.20 0 0 14077

UDF-fel szerintem meg lehet oldani, majd gondolkodom rajta.

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

Szívesen.

Beépített függvényeket nem lehet cellaformázásra használni.

Előzmény: zso68 (14075)
zso68 Creative Commons License 2011.02.20 0 0 14075

Köszönöm robbantomester, a Te megoldásodat használom, mivel a cellák formátuma a legtöbb esetben szöveg! Tökéletesen müködik.

Mégegyszer köszönöm a többieknek is a segítséget!

 

 

Kérdeznék még egyet:

 

El tudom-e érni azt (függvénnyel, xl2003-ban, szövegformátumú cellákkal), hogy az A1 cellára hivatkozó B1 cellába is az A1 formátuma "menjen át"?

Tehát, ha a szöveg A1-ben fekete háttérszínnel fehér félkövér szöveg, akkor a B1-ben is ugyanaz a szöveg és ugyanígy fekete alapon fehér félkövér legyen.

 

Köszönettel: zso68

 

Előzmény: Törölt nick (14071)
zso68 Creative Commons License 2011.02.20 0 0 14074

Jó reggelt!

 

Már régóta olvasgatom a fórumot és tudtam, hogy ez egy jó kis közösség, de hogy ilyen gyorsan ennyi értékes megoldást kapjak... kellemes meglepetés.

Köszönöm mindenkinek a segítőkészséget, még ma kipróbálom őket.

Az xl2003-as megoldás érdekelne elsősorban.

A cellák formátuma a legtöbb esetben szöveg, egy másik munkafüzetben pedig idő.

 

zso68

 

Előzmény: SQLkerdes (14065)
Törölt nick Creative Commons License 2011.02.19 0 0 14073

de persze csak szöveggel működik, viszont neked számra kell.

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: Törölt nick (14071)
Törölt nick Creative Commons License 2011.02.19 0 0 14072

pl:

=INDEX(A:B;HOL.VAN(I1;A:A;0)+3;2)

Előzmény: mouser (14057)
Törölt nick Creative Commons License 2011.02.19 0 0 14071

Szerintem ez a kettő a legegyszerűbb és leggyorsabb:

Ha "B" oszlopban vannak cellaértékek

első:

=FKERES("*";B:B;1;0)

utolsó:

=INDEX(B:B;HOL.VAN("*";B:B;-1);1)

 

Előzmény: zso68 (14064)
_Nyuszi Creative Commons License 2011.02.19 0 0 14070

Azazhogy:

 

=HA(VAGY(ÉS(munka1!C14="";munka1!C15<>"");segéd1!C14=1);1;0), ekkor pontosan az első előfordulástól lesznek egy 1-eseid a segédmunkalapon.

 

A folyamatos szövegben a félkövér az módosulatot jelöl, a képletből a jelölt résznél kikerült egy idézőjel-páros. Elnézést!

Előzmény: _Nyuszi (14069)
_Nyuszi Creative Commons License 2011.02.19 0 0 14069

Ha ehető méretű a táblázat, akkor egy másik munkalapon (igen, megint :) ) csinálsz egy olyan függvényt, hogy mondjuk a C15-be ez kerül: =HA(VAGY(ÉS(munka1!C14="";munka1!C15<>"");segéd1!C14="1");1;0), ekkor pontosan az első előfordulásnál lesz egy 1-esed a segédmunkalapon. Ennek a sorszámát már le tudod kérni akár egy FKERES-sel más függvénnyel is, hogy az értéket megkaphasd.

Előzmény: zso68 (14064)
_Nyuszi Creative Commons License 2011.02.19 0 0 14068

Ha az elsőt valahogy meg tudod keresni, az utolsót a DARABTELI-vel ki tudod fejezni belőle. Az elsőn még agyalok én is.

Előzmény: zso68 (14064)
SQLkerdes Creative Commons License 2011.02.19 0 0 14067

xl2007-ben (angol változat) a következő függvény adja meg a B oszlop utolsó cella értékét:

=INDEX(B:B,MAX((ROW(B:B)*(B:B<>""))))

Magyar verzióban talán:  =INDEX(B:B,MAX((SOR(B:B)*(B:B<>""))))

 

FONTOS:  a fenti függvényt úgy kell bevinni, hogy NEM sima enter-t ütsz, hanem CTRL+SHIFT+ENTER-t.  Ha jól csináltad akkor {} zárójelek közé kerül a függvény.

 

A legelső nem üres cella értékét úgy kapod meg ha a fenti függvényben a MAX-ot kicseréled MIN-re.

 

 

Próbálok még kitalálni valamit ami xl2003 alatt is működne (mert a fenti B:B hivatkozást az xl2003 nem eszi meg).

Előzmény: zso68 (14064)
SQLkerdes Creative Commons License 2011.02.19 0 0 14066

Ja, és még egy:  a cellákban számok vannak vagy valami más (szöveg, boolean, stb.)

A MIN és MAX-ból arra következtetek, hogy számok, de azért tisztázzuk.

Előzmény: zso68 (14064)
SQLkerdes Creative Commons License 2011.02.19 0 0 14065

Ez most egy olyan eset, amikor nagyon számít, hogy milyen exceled van.

Mert xl2007 (és fölötte) van ötletem, ha xl2003 akkor még rágódni kell rajta.

Előzmény: zso68 (14064)
zso68 Creative Commons License 2011.02.19 0 0 14064

Sziasztok!

 

A következő lenne a kérdésem:

A B oszlop cellái adatokkal vannak feltöltve, de nem B1-től B100-ig, hanem pl B12-től B25-ig. Ugyanígy a C, D, stb oszlopok, de változóak az első és utolsó feltöltött cellák.

Függvénnyel szeretném megkerestetni az első kitöltött cellát, illetve annak a tartalmát pl a B oszlopban. Utána az utolsó kitöltött celláét.

A MIN, MAX, illetve a KICSI és NAGY függvények azért nem jók, mert nem sorba rendezettek az egymás alatti adatok. Nekem mindig az első "nem üres" és az utolsó "nem üres" cella értékére lenne szükségem.

Előre is köszi!

 

zso68

 

Jimmy the Hand Creative Commons License 2011.02.19 0 0 14063

OFSZET függvény?

Előzmény: mouser (14062)
mouser Creative Commons License 2011.02.19 0 0 14062

ez a hol.van jónak tűnik, azt hiszem, ezen az úton gondolkodom tovább.

Előzmény: _Nyuszi (14061)
_Nyuszi Creative Commons License 2011.02.19 0 0 14061

Akkor csináld meg a tükörképét egy másik munkalapra, ahol csak =A1 és hasonló képletek vannak. :-)

Vagy véges sok adat esetén HOL.VAN-nal kikeresed a betűt, hozzáadsz hármat és megkapod a sor számát. Egymásbaágyazott HA függvényekkel ki tudod kerestetni, de ez macerásan bővíthető.

Előzmény: mouser (14060)
mouser Creative Commons License 2011.02.19 0 0 14060

az a baj, hogy az első táblát egyáltalán nem módosíthatom, onnan csak adatokat vehetek ki.

Előzmény: _Nyuszi (14059)
_Nyuszi Creative Commons License 2011.02.19 0 0 14059

Ha beírod a B5-be, hogy =B8? (Itthon OK.)

 

Előzmény: mouser (14057)
mouser Creative Commons License 2011.02.19 0 0 14058

persze más függvény is jó lesz nekem :-))

Előzmény: mouser (14057)
mouser Creative Commons License 2011.02.19 0 0 14057

sziasztok!

 

valaki tudna nekem segíteni, hogy hogyan tudom fkeres függvénnyel visszaadni egy adott cella alatt 4 sorral lévő cella értékét? magyarul hogy tudnám visszaadni ebben a táblában a különböző változók értékeit?

 

   

Sznida Creative Commons License 2011.02.18 0 0 14056

Egy másik checkbox-al a színét így tudod ki- és bekapcsolni:

 

Private Sub CheckBox2_Change()
If CheckBox2.Value = True Then
    ActiveSheet.Shapes("Negyzet").Fill.Solid
    ActiveSheet.Shapes("Negyzet").Fill.ForeColor.SchemeColor = 10
ElseIf CheckBox2.Value = False Then
    ActiveSheet.Shapes("Negyzet").Fill.Visible = msoFalse
End If
End Sub

 

Üdv: Sznido

Előzmény: Sznida (14055)
Sznida Creative Commons License 2011.02.18 0 0 14055

Szia,

 

Egy modulból hozzáadtam a munkalaphoz egy alakzatot:

 

Sub Alakzat()
With ActiveSheet.Shapes.AddShape(msoShapeFlowchartProcess, 201.75, 159#, 72#, 48#)
    .Name = "Negyzet"
End With
End Sub

 

A lényeg, hogy nevet adtam neki: "Negyzet"

Ezután a visual basic eszköztárról kiraktam egy checkbox-ot, és annak a programja:

 

Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
    ActiveSheet.Shapes("Negyzet").Visible = True
ElseIf CheckBox1.Value = False Then
    ActiveSheet.Shapes("Negyzet").Visible = False
End If
End Sub

 

Ha ki van pipálva, akkor látszik az alakzat, aha nincs akkor nem!

 

Erre gondoltál?

 

Üdv: Sznido

 

Előzmény: kelan (14053)
Sznida Creative Commons License 2011.02.18 0 0 14054

Szia, egy kicsit bővebben is fogalmazhatnál, milyen alakzat, eltűntetni, vagy milyen tulajdonságát akarod megváltoztatni? Milyen verziós excel-lel?

 

Üdv: Sznido

Előzmény: kelan (14053)
kelan Creative Commons License 2011.02.18 0 0 14053

Sziasztok! Hogyan tudnék egy alakzatot eltűntetni, vagy a színét megváltoztatni egy jelölőnégyzet vezérlőelemmel?

tt65 Creative Commons License 2011.02.16 0 0 14052

szuper! köszi

Előzmény: :Snoopy: (14051)
:Snoopy: Creative Commons License 2011.02.16 0 0 14051

A BKV oldalán számos járatnál már megállóhelyre bontva is meg tudod nézni az indulásait.

csak görgesd lejjebb a PDF et.  Amúgy nálunk kicserélték a megállóból való indulásra a táblákat a végállomási helyett

Előzmény: tt65 (14048)
_Nyuszi Creative Commons License 2011.02.16 0 0 14050

Ezt a kérdést a Városi és elővárosi közlekedés (VEÉK) fórumban tessék feszegetni, ott vannak releváns személyek is. :)

 

"hanem az érkezés időpontját?"

Indulást szoktak feltüntetni :), és egyre több helyen az a gyakorlat (igen, a BKV-n belül), hogy az adott megállóból való indulást szerepeltetik. Mivel minden táblát le kell gyártani (meglepő módon), akkora nagy pluszköltséget nem okoz a dolog, de még nincs így mindenhol, valóban. Talán majd egyszer....

(Azt hiszem, ha változik a menetrend, és újra kell nyomni a táblákat, akkor van ilyenre lehetőség, külön nem fognak menetrendet gyártani, ha az időadatok nem változnak, éppen a költséghatékonyság jegyében, de pontosabb infókat nem tudok.)

Előzmény: tt65 (14048)
_Nyuszi Creative Commons License 2011.02.16 0 0 14049

Ne nevettess, éppen eszek. :)

 

" el kéne hívjalak randira"

Majd felírlak a listára... :)

 

Egyébiránt a párommal egyeztess... ;-)

 

Azt meg ne is reméld, hogy az életkoromat egy nyúlvános fórumon fogom kiteregetni. :-)

Előzmény: :Snoopy: (14047)
tt65 Creative Commons License 2011.02.16 0 0 14048

HA már felmerült a téma, olyan menetrendet nem lehet excelezni, hogy ne az egymást követő állomások időben mért különbségét lehessen látni, hanem az érkezés időpontját? 

Engem pl. tök idegesít, hogy egy BKV busz esetén ki kell számolnom, hogy akkor mikor fog adott helyre érkezni a busz! Igaz, akkor minden megállóba más papírt kéne kitenni, de nem hiszem, hogy ez akkora gond lenne ma már! 

Előzmény: :Snoopy: (14045)
:Snoopy: Creative Commons License 2011.02.16 0 0 14047

na várj most melózok este majd elszöszögök vele.

Te meg annyit segítesz már nekem, el kéne hívjalak randira :) hány éves is vagy?

Előzmény: _Nyuszi (14046)
_Nyuszi Creative Commons License 2011.02.16 0 0 14046

"visszaírtam de lehet nem ment át, neharagudj."

Úgy tűnik, elkallódott.... :(

 

"Ilyen esetben minden megálló időadatánál hozzá kell rendelnem cellánként az időt?"

Mondjuk a cella tartalma másolható is, azért van a jobb alsó sarkában a kis jel. :-)

 

 

Megcsinálod az első oszlopot és átmásolod. Vagy... Nem? :S

Előzmény: :Snoopy: (14045)
:Snoopy: Creative Commons License 2011.02.16 0 0 14045

Szia Te is + Mások is.

visszaírtam de lehet nem ment át, neharagudj.

Kipróbáltam a hétvégén lehet rosszl állítottam be valamit de egy istennek se megy :(

 

Megtenné valaki hogy csinál egy olyan cellát hogy:

 

Megállóhelyek:

 

Moszkva tér                 0

Nyúl utca                     1 

János kórház               3

Kelemen L utca            6

stb.. majd beírom  tehát hogy az első részben +1 perccel nőjjön az idő  2-ik részben 2 perccel 3-ik részben 3 perccel.

 

Ilyen esetben minden megálló időadatánál hozzá kell rendelnem cellánként az időt? 

Mert úgy mondjuk egy egésznapos menetrendet bepötyögni kb 6 óra lehet  ha egyesével hozzárakom a cella értékéhez:(

 

Előzmény: _Nyuszi (14043)
_Nyuszi Creative Commons License 2011.02.16 0 0 14044

És körítés:

Nem bántottál meg, megszoktam már, hogy ez egy férfias világ... (Itt nyúlván nem erről van szó, de nem ráz meg, ha oltanak, ez a lényeg.) :)

 

Az én megoldásom elméletét bemásoltam, kérlek mondd meg, mondjátok meg, mit csinálnál, csinálnátok másképpen, egyszerűbben (én gondolkoztam a makrókban is, de akkor még teljesen az alapoktól kellett volna tanulni, nulla előképzettséggel, könnyebb volt képletekkel, most már más a helyzet).

Előzmény: Jimmy the Hand (14041)
_Nyuszi Creative Commons License 2011.02.16 0 0 14043

Hát, a legperverzebb ötletem (amivel anno én csináltam), hogy külön cellában kezelem az órát, a percet és a másodpercet (S-Bahn menetrend volt, ott kellett a másodperc is, de módszertanilag semmi extra). És tudta kezelni az éjfélt is. A kavar az volt, hogy ha a vonat valahol áthalad, akkor csak indulási időadat van, érkezési nincs (ha a tartózkodás üres, akkor halad át). Ez azért gond, mert hol az érkezési, hol az indulási adatot kapom meg az előző indulás + menetidőből, attól függően, hogy a tartózkodási idő cellája üres-e. Az működött, de gonosz módon nem is adom ingyen. :-)

A legeslegperverzebb pedig az, hogy az órát csak akkor írja ki, ha változik az előzőhöz képest, de az első és az utolsó előfordulásnál mindig szerepelteti. Ez egy másik munkalapra került, másképpen megformázva (kicsit a MÁV szolgálati menetrendje alapján). Itt már volt valami gond: azt hiszem, az éjfélt nem mindig tudta kezelni.

 

Az itt már elhangzott megoldás kellően sok csacsogással megfűszerezve és a saját szavaimmal előadva, tizenegyedikei keltezéssel (részlet):

 

Na, ezt meg lehet csinálni. :)

 

Csinálj egy menetidős oszlopot, és oda kell beírni, hogy hány perc legyen az út. De arra vigyázz, hogy ne számnak legyen formázva, hanem időnek, és akkor jó lesz. :)

 

(Az indulási időket úgyis időnek kell megformázni, és az Excel ugye úgy dolgozik, hogy asszem 1904. január 4-től számolja a napokat. Tehát ha 35131-et írsz be, az egy konkrét napot határoz meg. Ha időt akarsz megadni, azt pedig törtként: tehát a 35131,5 az eme konkrét napnak a dele, azaz 1996. március 7. 12.00 lesz az. :-) Az Excel így kezeli a napokat, időpontokat, függetlenül a megjelenítéstől, azaz hogy te csak dátumot, csak időpontot, illetve ezek valamilyen formátumú kombinációját, töredékét akarod kiíratni.)

 

Tehát: minden időnek legyen formázva, és akkor a szerkesztőlécen be tudod állítani a menetidőt, és ezt kell görgetni.

 

Ha többfajta menetidővel kell dolgozni (pl. más-más sebességcsoportokra), akkor vegyél fel több menetidő-oszlopot, és mondjuk egy HA függvénnyel a vonatszám alapján eldöntöd, hogy melyik idővel kell számolnod (pl. HA(vonatszám>37000;kisebb_menetido+elozo_indulas;nagyobb_menetido+elozo_indulas).

 

Előzmény: Jimmy the Hand (14041)
tt65 Creative Commons License 2011.02.16 0 0 14042

Semmi baj, jön majd Snoopy és minden a helyére kerül! :-)

Előzmény: _Nyuszi (14040)
Jimmy the Hand Creative Commons License 2011.02.16 0 0 14041

Elnézést, ha megbántottalak volna.

Csak arra bátorkodtam célozni, hogy számomra nem nyilvánvaló, mit is mondtál neki. Ha látom, talán magam is meg tudom mondani, mi nem jó benne (már ha tényleg hibás elgondolás), és akkor tudok itt villogni vele.

Az is eszembe jutott, hogy esetleg két nicken írsz, és néha kevered őket. Vagy ilyesmi.

 

Amúgy a topik "szétoffolása" nem végzetes hiba, megtörtént már párszor, és mindenki túlélte ;-)

Sőt, szerintem jót tesz a közösségi szellemnek, ha néha van egy kis csevej kevésbé szakmai dolgokról.

Előzmény: _Nyuszi (14040)
_Nyuszi Creative Commons License 2011.02.16 0 0 14040

Hát, erre én sem tudom a választ. Én arra gondoltam, hogy Snoopy válaszol nekem, hogy mi volt a baj... De nem így történt, hanem offoljuk szét a fórumot ezerrel.

Előzmény: tt65 (14039)
tt65 Creative Commons License 2011.02.16 0 0 14039

Egy vasútbuzullusok topik levélváltásoknak  miért kellene nyomának lennie az excel topikban?

Előzmény: _Nyuszi (14038)
_Nyuszi Creative Commons License 2011.02.16 0 0 14038

Hát ez az..... :(

Innen indult a dolog: http://forum.index.hu/Article/viewArticle?a=107362202&t=9005494

Ezt követte két-három levélváltás, valószínűleg ezért nincsen nyoma az Excel topikban. Legalábbis azt hiszem....

Előzmény: tt65 (14037)
tt65 Creative Commons License 2011.02.16 0 0 14037

Nyuszi te ezt nem érted! :-)

Előzmény: _Nyuszi (14036)
_Nyuszi Creative Commons License 2011.02.16 0 0 14036

És ez hogyan jön ide? :)

Előzmény: Jimmy the Hand (14035)
Jimmy the Hand Creative Commons License 2011.02.16 0 0 14035

Ez volt az első hsz-ed az Excel topikban...

Előzmény: _Nyuszi (14034)
_Nyuszi Creative Commons License 2011.02.16 0 0 14034

Amit én mondtam, azzal mi a baj?

Előzmény: :Snoopy: (14033)
:Snoopy: Creative Commons License 2011.02.16 0 0 14033

köszi..  Nem dolgozom ott csak hobbi szinten tervezgetek :)

Csak állandóan cellaképlet hibát ír :(  Na majd megpróbálom átalakítnai valahogy .

köszi

Előzmény: tt65 (14032)
tt65 Creative Commons License 2011.02.16 0 0 14032

Ezekbe az idős dolgokba, jól el lehet keveredni eleinte.

A lényeg, hogy mindig nézd meg, hogy az adott cella milyen formátumú, dátum, idő, általános stb.

Az idő és dátum formátumnál, mást amit látsz és más az ami a cellában van. 

Időnél mindig egy olyan számot tartalmaz, aminek a törtrésze (azaz a tizedes pont utáni része) határozza meg az időt!

Ha a törtrész 0, akkor éjfél van, ha törtrész ,5 akkor déli 12, stb. Így egy perc az 1/60*24, tehát ha a két megálló közt 2 perc a menetidő, akkor nem 0,002-t kell hozzáadni, hanem 2/60*24-et. Azzal működne, de amit az urak ez előttem szólóak javasoltak, sokkal elegánsabb.

 

De miért nem töltöd le az egészet a BKV honlapjáról? Esetleg náluk dolgozol és készül az új menetrend?

 

Előzmény: :Snoopy: (14026)
:Snoopy: Creative Commons License 2011.02.15 0 0 14031

köszi

SQLkerdes Creative Commons License 2011.02.15 0 0 14030

Mekkora tolongás van itt :-)

Előzmény: SQLkerdes (14029)
SQLkerdes Creative Commons License 2011.02.15 0 0 14029

Nos, amikor nem adja hozzá, akkor lehet, hogy igazából mégis hozzáadja.

Próbáld meg a kiinduló adatodat (5:00) úgy beírni, hogy 00:05:00.  Előfordulhat, hogy a 5:00-t reggel öt órának érti és ebből jön a baj.

Előzmény: :Snoopy: (14026)
Jimmy the Hand Creative Commons License 2011.02.15 0 0 14028

=G10 + "0:02"

=G10 + "0:03"

Előzmény: :Snoopy: (14026)
Sznida Creative Commons License 2011.02.15 0 0 14027

Próbáld úgy, hogy egy oszlopba írd be a perceket, szintén idő formátumban (pl így 0:02, ez két perc) és ezt az értéket add hozzá a szintén idő formátumban lévő (5:00) cellához!

Ha nincs szükséged a perceket tartalmazó oszlopra, akkor rejtsd el!

Nálam így működik!

 

Üdv: Sznido

Előzmény: :Snoopy: (14026)
:Snoopy: Creative Commons License 2011.02.15 0 0 14026

Egy sima vasúti menetrendet szeretnék excellben készíteni.

 

Hogyan, milyen függvénnyel adjátok meg hogy az adott két állomás között mondjuk 2, 3, 4 5, perceket adjon az előtte lévő állomás időadatához, mert nekem hol 3-at ad hozzá hol 4-et ad hozzá a függvényem alkalmával és gyakran hibát jelez amit nem értek miért.

 

Én így csináltam

 

 

Moszkva tér:  5:00            05:00

Nyúl utca:     5:02     G10+0,002    (G10 ugye a cella száma)

János kórház 5:04    G10+0,003

és így tovább, így 2 perceket lép.

 

Aztán ha mondjuk a 0,003-at kijavítod 0,0035-re akkor  +1 percet ad hozzá  DE valamikor nem adja hozzá, meg kiírja hogy hibás képlet.

 

Szóval valami ilyesmire gondoltam hogyha leírok egy számot (időt) milyen képlettel tudom +1  +2  +3 +5 +10 perceket hozzáadni? 

 

mafikám Creative Commons License 2011.02.15 0 0 14025

Köszönöm szépen, most már nekem is működik!:))

Előzmény: Sznida (14020)
SQLkerdes Creative Commons License 2011.02.15 0 0 14024

Lehet a legegyszerűbb az, ha VBA-n keresztül fixálja a beillesztett object helyét.

 

Pld. ha úgy akarja az object-et berakni, hogy a bal felső sarka a C5 cellában legyen akkor ki kell olvasni, hogy hol van a a C5 cella teteje meg a bal oldali széle és azt megadni input adatnak.

 

Érdemes ezt megnézni:  http://hw.libsyn.com/p/f/6/f/f6fa54e8fd249a8f/vba11.mp4?sid=713dbeb4eda89087693d9a577a7df655&l_sid=18118&l_eid=&l_mid=2291479

Előzmény: E.Istvan (14022)
tt65 Creative Commons License 2011.02.15 0 0 14023

Ha az eredeti felvetést veszem, akkor az üres cellában  -"- macskaköröm szerepel, azt első sorban értelemszerűen nem is lehet, hiszen nincs fölöttes érték ami kopizhatna.

De csak felülről másol, alulról felfelé nem szokás alkalmazni, így az "esetleg alatti" kitétel nem jó, sőt hibát is okozhat szvsz.

Előzmény: Sznida (14020)
E.Istvan Creative Commons License 2011.02.15 0 0 14022

Én azt tapasztaltam, hogy akkor van jelentős eltérés a nyomtatás és a monitor között, ha a nagyítási szint eltér főleg ha jelentősen eltér a 100%-tól.

Láttam már olyan táblázatot, hogy a nagyítási szint kb 20-30 %-on mozgott. Így a delikvens nem látta, hogy mit ír a cellába, ezért a teljes táblázatba 36-os betűnagysággal írt. Aztán csodálkozott, hogy használhatatlan a nyomtatása. Minden diagramm és egyéb objektum elszált.

Előzmény: Ysty1976 (14005)
Delila_1 Creative Commons License 2011.02.15 0 0 14021

Ha Robbantómester módszerét választottad, a képletek beírása után a teljes oszlopokra irányítottan illesztd be az értéküket, mert ennek a kihagyása hamis értékeket okoz egy rendezésnél.

Előzmény: mafikám (14019)
Sznida Creative Commons License 2011.02.15 0 0 14020

Szia,

 

Lehet van egy üres cella az első sorban is, és a nulladik sorra való hivatkozás az #HIV hibát eredményez.

Nálam tökéletesen működik, igaz én 2003-as excelen próbáltam!

 

Üdv: Sznido

 

Előzmény: mafikám (14019)
mafikám Creative Commons License 2011.02.14 0 0 14019

Jimmy the Hand es robbantomester, köszi szépen. A makróban lefut viszont ha manuálisan csinálom, akkor nem azt kapom, amit szerettem volna, hanem #HIV!, illetve 0. Mi lehet a gond?

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

és ez ugyanaz mint amit Jimmy the Hand írt a 14016-ban

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

ctrl+g

irányított

"üres cellák" bejelöl

OK

Írj be egy = jelet és kattints az első üres cella feletti (esetleg alatti) cellára

CTR+ENTER

 

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: mafikám (14015)
Jimmy the Hand Creative Commons License 2011.02.14 0 0 14016

Próbáld ki ezt:

 

Sub kitölt()
    Dim c As Range, ws As Worksheet
    
    Set ws = ActiveSheet
    On Error Resume Next
    For Each c In ws.UsedRange.SpecialCells(xlCellTypeBlanks)
        c = c.Offset(-1)
    Next
End Sub

Előzmény: mafikám (14015)
mafikám Creative Commons License 2011.02.14 0 0 14015

Sziasztok! Van egy sok soros excel fájlom és az a gond, hogy ha keresni akarok benne valamit, akkor nem tudok, mert van benne egy csomó üres cella, mert ha az alatta lévő cella értéke ugyanaz, akkor nem töltötték ki, így a filter nem jeleníti meg azokat a sorokat, ahol üres cellák vannak. Hogyan lehetne úgy kitölteni az üres cellákat, hogy a felettük lévő legközelebbi teli cela értékét írja bele? 2007-es excelt használok, a makrókhoz sajnos keveset értek. Előre is nagyon köszi a segítséget!

Jozsef Creative Commons License 2011.02.14 0 0 14014

Itt találtam VBA-ban Poisson eloszlás generálót: http://www.vbnum.com/math/

Ez alapján: (Az Application.Volatile sort attól függően, hogy szeretnéd-e, hogy munkalapváltozáskor újragenerálódjon-e a szám vagy nem, hagyd benne vagy kommentezd ki, ezt én írtam bele, hogy próbálgatni lehessen az F9 billentyűvel)

 

'This function is used to simulate uniformly distributed random variables [0 1] excluding 0 and 1.
Public Function alea()
Randomize
    alea = Rnd()
If alea = 1 Then
    alea = 0.999999999999
End If
If alea = 0 Then
    alea = 1 - 0.999999999999
End If
End Function

 

'Simulate a Poisson distributed randome variable with parameter lambda
Public Function Randpoisson(ByVal lambda As Double) As Double
Dim N As Integer
Dim temp As Double
Application.Volatile

temp = alea()

N = 1
While (temp > Exp(-lambda))
N = N + 1
temp = temp * alea()
Wend
Randpoisson = N - 1
End Function

 

 

Egy cellába pl.  =RandPoisson(1/5)

tudod meghívni

Előzmény: istvan15 (14013)
istvan15 Creative Commons License 2011.02.14 0 0 14013

Szia!

 

Köszi, ToolPack-el megy.

De én arra gondoltam, hogy manuálisan a szerkesztőlécbe viszek be függvényt, ami legenerálja a Poisson számokat.

Mint pl. egyenletes eloszlást VÉL() fv.

Vagy a diszkrét egyenl. eloszl az INT(VÉL()) fv.

Vagy a karakterisztikus eloszlást HA(VÉL()) fv.

Tehát én erre gondoltam.

 

Üdv,

Előzmény: SQLkerdes (14010)
SQLkerdes Creative Commons License 2011.02.14 0 0 14012

Élek a gyanúperrel, hogy Ysty azért mondja, hogy nem ez a gond, mert a beállított és a látott kép között olyan nagy az eltérés, hogy azt nem gondolja magyarázhatónak az eltérő "felbontással".

 

Miközben én vagyok az első aki bevallja, hogy fogalmam sincs mi csinálja a problémát, azért megpróbálkoznék a cella-merge-ölés feloldásával majd ezután pozicionálással.  Nem ez lenne az első eset, amikor cellák összeolvasztása megkeveri a matériát...

Előzmény: Delila_1 (14011)
Delila_1 Creative Commons License 2011.02.14 0 0 14011

De éppen ezzel van a gond.

 

A normál nézetben teszed középre a képet, ami a monitor felbontásához igazodik. A nyomtatási nézet a printer felbontásában mutatja a lapot. Ezért kell, amennyire lehetséges, a nyomtatási nézetben igazítani, ahol csak a vízszintes igazításon tudsz módosítani.

Előzmény: Ysty1976 (14005)
SQLkerdes Creative Commons License 2011.02.14 0 0 14010

Akkor nem értem a problémádat.

A link másik végén ott van feketén-fehéren leírva, hogy az Analysis Toolpack tudja amire neked szükséged van.  Az AT-t adják az excel-lel együtt, vagyis neked is van.

 

Mi a probléma akkor?  Mert ennél többet én nem látom, h. hogy lehetne segíteni...

Előzmény: istvan15 (14009)
istvan15 Creative Commons License 2011.02.13 0 0 14009

köszi, de a gugli használata még megy:D

(azokat már véginéztem de nem sokra jutottam...)

üdv,

Előzmény: SQLkerdes (14008)
SQLkerdes Creative Commons License 2011.02.13 0 0 14008
Előzmény: SQLkerdes (14007)
SQLkerdes Creative Commons License 2011.02.13 0 0 14007

http://en.allexperts.com/q/Excel-1059/2009/3/Generate-Poisson-number-excel-1.htm

Nekem a gúgli ezt dobta.  Analysis toolpack ügynek tűnik, de sose próbáltam Poisson random számokat képezni.

Előzmény: istvan15 (14006)
istvan15 Creative Commons License 2011.02.13 0 0 14006

Sziasztok,

Excelben lenne szükségen Poisson eloszlású véletlen számokra (100db legalább), hogyan tudom ezt legenerálni?

VÉL() fv-nyel nem lehet, máshogy nem tudom:)

Köszi!

 

Ysty1976 Creative Commons License 2011.02.13 0 0 14005

A gond nem ezzel van! 

A nyomtatási képen már nincs benne a cellában a kép, hanem valahol odébb van a cellán kívül. Holott a nyomtatási képből kilépve a kép a cellában van. 

Előzmény: Delila_1 (14004)
Delila_1 Creative Commons License 2011.02.13 0 0 14004

A nyomtatási kép a számítógépre telepített nyomtató felbontásának (többé-kevésbé) megfelelően mutatja a képet, ezért nem egyezik a normál módban megjelenítettel.

 

A vízszintes elrendezést a nyomtatási képen módosíthatod. Bekapcsolod a margókat, azokat elhúzva tudsz állítani az oszlopok szélességén. Sajnos a sorok magasságát csak a normál nézetnél tudod átállítani.

Előzmény: Ysty1976 (14003)
Ysty1976 Creative Commons License 2011.02.12 0 0 14003

Segítsetek! Excel 2007-ben egyesítettem néhány cellát, beszúrtam egy képet, beigazítottam középre, beállítottam, hogy: "Áthelyezés és átméretezés a cellákkal együtt", úgy is tűnik, hogy oké, de a nyomtatási képben nem a cellában van a kép, illetve a következő megnyitáskor sem... Ilyenkor mi van? 

tt65 Creative Commons License 2011.02.12 0 0 14002

Nem értem, zuhanyoztam reggel! 

Előzmény: SQLkerdes (14001)
SQLkerdes Creative Commons License 2011.02.12 0 0 14001
Előzmény: tt65 (14000)
tt65 Creative Commons License 2011.02.12 0 0 14000

Nekem van olyanom is, ami a változó ünnepeket is számolja év szerint. Azzel lenne igazán elegáns.

Húsvét hétfő: =DÁTUM(B13;3;1)+MARADÉK((255-11*MARADÉK(B13;19)-21);30)+21+(MARADÉK((255-11*MARADÉK(B13;19)-21);30) + 21>48)+6-MARADÉK(B13+INT(B13/4)+MARADÉK((255- 11*MARADÉK(B13;19)- 21);30)+21+(MARADÉK((255-11*MARADÉK(B13;19)-21);30)+21>48)+1;7)+1

ahol B13 az évszám

Pünkösd hétfő az előbbi +49

Előzmény: Sztai (13993)
Sznida Creative Commons License 2011.02.11 0 0 13999

Köszönöm szépen, az idő szűkössége miatt az irányított szűrés, egyedi rekordok megjelenítését használtam (amit Te is ajánlottál, elsőnek), és ez működik, és kellően gyors is! :)

Meg fogom nézni a többi javaslatot is!

Köszönettel: Sznido

Előzmény: SQLkerdes (13998)
SQLkerdes Creative Commons License 2011.02.11 0 0 13998

A collection-ös megoldáshoz ez még jól jöhet http://www.java2s.com/Code/VBA-Excel-Access-Word/Data-Type/Collection.htm

 

Előzmény: SQLkerdes (13997)
SQLkerdes Creative Commons License 2011.02.11 0 0 13997

Vagy, az ultimét szolúsön (mondjuk annyira ultimét, hogy én nem is értek a VBA-nak ehhez a szegletéhez)

 

http://www.exceltip.com/exceltips.php?view=archive_showtips&ID=520 

 

Azt csinálja, hogy Collection-t alkalmaz, ami alapból kiszűri a duplikációkat.

 

Gondolom a fenti kódot masszírozni kell egy kicsit, hogy működjön a céljaidnak megfelelően, de ezek a kisérletezések azok amik tágítják az ember horizontját!

 

Mondjuk, ha ezt az utat választod, akkor ne feledd velünk is megosztani a kódot amit kidolgozol, hagy tanuljunk mi is.

Előzmény: Sznida (13992)
SQLkerdes Creative Commons License 2011.02.11 0 0 13996

Vagy megpróbálhatod használni a FREQUENCY függvényt is a munkalapon.

- valahova ahol nem látszik a munkalapon VBA-ból beteszed a FREQUENCY függvény adott elemre érvényes értékét,

- csak azokat az értékeket olvasod be, ahol a FREQUENCY függvény értéke NEM nulla (a FREQUENCY nulla értéket ad vissza egy szám nem első előfordulásakor),

- majd végül törlöd a FREQUENCY adatokat, szintén kódból.

 

 

Előzmény: SQLkerdes (13995)
SQLkerdes Creative Commons License 2011.02.11 0 0 13995

Lehet van VBA-sabb megoldás is, de most hirtelen ez jut eszembe:

- VBA-ból csinálj egy unique value listet (Filters / Advanced Filter / unique values only) mondjuk egy új munkalapra,

- a combobox-odat onnan töltsd fel adatokkal.

- utána meg töröld ki az egyedi értékek munkalapját.

Előzmény: Sznida (13992)
wawabagus Creative Commons License 2011.02.11 0 0 13994

Sztai Delila,

Nagyon köszönöm a segítséget!!!!

Sztai Creative Commons License 2011.02.11 0 0 13993

Továbbfejlesztettem az előbbi képletet. Ez megmondja hogy az A1-be írt dátum ünnep v. hétvége más esetben kiírja, hogy az adott hónap hányadik munkanapja. Tartalmaz egy "ünnepek" nevezetű tartománynevet, amelyet neked kell kijelölnöd és feltöltened az ünnepnapokkal.

Íme:

=IF(OR(WEEKDAY(A1;2)>5;NOT(ISNA(MATCH(A1;ünnepek;0))));" hétvége v. ünnep";NETWORKDAYS(DATE(YEAR(A1);MONTH(A1);1);A1;$G$2:$G$6))

üdv

Előzmény: wawabagus (13987)
Sznida Creative Commons License 2011.02.11 0 0 13992

Sziasztok,

Cellákból töltök fel egy Combobox-ot adatokkal (több ezer sorról van szó). Ugyanazt az értéket ami már szerepel a Combobox item-jei közt, azt nem akarom hozzáadni. A mostani makróm nem is adja hozzá, mert hozzáadás előtt leellenőrzi az összes item-et.

A probléma az, hogy több ezer sorról van szó, ha mindegyik különbözik, akkor folyamatosan ellenőriz mindent, ezért nagyon sokáig tart a feltöltés.

Tud valaki erre egy gyorsítást, vagy valami egyszerűbb megoldást?

 

A kód:

For i = 2 To usor
    If Userform1.ComboBox1.ListCount = 0 Then
        Userform1.ComboBox1.AddItem Cells(i, Oszlop)
        Adat(i) = Cells(i, Oszlop)
    Else
        For j = 2 To Userform1.ComboBox1.ListCount + 1
            If Cells(i, Oszlop) = Adat(j) Then
                Talalat = True
                Exit For
            End If
        Next j
        If Talalat = False Then
            Userform1.ComboBox1.AddItem Cells(i, Oszlop)
            Adat(i) = Cells(i, Oszlop)
        End If
    End If
Talalat = False
Next i

Köszönettel: Sznido

Delila10 Creative Commons License 2011.02.11 0 0 13991

A networkdays függvény paraméterei a Kezdő_dátum (esetedben a hónap elseje), a Vég_dátum (az a nap, amiről meg akarod tudni, hányadik munkanap a hónapban), és az ünnepek. Ez egy, akár névvel ellátott tartomány, amelyik a kérdéses időszakban lévő ünnepnapok dátumait tartalmazza. Természetesen érdemes az egész évi ünnepek dátumát beleírni.

Előzmény: wawabagus (13987)
Sztai Creative Commons License 2011.02.11 0 0 13990

Az előbb leírt képlet - =NETWORKDAYS(DATE(YEAR(A1);MONTH(A1);1);A1) - nem veszi figyelembe az ünnepnapokat. A NETWORKDAYS fv utolsó argumentumában kijelölhetsz egy tartományt, amely az évben előforduló ünnepnapokat tartalmazza és ekkor ezeket is figyelembe veszi a számoláskor.

Remélem érthető

Előzmény: wawabagus (13987)
Sztai Creative Commons License 2011.02.11 0 0 13989

A munkanap sorszámát így kapod meg feltéve, hogy A1 tartalmaz egy dátumot:

=NETWORKDAYS(DATE(YEAR(A1);MONTH(A1);1);A1)

üdv

 

Előzmény: wawabagus (13987)
Sztai Creative Commons License 2011.02.11 0 0 13988

Az eredetileg általad kért diag. tipussal is megtuddtam csinálni, az előbb leírtak szerint.

 

Előzmény: wawabagus (13985)
wawabagus Creative Commons License 2011.02.11 0 0 13987

Húúúúúhaaaaaa

:-D...trükkös vagy :-DDD...

Első olvasásra nem is értem, hogy csináltad, de megnézem step by step :-)

 

Köszi szépen!

 

Esetleg arra nincs tipped hogyan tudom kinyerni egy dátumból, hogy az a hónap hanyadik munkanapja?

Köszi

:-)

 

Előzmény: Sztai (13986)
Sztai Creative Commons License 2011.02.11 0 0 13986

Nem!

1. Kijelöltem a táblázatot és beszúrtam egy sima oszlopgrafikont (cluster/csoportosított).

2. Beállítottam, hogy a és b kerüljön a kategória tengelyre

3. Az értéket tartalmazó sorozatoknál beállítottam, hogy ne legyen kitöltés és szegély.

4. mindkét százalékos sorozatnál beállítottam a másodlagos értéktengelyt.

(ekkor a %-os és valódi érték oszlopok egymásra kerültek.

5. beállítom az oszlopoknál, hogy mutassa az értéket (4* kell megcsinálni, mert 4 oszlop van)

A láthatatlan oszlopokat a ChartTools (diagram eszközök), Layout (elrendezés) fül, CurrentSelection (aktuális kijelölés) csoport, legördülő listapaneljében tudod kiválasztani és így kijelölni, majd a Labels csoport (cimkék) DataLabels-nél (adatfeliratok) tudod beállítani, hogy hol mutassa az értéket.

6. A jelmagyarázatban a két láthatatlan oszlop feliratát fehér betüszinnel láthatatlanná tettem.

Ennyi

Előzmény: wawabagus (13985)
wawabagus Creative Commons License 2011.02.11 0 0 13985

:-))))).

Jól néz ki.

És akkor ezt text box-szal csináltad? :-)

Előzmény: Sztai (13984)
Sztai Creative Commons License 2011.02.11 0 0 13984

Szerintem ez biztos megfelel:

Előzmény: wawabagus (13975)
Sztai Creative Commons License 2011.02.11 0 0 13983

Ez így megfelelne?

Előzmény: wawabagus (13975)
oroby Creative Commons License 2011.02.09 0 0 13982

Delila, Sznida köszönöm a segítséget, nagyon hasznos volt és természetesen tökéletesen működik!

wawabagus Creative Commons License 2011.02.09 0 0 13981

Köszi neketek a segítséget!

 

SQLkerdes:

Véletlen ráklikkeltem erre a linkre:

http://www.fusioncharts.com/php/?bs=adwords_fc-cn_php-gh_img_cn&gclid=CLLQsJC7-6YCFcoifAodQBD_Fw

 

Hát ez nem semmi...baromi jó grafikonok és megjelenítés!!! Írigylésreméltó :-DDD

SQLkerdes Creative Commons License 2011.02.09 0 0 13980
Előzmény: wawabagus (13975)
Sznida Creative Commons License 2011.02.09 0 0 13979

Nem sokat segítetem... :(
Esetleg az SQLkerdes által elmített textboxokat valahogy makróval kitölteni? Nem tudom hogyan kell, de lehet így meg lehet oldani...

Próbálkozok vele...

 

Üdv: Sznido

Előzmény: wawabagus (13978)
wawabagus Creative Commons License 2011.02.09 0 0 13978

Sznida, és SQLkerdes,

 

Köszi szépen!

Hát akkor ez van :-D...

Máshogy kell boldogulni :-)

SQLkerdes Creative Commons License 2011.02.09 0 0 13977

Textbox-ként be tudod szúrni, de az értékeket manuálisan kell beírjad :-(

Előzmény: wawabagus (13975)
Sznida Creative Commons License 2011.02.09 0 0 13976

Szia,

 

Ennél a típusú diagramnál én se láttam aktívnak a százalékos kijelzést, a kördiagramnál viszont igen, ott működik.

Itt a csúnya megoldás ami csak a százalékos írja ki, ha egy oszlopba kiszámolod a százalákot, és abból készítesz ilyen diagrammot, de akkor az érték nem fog látszani... :(

 

Üdv

Előzmény: wawabagus (13975)
wawabagus Creative Commons License 2011.02.09 0 0 13975

Sziasztok!

Tudtok nekem segíteni?

Adott ez a táblázat:

    2010  2011

a    50      100

b    50      50

 

Olyan hisztogramot szeretnék létrehozni ahol % és szám is megjelenítésre kerül:

A százalák oszlop szerint számolódna.

Tehát: 50db 50db, de itt egyben 50% és 50%.

Míg 2011-nél 100db meg 50db és egyben 67% és 33%.

 

Hogy magyarázzam ezt el az excelnek? Elvileg tudom hol kell ezt beállítani,de mintha ennél a típusú hisztogramnál inaktív a %-os kijelzés...lehetséges egyáltalán a kérésem?

 

Köszi szépen a segítséget!!

 



 

wawabagus Creative Commons License 2011.02.09 0 0 13974

Sziasztok!

Hát bevallom tényleg egy ilyen egyszerű dolgot kerestem :-DDD...

Szégyen és gyalázat :-DDD...

Előzmény: Sznida (13968)
Delila10 Creative Commons License 2011.02.09 0 0 13973

 

Igazad van, egyszerűbb a kódod, kivéve azt, hogy a ciklus 1-től 2-ig tart.

Előzmény: Sznida (13971)
Delila10 Creative Commons License 2011.02.09 0 0 13972

Egy másik módszer az adatok rendezéséhez:

 

Sub átrak()
    Dim sor As Integer, sor_1 As Integer, usor As Integer
    
    usor = Range("A1").End(xlDown).Row
    sor_1 = 1
    For sor = 1 To usor
        Cells(sor_1, 10) = Cells(sor, 1)
        Cells(sor_1, 11) = Cells(sor, 2)
        Cells(sor_1, 12) = Cells(sor, 5)
        sor_1 = sor_1 + 1
        Cells(sor_1, 10) = Cells(sor, 1)
        Cells(sor_1, 11) = Cells(sor, 3)
        Cells(sor_1, 12) = Cells(sor, 6)
        sor_1 = sor_1 + 1
        Cells(sor_1, 10) = Cells(sor, 1)
        Cells(sor_1, 11) = Cells(sor, 4)
        Cells(sor_1, 12) = Cells(sor, 7)
        sor_1 = sor_1 + 1
    Next
End Sub

Előzmény: oroby (13969)
Sznida Creative Commons License 2011.02.08 0 0 13971

Például így:

 

Visual basic kód:

Sub Átelyezés()
j = 1
For i = 1 To 2
    Cells(j, 10) = Cells(i, 1)
    Cells(j, 11) = Cells(i, 2)
    Cells(j, 12) = Cells(i, 5)
    Cells(j + 1, 10) = Cells(i, 1)
    Cells(j + 1, 11) = Cells(i, 3)
    Cells(j + 1, 12) = Cells(i, 6)
    Cells(j + 2, 10) = Cells(i, 1)
    Cells(j + 2, 11) = Cells(i, 4)
    Cells(j + 2, 12) = Cells(i, 7)
    j = j + 3
Next i
End Sub

 

Ha a táblád úgy néz ki, mint amit csatoltam!

 

Üdv: Sznido

 

Előzmény: oroby (13969)
Sznida Creative Commons License 2011.02.08 0 0 13970

Szia,

 

Ez a sok edat egy cellában van szövegként,  vagy küllön-külön cellában vannak?

Előzmény: oroby (13969)
oroby Creative Commons License 2011.02.08 0 0 13969

Sziasztok segítségre lenne szükségem

 

Adott egy excel táblázat ami ilyen sorokat tartalmaz:

 

1_név adat1 adat2 adat3 adat1a adat2a adat3a

2_név adat1 adat2 adat3 adat1a adat2a adat3a

 

 

ebből kellene ilyet kialakítani:

 

1_név adat1 adat1a

1_név adat2 adat2a

1_név adat3 adat3a

2_név adat1 adat1a

2_név adat2 adat2a

2_név adat3 adat3a

 

Hogyan lehetne ezt megoldani?

 

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

Sznida Creative Commons License 2011.02.08 0 0 13968

Lehet erre gondolt, hogy: "beszúrás, objektum, létrehozás fájlból"

Ha nem, akkor tényleg írd le!

Előzmény: tt65 (13967)
tt65 Creative Commons License 2011.02.08 0 0 13967

ha már feldobtad, elárulhatnád!

Előzmény: wawabagus (13966)
wawabagus Creative Commons License 2011.02.08 0 0 13966

hehehe...és akkor vissza is szívtam a kérdésem :-)

Megint gyorsabban járt a kezem, mint az eszem :-)

 

Megvan a megoldás :-DDD

Bocsi!!!

Előzmény: wawabagus (13965)
wawabagus Creative Commons License 2011.02.08 0 0 13965

Sziasztok!

 

Hallottatok olyasmiről, hogy hozzá lehet-e egy excel fájlhoz csatolni egy másik fájlt?

Nem, mint hivatkozás, hanem fizikailag, mint mikor PPT-hez csatolsz bármi fájlt, objectet...az úgymondd fizikai részét képezi a PPT-nek.

 

Valami ilyesmi kéne excelben.

Hallottatok ilyesmiről? Nekem nincs tudomásom ilyesmiről...de hátha ti tudtok valamit :-)

 

Köszi előre is az ötleteket!!

 

:-)

 

 

 

Törölt nick Creative Commons License 2011.02.08 0 0 13964

Nincs mit. 2006-os excel kalauzból szkenneltem be amúgy

Előzmény: Delila10 (13959)
Delila10 Creative Commons License 2011.02.08 0 0 13963

 

Nincs mit.

Előzmény: ptomesz7979 (13962)
ptomesz7979 Creative Commons License 2011.02.08 0 0 13962

Nagyon szépen köszönöm a segítséget! Működik a dolog. Valamikor tanultam én ilyeneket, de már ezt az alapvető képletet is elfelejtettem, mert azóta sem használtam az excelt. Minden jót!

Előzmény: Delila10 (13938)
tt65 Creative Commons License 2011.02.08 0 0 13961

Sikerült! :-)

thx for all

Előzmény: Delila10 (13959)
Delila10 Creative Commons License 2011.02.08 0 0 13960

Elnézést a rossz billentyű-kezelésért.

Nem elég, hogy mellé kalimpálok, ráadásul még percekig javítani sem tudok. :(

Előzmény: Törölt nick (13957)
Delila10 Creative Commons License 2011.02.08 0 0 13959

Nem kell hozzá. A névadásnál írd be a hivatkozásba, ahogy a képen látod.

Kipróbáltam, a 2003-as verzióban is működik.

 

Köszönöm, Ronnamtómester!

Előzmény: tt65 (13956)
Sznida Creative Commons License 2011.02.08 0 0 13958

Szia, próbáld ki, lépésről lépésre, és rájössz a végén, hogy működik! :)

Előzmény: tt65 (13956)
Törölt nick Creative Commons License 2011.02.08 0 0 13957

ez egy excel 4.0-ás beépített makrófüggvény, csak a leírt formában tudod használni. Teljesen működik, kipróbáltam.

Előzmény: tt65 (13956)
tt65 Creative Commons License 2011.02.08 0 0 13956

Kicsit nehez értem, és KIÉRTÉKEL függvény sincs az excelemben.

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



Hasznos lehet. 2003-astól működik mindegyiken.

tt65 Creative Commons License 2011.02.08 0 0 13954

Ez is nagyon szép, és kifinomult ízlésre vall! :-)

Előzmény: Delila10 (13953)
Delila10 Creative Commons License 2011.02.08 0 0 13953

Előzmény: tt65 (13952)
tt65 Creative Commons License 2011.02.08 0 0 13952

A QAT rajzeszközök/Formátum  eszköztárból a Alakváltás-t fel kell venned.

Ha ez megvan, ezzel lehet!

dögös, nem? 

Előzmény: SQLkerdes (13946)
Törölt nick Creative Commons License 2011.02.07 0 0 13951

Ez most firefox.

Köszönöm szépen. Akkor jól emlékeztem, hogy excel 2003-ban még nem volt ilyen. Persze a 2007-esnek nem ismertem ezt a funkcióját.

 

Előzmény: SQLkerdes (13949)
Törölt nick Creative Commons License 2011.02.07 0 0 13950

Én csak a hozzászólásomat írom be. A többit alighanem az Opera böngésző fordító addon-ja okozza.  (külső Add-On)

természetesen lusta voltam utánanézni a javításnak :)

(cca. 15 éve használom ezt a böngészőt, nem is annak a hibája, inkább a pluginé)
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: SQLkerdes (13949)
SQLkerdes Creative Commons License 2011.02.07 0 0 13949

Na, ezen ne múljék:  http://blog.contextures.com/archives/2009/04/19/change-a-comment-shape-in-excel-2007/

 

Egyébként mi volt az a sok nyelv felsorolva a hozzászólásodban?  Vagy csak káromkodás helyett raktad be? :-)

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

írjátok már be, lusta vagyok keresni :(

 

AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddishDetect language » Hungarian
Előzmény: SQLkerdes (13947)
SQLkerdes Creative Commons License 2011.02.07 0 0 13947

Már a gúgli megmondta!

Nem rossz :-)

Előzmény: SQLkerdes (13946)
SQLkerdes Creative Commons License 2011.02.07 0 0 13946

Tényleg?  Hogy?

Előzmény: tt65 (13945)
tt65 Creative Commons License 2011.02.07 0 0 13945

Valóban így van, de annyi mindent tud az excel, hogy lehetetlen up to date-nek lenni. Megnéztem a kedvenc excel bibliám írja, hogy lehet képet betenni a megjegyzés hátterébe! Sőt, akár szivecske, felhő, nyíl vagy akármilyen alakú is lehet a megjegyzés ablaka! :-)

 

Előzmény: Delila10 (13944)
Delila10 Creative Commons License 2011.02.07 0 0 13944

1-2 éve tanultam egy másik fórumon.

 

Az a baj, hogy nem nézzük végig a menükben lévő lehetőségeket. :(

Előzmény: tt65 (13943)
tt65 Creative Commons License 2011.02.07 0 0 13943

Köszi! CSúcsszuper. Mondjuk erre magamtól az örökkévalóságig se jöttem volna rá! :-)

Előzmény: Delila10 (13941)
Delila10 Creative Commons License 2011.02.07 0 0 13942

 

Szívesen. Éppen itt jártam. :)

Előzmény: yanoold (13940)
Delila10 Creative Commons License 2011.02.07 0 0 13941

 

Van. A megjegyzés kijelölése kétféle módon lehetséges. 1 kattintás (jobb) staffozott keretet ad, 2 pedig pontozottat. A másodiknál hívd be a megjegyzés formázását.

Előzmény: tt65 (13939)
yanoold Creative Commons License 2011.02.06 0 0 13940

Köszönöm a tanácsot Delila10! Műxik!

A gyorsaság meg méginkább lenyűgöz!

 

yano

Előzmény: Delila10 (13937)
tt65 Creative Commons License 2011.02.06 0 0 13939

én ezt a képfület nem találom ... 2007-ben nincs ilyen?

Előzmény: Delila10 (13937)
Delila10 Creative Commons License 2011.02.06 0 0 13938

 

A pipát gondolom, a Wingdings karakterkészlet ü betűjével viszed a B1:B10 tartományba.Az A11 képlete: =SZUMHA(B1:B10;"ü";A1:A10)

 

Előzmény: ptomesz7979 (13936)
Delila10 Creative Commons License 2011.02.06 0 0 13937

Nem kell makró.

 

Fűzz megjegyzést a cellához. A formázásnál a 'Színek és vonalak' fülön a 'Szín' legördülője alján találod a 'Kitölrési effektusok'-at. Ott a 'Kép' fülön a 'Képválasztás'-nál kitallózód a beillesztendő képet.

 

A cellán (jobb klikk) a 'Megjegyzés elrejtése' állítja be, hogy csak a cella fölé mutatva látsszon a kép, egyébként csak a jobb felső sarokban utaljon egy piros háromszög a megjegyzés létére.

Előzmény: yanoold (13935)
ptomesz7979 Creative Commons License 2011.02.06 0 0 13936

Sziasztok!

 

Nagyon amatőr kéréds, de nagy segítség lenne, ha valaki segítene.

 

Adott egy A oszlop benne 1-10 ig számok. Össze kellene őket adni, egy A11-be, de csak azt az A cella értéket adná hozzá az A11-hez amelyik A érték mellett van egy "pipa" vagy bármi féle jel.

 

Remélem elég érthető voltam :)

 

Köszönöm előre is.

yanoold Creative Commons License 2011.02.06 0 0 13935

Kedves Fórumozók!

 

Ópapi játtszik az excellel. De egy kicsit elakadt!

Az a problémám, hogy egy excel táblázathoz képes magyarázó ábrákat szeretnék beszúrni. Ennek lényege, hogy egy "lebegő" ablakban egy-egy cellára lépve megjelenjen a hozzá tartozó magyarázó kép.

Vagyis ahogy a nyíllal, vagy enterrel nyugtázom a beírtakat, a másik cellára lépve cserélődjön az ábra, és oda én tudjak beírni.

Ehhez tudom, hogy egy eseményvezérelt parancs kellene, de nem találtam ilyet. A mellette lévő cellát tudom használni erre a célra, ha ahhoz hiperhivatkozást teszek, de a leírt verzió kifogott rajtam.

Ha valaki csinált már ilyet, ossza meg velem...

 

Addíg is kössszzz.

 

yano

 

wawabagus Creative Commons License 2011.02.03 0 0 13934

Szia!

Nagyon köszönöm a segítséget!

 

Szándékomban állt belerakni ezt a kikapcsolást :-)...ezt már megtanultam tőletek. Mindeig használom is.

Csak még elején tartok, de nem is gondoltam hogy emiatt tűnik lassúnak, pedig tök logikus :-DDD...

 

Sajna most mégsem tudok a makróval foglalkozni :-(...közbe jött egy uncsi munka.

 

De majd hamarosan folyt köv.

Tanácsokat megfogadom. és köszi még egyszer!!

 

Előzmény: SQLkerdes (13933)
SQLkerdes Creative Commons License 2011.02.02 0 0 13933

Lassúság ügyben nem a makróddal van a gond (vagyis igen, de nem úgy).

 

Egy ekkora makró lefutása nem tud vészesen lassú lenni.

 

A probléma ott van, hogy minden egyes alkalommal amikor a kivánt függvényt beszúrod, az excel újraszámolja az érintett cella értékét.  És ez már nagyon durván le tudja lassitani a kód lefutását, mert mielőtt a kód a következő sorra lépne, meg kell várja, hogy az excel kiszámolja az új cellaértékeket.

 

Meg lennél döbbenve, h. ez potenciálisan milyen sok időt vehet igénybe!

 

A megoldás a következő, a workbook tartalom számolást ki kell kapcsolni a kód elején és visszakapcsolni a kód végén.  És ha már ott tartasz akkor a képernyő frissitést is.

 

Itt van hogyan, javaslom hogy MINDEN jövőbeli kódodba rakd ezt be:

 

Sub valami()

 

Application.Calculation = xlCalculationManual

Application.ScreenUpdating = False

 

... ide jön a kódod

 

Application.Calculation = xlCalculationAutomatic

Application.screenupdating = true

 

End Sub

 

Előzmény: wawabagus (13931)
SQLkerdes Creative Commons License 2011.02.02 0 0 13932

ITt van a kód Select-ek nélkül, object-ek használatával.  Mivel nem teljesen látom át, hogy a kód mit csinál csak manuálisan átirtam a kódot, fenntartom a jogot a hibázásra :-)

Pirossal kiemeltem az "új" object-eket, hogy lásd, hogy kell használni őket.  Nem bonyi, ha elkezded használni őket egy idő után már az lesz furcsa ha névvel kell hivatkozni workbookra/worksheetre/cellára :-)

 

Sub teszt2()
Dim wbPriceList As Workbook

Dim wbCheckFile As Workbook

Dim rWorkRange As Range  'Rangenek látszik, de igazából cella, a VBA nem különbözteti meg a kettőt

Dim x As Long


MsgBox "Open the file you want to check!"

Application.Dialogs(xlDialogOpen).Show 

Set wbCheckFile = ActiveWorkbook

 

MsgBox "Open the PriceList!"

Application.Dialogs(xlDialogOpen).Show 

Set wbPriceList = ActiveWorkbook

 

x = wbCheckFile.Worksheets.Count

 

For i = 1 To x

    wbCheckFile.Worksheets(i).Range("B:B").Insert Shift:=xlToRight

    Set rWorkRange = wbCheckFile.Worksheets(i).Range("A2")

 

        Do While rWorkRange.Value <> Empty

            rWorkRange.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&""  ""&YEAR(RC[6])"

            Set rWorkRange = rWorkRange.Offset(1, 0)

        Loop

 

Next i

End Sub

wawabagus Creative Commons License 2011.02.02 0 0 13931

Hehe :-), az tuti!

Köszi a tippet!

 

Már most látom hogy elég lassú lesz a makró úgy ahogy eddig megírtam...

De majd holnap folyt.köv. :-)

 

Köszi és szép estét mindenkinek!!!

 

Y

Előzmény: SQLkerdes (13929)
wawabagus Creative Commons License 2011.02.02 0 0 13930

Felfogtam végre :-))).

Köszi, hogy elmagyaráztad!!!

 

Én minden alkalommal emlékszem arra, hogy mondjátok ne használjam az activate és select parancsot...

ESKÜSZÖM nem falrahányt borsó amit mondtok nekem...:-DDD...tényleg emlékszem!!!

 

Csak sokszor felvett kódból dolgozom és sokszor mikor átírom, hogy ne legyen benne akkor nem akar működni, mert gondolom nem jól írtam át...ilyenkor ideges leszek...majd arra gondolok, hogy "úgyse látja senki" és nem tűnik fel senkinek, hogy kicsit hosszabban fut le a makró...tudom, hogy ez nem túl elegáns.

 

A legtöbb munkatársam, akinek segítek már attól odavannak, hogy nem kell végig csinálni az összes dögunalmas excel munkát...

 

Én egy totál "selfmade" makró író vagyok...eredetileg táncos és pszichológus végzetségem van :-))), láthatod mennyi közöm van a programozáshoz.

Nem munkám a makró írás, csak magamat idegesítem szórakoztatom vele.

 

Sosem tanultam padban kódokat írni, ezért néz ki úgy ahogy amit írok. De valahogy mindig elérek a makró végére és működik, az biztos hogy messze van a tökéletestől, de mindig tanulok valami újat.

 

Nincs ez másképp most sem :-)...már egy csomó újat tanultam.

Hála többek között nektek is ;-)!

 

DANKE!!! :-)

 

 

 

Előzmény: SQLkerdes (13928)
SQLkerdes Creative Commons License 2011.02.02 0 0 13929

 

 

For i = 1 To x
    Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    Range("A2").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&""  ""&YEAR(RC[6])"
            ActiveCell.Offset(1, 0).Select
        Loop
Next i

 

 

A fenti for i= / next helyett érdemesebb lenne For Each / Next ciklust használni, sokkal excel-esebb és gyorsabb.

Ha már ott tartasz a kódban, hogy lesz időd/energiád/kedved ilyesmivel foglalkozni szólj és azt is megmutatjuk.  Garantálom meglátni és megszeretni egy pillanat műve lesz :-)

Előzmény: SQLkerdes (13928)
SQLkerdes Creative Commons License 2011.02.02 0 0 13928

Nem javitottam át a teljes kódot, csak egy részt, hogy lásd hogy műxik a dolog:

 

 

Sub teszt2()

Dim PriceList As Variant  Dim wbPriceList as Workbook
Dim CheckFile As Variant  Dim wbCheckFile as Workbook
Dim x As Long

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show

 

Set wbCheckFile = ActiveWorkbook 'ITT LÉTREHOZOL EGY WORKBOOK OBJECT-ET AMI NEM MÁS MINT AZ A FILE AMIT "WANT TO CHECK"  Ezt a lépést csak itt tudod megtenni, mert a következő kódsor után már nem ugyanaz a file lesz az ActiveWorkbook!

MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show

 

set wbPriceList = Activeworkbook


PriceList = Workbooks(Workbooks.Count).Name
CheckFile = Workbooks((Workbooks.Count) - 1).Name

'Mivel a workbookokat már hozzárendeltügy egy-egy workbookobjecthez, nem kell a nevük és még jobb nem kell szenvedni azzal, hogy kiszámoljuk hanyadik file-ok a fileok hosszú sorában...

Workbooks(CheckFile).Activate
 

'A workbookra nem a nevével hivakozunk, hanem meghivjuk a vele "összerendelt" workbook object-et (wbCheckFile)

wbCheckFile.activate  'Továbbra sem értek egyet az activate használatával, de most a példa kedvéért maradjon  így.

x = Worksheets.Count

For i = 1 To x
    Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    Range("A2").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&""  ""&YEAR(RC[6])"
            ActiveCell.Offset(1, 0).Select
        Loop
Next i

End Sub

Előzmény: wawabagus (13927)
wawabagus Creative Commons License 2011.02.02 0 0 13927

Szia!

De ez abban az esetben is használható, ha nekem egyszerre 2 db olyan munkafüzetem van amin majd dolgozni kívánok?

VlookUp-okat fogok majd csinálni meg ilyesmi...valahogy el kell magyaráznom az excelnek, hogy az A-fájlra menjem, most meg a B-re.

 

Ha jól értelek, akkor a megnyitott lesz az active és arral tudok tovább dolgozni...

De ha már kinyitom a következőt, akkor az lesz aktív...vagy valamit nagyon félreértek?

 

Hogy a másikra utalgassak mégis be kell lőni a nevét, nem?

 

 

Előzmény: SQLkerdes (13924)
wawabagus Creative Commons License 2011.02.02 0 0 13926

És igen...és igen...ez volt a baj :-))))))!

Köszi, már tök jól működik!!!

Danke danke!!!

Előzmény: boraka (13923)
SQLkerdes Creative Commons License 2011.02.02 0 0 13925

Szerintem is az a hiba.  A Range("A2").select mindíg az activeworkbook.activesheet -re értelmeződik, az meg fentebb nem változik, szóval ugyanannak a workbooknak, ugyanazon worksheetjének az A2 celláját nézegeti a kód soxor.

 

Én továbbra is fenntartom, hogy Select-et használni nem jó, legyen az a cím pontosan meghivatkozva, mégha esetleg kicsit többet is kell agyalni a kódon, mert utána nem kell azon gondolkodni, hogy most éppen hova   irogat az excel, mert valahol leragadt az activeworksheet.

Előzmény: boraka (13923)
SQLkerdes Creative Commons License 2011.02.02 0 0 13924

Boraka-nak igaza van.

 

Szerintem sokkal jobb megoldás lenne egy Workbook objectet létrehozni és utána azt hivatkozni.

 

Pld:

 

Dim wbCheckFile as workbook

 

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show

 

Set wbCheckFile = activeworkbook (itt az a trükk, hogy az újonnan megnyitott workbook-ot mindíg activeworkbook-ként kezeli az excel, szóval itt biztonsággal lehet az activeworkbook objectet használni.

 

Ezután már nem kell kiolvasni a workbook nevét, hanem a wbCheckFile object-re lehet hivatkozni, ahelyett, hogy Workbooks(CheckFile).  Pld. wbCheckFile.worksheets(1).range("A2")

 

A különböző object-ek azért vannak excelben, hogy használjuk őket.  Kiolvasni a filenevet aztán a workbooks object-csoportból a neve alapján meghivatkozni, szerintem lassabb mint a fenti módszer.

 

 

Előzmény: wawabagus (13920)
boraka Creative Commons License 2011.02.02 0 0 13923

Lehet, hogy aktiválni kellene a munkalapokat?

 

For i = 1 To x

   Worksheets(i).Activate
    Range("B:B").Insert Shift:=xlToRight
    Range("A2").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&""  ""&YEAR(RC[6])"
            ActiveCell.Offset(1, 0).Select
        Loop
Next i

Előzmény: wawabagus (13920)
SQLkerdes Creative Commons License 2011.02.02 0 0 13922

Ha a beszúrást megcsinálja, de a függvényt nem illeszti be, akkor a gond az lehet, hogy a Do While ActiveCell.Value <> Empty rész félreviszi a kódot és oly módon értékelődik ki, hogy csak egyetlen egyszer kerül be a loop belsejébe a kód.

 

Feltéve de nem megengedve, hogy ez igaz, én nem az ActiveCell object-re hivatkoznék, hanem valahogy máshogy hivatkoznám meg azt a területet amit ki akarsz értékeltetni.  Könnyen lehet, hogy az activecell nem változik a kód futásakor, vagyis nem végigfut az oszlopokon, henem beáll egy cellára, oda beilleszti a függvényt és nem mozdul.  Amikor a loop megint kiértékelteti, hogy az activecell üres-e, akkor azt látja, hogy nem (mert az első lépésben bekerült a képlet) és  jgy a kód megy tovább dolgára.

 

Pont ez az oka annak, hogy Select-et, Active-et meg Active-val kezdődő objecteket nem best practice használni, mert nehéz kiokoskodni, hogy a program futásakor épp mi lesz az Active.

Előzmény: wawabagus (13920)
boraka Creative Commons License 2011.02.02 0 0 13921

Szerintem, a "FajlNev = ActiveWorkbook.Name" visszaadja a kiterjesztést is, nem kell külön hozzáilleszteni.

Előzmény: Sznida (13919)
wawabagus Creative Commons License 2011.02.02 0 0 13920

Szia!

Köszi, közben kieszeltem egy másik megoldást, ami működni látszik :-)...

Csak a loop-pal nem stimmel valami...

vagyis a for-ral, tehát hogy minden munkalapon megismételje a munkát.

 

Szerintem mit rontottam el?

Beszúr mindenhova egy oszlopot, pont mint kértem az első sheeten meg is csinálja a függvényt, de a többi sheetre már nem teszi be...valami hibádzik :-DDD.

 

Mi lehet a gond?

Köszi!!

 

Sub teszt2()

Dim PriceList As Variant
Dim CheckFile As Variant
Dim x As Long

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show


MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show

PriceList = Workbooks(Workbooks.Count).Name
CheckFile = Workbooks((Workbooks.Count) - 1).Name


Workbooks(CheckFile).Activate
x = Worksheets.Count

For i = 1 To x
    Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    Range("A2").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&""  ""&YEAR(RC[6])"
            ActiveCell.Offset(1, 0).Select
        Loop
Next i

End Sub

Előzmény: Sznida (13919)
Sznida Creative Commons License 2011.02.02 0 0 13919

Szia,

 

Megnyitás után tárolhatod az aktuális file nevét így:

 

FajlNev = ActiveWorkbook.Name & ".xls"

 

Üdv: Sznido

Előzmény: wawabagus (13918)
wawabagus Creative Commons License 2011.02.02 0 0 13918


Sziasztok!

Az alábbi makrót gyártottam és felmerült egy kis probléma.
A lényeg, hogy a felhasználónak ki kell választani a 2 db fájlt amin majd a makró futni fog.
Ehhez GetOpenFilename-t használok.

Viszont sokszor utalgatnék a fájlokra, de ez a fenti parancs az egész elérési útvonalat is belerakja a névbe...
Az viszont nem jó per pillant.
Hogyan lehetne azt megoldani, hogy a kliens:
1. kiválasztja a 2 db fájlt
2. fájlok meg is nyílnak
3. excel meg is jegyzi szépen a nevet de az elérési útvonal nélkül tehát pl: "JakabPista.xls"

Van valami praktikus tanácsotok ezzel kapcsolatban?

Nagyon köszönöm!!
------------------------
Sub Price_check()

Dim CheckFile As String
Dim PriceList As String

'Open Checkfile

MsgBox "Open the file you want to check!"

CheckFile = Application.GetOpenFilename
If CheckFile = "False" Then
MsgBox "No file was selected."
Exit Sub
End If

MsgBox "FileName is: " & CheckFile

'Open PriceList

MsgBox "Open the PriceList!"
PriceList = Application.GetOpenFilename
If PriceList = "False" Then
MsgBox "No file was selected."
Exit Sub
End If

MsgBox "FileName is: " & PriceList

Sznida Creative Commons License 2011.02.02 0 0 13917

Köszönöm szépen!

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

Kiindulásnak:

Dim ShellAppl As Object

Set ShellAppl = CreateObject("Shell.Application"). BrowseForFolder(0, "Válaszd ki a ktárat", 0, "kiinduló könyvtár elérési útját itt add meg")

Előzmény: Sznida (13915)
Sznida Creative Commons License 2011.02.02 0 0 13915

Megtaláltam, ha esetleg valakinek még szükszége lenne rá:

itt megtalálhatja!

 

Üdv: Sznido

Előzmény: Sznida (13914)
Sznida Creative Commons License 2011.02.02 0 0 13914

Sziasztok,

 

Hogyan lehet VBA-ban bekérni egy file elérési útját?

Van egy kód, ami email-ben csatolt file-t küld automatikusan, ha nem találja az általam beírt file, akkor meg akarom kérdezni a felhasználót, hogy adja meg az elérési utat. Mivel már nem DOS-ban dolgozunk, ezért nem várható el egy átlagos felhasználótó, hogy egy inputbox-ba írja be, hogy "c:file.txt", ezért egy olyan ablakot szeretnék kiadni a képernyőre, mint például a megynyitás, vagy a mentésnél.

Tud valaki segíteni!

 

Köszönettel: Sznido

Nemgéza66 Creative Commons License 2011.02.01 0 0 13913

A dekódoláson még dolgozok, de addig is küldtem egy emailt.

Előzmény: Delila_1 (13912)
Delila_1 Creative Commons License 2011.02.01 0 0 13912

Egyszerre írtunk (nagyjából). Itt a kép hozzá.

 

Előzmény: Nemgéza66 (13910)
Delila_1 Creative Commons License 2011.02.01 0 0 13911

Próbálom kitalálni, hogy is nézhet ki a táblázatod. Most erre tippelek:

 

 

Az F3 képlete látszik a szerkesztőlécen, az L oszlopét már írtam.

 

Előzmény: Nemgéza66 (13908)
Nemgéza66 Creative Commons License 2011.02.01 0 0 13910

 Az azonosítókhoz tartozó összegek (a lehívások összegei) a te táblázatod szerint az E oszlopban szerepelnek.

Az én táblázatom szerint az első 2500-as értékről van szó, és azt szertném, ha a sárgával jelölt cellába automatikusan beíródna.

 

Lehet, hogy nem írtam le jól, hogy mire lenne szükség, megpróbálom újból.

 

Tehát ha felviszi valaki a táblázatba a 4 azonosítót, az első alkalommalmég  neki kell beírnia, hogy milyen értékű a lehívás.

Amikor viszi fel a következőket, akkor azt szeretném, hogy ha már volt korábban ilyen lehívás akkor az E oszlopba beírná annak az értékét. Tehát a sok lehívásnál elég legyen csak a legelső alkalommal beírni az összeget, ha legközelebb előkerül ugyan az akkor már töltse ki a cellát a korábbi érték szerint.

Előzmény: Delila_1 (13909)
Delila_1 Creative Commons License 2011.02.01 0 0 13909

Ha 1 lapon vannak, írd meg, melyik oszlopban mi található. Pl. melyikben vannak az összegek, amik az A:D oszlopokba írt száll. azonosítókhoz tartoznak.

 

 

A hivatkozásokból hagyd ki a Munka1!-et, és jó lesz, ha a táblázatod az itteni kép szerinti.

Előzmény: Nemgéza66 (13908)
Nemgéza66 Creative Commons License 2011.02.01 0 0 13908

Hát ezt át kell rágjam alaposan. :-)

 

Most így elsőre azt nem értem, hogy miért kell 2 munkalapról beszélnünk. Na de nem is mondok semmit amíg át nem nézem  a megoldást.

Delila_1 Creative Commons License 2011.02.01 0 0 13907

Vegyük, hogy a Munka1 lapon vannak a bevitt értékek, és a csatolt kép (amire rákattintva mindjárt olvasható lesz a szöveg) a Munka2 lapon.

 

A Munka2 L oszlopában összefűztem a A:D tartomány adatait, köztük szóközzel.

=A3&" "&B3&" "&C3&" "&D3

 

A kereső képlet szép hosszú, ketté vágtam:

 

=HA(DARABTELI(L:L;L3)>1;SZUMHATÖBB(Munka1!E:E;Munka1!A:A;A3;

Munka1!B:B;B3;Munka1!C:C;C3;Munka1!D:D;D3);"")

 

Ez akkor igaz, ha a Munka1 lap E oszlopában szerepelnek az összegek.

Előzmény: Nemgéza66 (13896)
Nemgéza66 Creative Commons License 2011.02.01 0 0 13906

Az én kérédésemre nem tudja valaki a megoldást?

Delila_1 Creative Commons License 2011.02.01 0 0 13905

Tudtommal nem.

Előzmény: RuN3$ (13904)
RuN3$ Creative Commons License 2011.02.01 0 0 13904

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

2007 ben megtudtam csinálni 2003 ban kűzdök.

=SZORZATÖSSZEG((A1:A10=1)*(B1:B10="A")) Kiválóan működik!

DARABTELI és a HA kombinálásával is meglehet megoldani?

 

Előzmény: Delila_1 (13903)
Delila_1 Creative Commons License 2011.02.01 0 0 13903

Régebbi verziónál

 

=SZORZATÖSSZEG((A1:A10=1)*(B1:B10="A"))

Előzmény: RuN3$ (13901)
SQLkerdes Creative Commons License 2011.02.01 0 0 13902

Használd a SUMIFS függvényt, xl 2007 és 2010-ben elérhető.

Ha xl 2003-at vagy korábbit használsz akkor tömbfüggvényt kell használj.

Előzmény: RuN3$ (13901)
RuN3$ Creative Commons License 2011.02.01 0 0 13901

Hello.

 

Milyen logikai képlet kombinécióval lehet azt megvalósítani hogy:  számolja össze azokat a sorokat C1 be ahol az A1 ben "1" áll és a B oszlopban "A" ?

A oszlop   Boszlop   C oszlop

     1               A        2

     2               A

     1               A

     2               B

gessztenye1 Creative Commons License 2011.02.01 0 0 13900

Megtaláltam a megoldást.

Tehát Excel beállításai -> speciális -> beállítások megjelenítése ehhez a munkafüzethez -> Objektumoknál megjelenítendő -> "semmi" helyett "minden" beklikkelése.

Előzmény: gessztenye1 (13899)
gessztenye1 Creative Commons License 2011.02.01 0 0 13899

Sziasztok!

 

Egy táblázatba szeretnék beszúrni esetenként sorokat, de a "Az objektumok nem vihetők lapon kívülre" szöveget kapom. A táblán nincs rejtve se sor, se oszlop. Mitől lehet még ilyen?

Nemgéza66 Creative Commons License 2011.02.01 0 0 13898

Emberi számítás szerint nem lesz csak 2007-es vagy majd újabb verzióval használva.

SQLkerdes Creative Commons License 2011.01.31 0 0 13897

Az a file ami a kívánt képletet tartalmazza lesz valaha megnyitva 2007-esnél alacsonyabb verziójú excelben?  Tehát pld xl 2003-ban és alacsonyabban...

Mert ettől függ, hogy mi lesz a függvény.

Előzmény: Nemgéza66 (13896)
Nemgéza66 Creative Commons License 2011.01.31 0 0 13896

 

Milyen módon lehet tudnék ide egy kis minta táblázatot bemásolni?

 

Próbáltam excelből, word-ből pdf-ből, de semmi sem lesz olvasható.

 

 

 

Nem igazán látszik az eredeti táblázat, legalább a szöveget kimásolom ide:

 

Azt szeretném megoldani, hogy ha egy lehívás azonosítóit beírom az első 4 oszlopba, akkor minden sor F oszlopában lévő cella nézze végig, hogy ilyen azonosítójú lehívás van-e már a táblázatban, ha van akkor annak az F2  cellában lévő értékét (most ez példaként 250.000 a fenti táblázatban) írja be a saját sorába is az F oszlopba. Ha még nincs ilyen lehívás, akkor ne írjon be a cellába semmit.

 

 

 

 

 

wawabagus Creative Commons License 2011.01.31 0 0 13895

Szia!

Előszöris köszönöm a válaszod.

A lent írt makró csak egy kezdemény...azért színezek csak, hogy teszteljem érthető-e az excel számára melyik fájlon kell dolgozni.

Biztos létezik értelmesebb módja is...

Ez igazából egy mini teszt volt...de már itt elbuktam :-))))...

 

Az utolsó V1-es aktivációnak tényleg semmi értelme, véletlen hiba. Bocs, hogy összezavartalak.

 

A futás közben már itt hibát jelez:

Workbooks(CheckFile).Worksheets(1).Range("A1").Select

 

És a legjobban attól tudok falramászni, hogy ezek a megoldások már más makróbal működtek.

És persze a tied működik...

Köszönöm.

 

Kikészülök...

 

Nincs valami tanfolyam ahol szép lassan tanítják a VBA-t? :-DDD, nem intenzív kurzuson.

Írtam már egy csomó makrót, de ahelyett hogy egyre okosabb lennék egyre hülyébb vagyok benne.

 

Köszi a segítséget!!

 


Előzmény: SQLkerdes (13894)
SQLkerdes Creative Commons License 2011.01.31 0 0 13894

Jól látom, hogy sárgára és zöldre akarod festeni bizonyos workbook-ok bizonyos worksheetjeinek A1 celláját?

Milyen hibát tapasztalsz?  Fut de nem azt csinálja amit szeretnél (hanem mit?) vagy le sem fut?

 

Sub Price_check()
'
' Price_check Macro

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show


MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show

PriceList = Workbooks(Workbooks.Count).Name
CheckFile = Workbooks((Workbooks.Count) - 1).Name
Jó esély van arrra, hogy itt elrontja, hogy melyik file a PriceList file és melyik a CheckFile.  Lehet érdemes lenne a file-okat azok megnyitásakor hozzárendelni a nevükhöz...
'Zöld

Workbooks(CheckFile).Worksheets(1).Range("A1").Select

    With Selection.Interior
        .ColorIndex = 43
        .Pattern = xlSolid
    End With

'Sárga

Workbooks(PriceList).Worksheets(1).Range("A1").Select

    Range("V1").Activate  Miért aktiválsz itt bármit is?  Mi a szerepe a V1 cellának?  Ha a V1-et akarod formázni akkor fentre nem kell az A1, v. fordítva.
    With Selection.Interior
        .ColorIndex = 36
        .Pattern = xlSolid
    End With

End Sub

 

Én lebeszélnélek a Select parancs használatáról, hagyd ki csak lassítja a kódot és nehezebb átlátni.

 

Az első With / End with átírva:

 

With Workbooks(CheckFile).Worksheets(1).Range("A1").Interior
        .ColorIndex = 43
        .Pattern = xlSolid
End With

 

Hát nem sokkal szebben látszik, hogy mivel csinálsz mit?

Előzmény: wawabagus (13893)
wawabagus Creative Commons License 2011.01.31 0 0 13893

Sziasztok!

Mit csináltam már megint rosszul?

Méééééé nem akar működni?

Köszönöm a kritikát! :-)

 

Sub Price_check()
'
' Price_check Macro

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show


MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show

PriceList = Workbooks(Workbooks.Count).Name
CheckFile = Workbooks((Workbooks.Count) - 1).Name

'Zöld

Workbooks(CheckFile).Worksheets(1).Range("A1").Select

    With Selection.Interior
        .ColorIndex = 43
        .Pattern = xlSolid
    End With

'Sárga

Workbooks(PriceList).Worksheets(1).Range("A1").Select

    Range("V1").Activate
    With Selection.Interior
        .ColorIndex = 36
        .Pattern = xlSolid
    End With

End Sub

Nemgéza66 Creative Commons License 2011.01.31 0 0 13892

 

 

Nem tudom, hogy fog-e látszani?

Nemgéza66 Creative Commons License 2011.01.31 0 0 13891

Működik, köszönöm.

 

Egy közbenső rész hiányzik még. Ha beírom a szállítás 4  azonosítóját, akkor az ezek által meghatározott lehívás értékét írja be egy cellába.

 

(Ebből vonnám ki az előbb meghatározott összeget, hogy a lehívásból még hátralévő érték előálljon.)

 

Ha felviszek egy új sort, akkor végignézné, hogy az ilyen azonosítókhoz tartozó sorokban, van-e érték egy adott cellában (pl. a lehívás teljes összege oszlopban), ha van akkor ide is azt írja át, ha mindenhol üres ez a cella, akkor itt is üresen hagyja.

Ha mindenhol üres ez a cella, akkor az azt jelenti, hogy ilyen lehívás még nem volt korábban, ezért a kezelőnek kell megadni a lehívás teljes értékét.

Az elve megy, de hogyan lehet ezt excelben megfogalmazni?

Nemgéza66 Creative Commons License 2011.01.31 0 0 13890

Hú, ez jónak tűnik...

 

Külön oszlopban vannak az értékek, ezzel nem lesz gond.

 

Nagyon ritkán kell függvényeket használnom, átolvasom, hbogy hogyan kell ezt használni pontosan.

 

:-)

SQLkerdes Creative Commons License 2011.01.31 0 0 13889

Szerintem ezt egy "sima" SUMIFS megcsinálja.  Ha a (lenti példádnál maradva) II. rész, B alrész, 34-es körzet, 3. lehívás adatok rendre külön oszlopban vannak, pld. A oszlop adata a rész (I, II v. III), a B oszlop tartalmazza az alrész adatot (A, B, stb.) és így tovább akkor egy SUMIFS (NEM sumif) simán kigyűjti, hogy egy konkrét kombinációhoz (II/B/34/3) mekkora mennyiségek tartoznak.

 

Ha a rendelés és a szállítás más előjellel van rögzítve (pld. rendelések pozitív, szállítások negatív) akkor nem is kell mást csinálni csak összeadni a mennyiségeket.

 

Vagy félreértem a dolgot.

 

Ha olyan xl verziót használsz ahol a SUMIFS még nem létezett, akkor egy szép SUMPRODUCT alapú tömbfüggvénnyel ugyanezt ki lehet számolni.

 

Ha az adatok nem külön oszlopban vannak, hanem egy cellában, akkor előbb LEFT, RIGHT és MID függvénnyel szét kell őket kapni és utána ráereszteni egy SUMPRODUCT-ot.

Előzmény: Nemgéza66 (13888)
Nemgéza66 Creative Commons License 2011.01.31 0 0 13888

A feladat röviden: Kiküldünk egy anyagra vonatkozó lehívást (keretszerződés van kötve nagyobb mennyiségekre), aminek az értéke pl. 1000 Ft. A lehívást az előző kérdésem szerinti 3 adattal (I. II. III. rész, A vagy B , és 1-től 40 ig körzet)és egy lehívás sorszámmal azonosítjuk be. Pl. II. rész, B alrész, 34-es körzet, 3. lehívás.

 

A szállító az esetek döntő részében több (változó számú) szállítással teljesít egy lehívást. (A szállítás ugyan azzal a 4 adattal van beazonosítva)

Arra lenne szükségem, hogy minden szállítás felvezetésénél jelenjen meg, hogy az adott lehívásból még mekkora értékű szállítás van még hátra.

 

Ezt úgyszeretném megoldani, hogy aki a táblázatot vezeti, annak elég legyen csak a mindig a táblázat utolsó sorába fevinni a bejövő szállítások azonosítóit és értékét és ott egyből képződjön a még hátralévő összeg.( Egyszerűbb lenne tudom, hogy kikeresné az aktuális megrendelést és oda felvezetné, ott számoltatná ki, hogy mennyi van még hátra.)

 

Eddig csak gyenge elképzeléseim vannak:  Minden sorba kell egy olyan cella, ami ugye az adott lehívás teljes értékét tartalmazza. Ezt ha új lehívásról van szó, akkor a kezelő írja be, ha viszont már van ilyen lehívás, akkor meg kellene, hogy keresse a korábbi sorokban a megfelelő értéket.

 

Aztán a sorban lenne egy olyan cella, ami megkeresi és szummáza az erre a lehívásra vonatkozó szállítások értékeit. Ha ez megvan, akkor ami nekem kell az a kettő különbsége. Na ez az utolső menne... :-)

 

Bocs, hogy elhúzódott, de meló közben vagyok.

 

Ui: szerintem a tiedban csak azért működött mert az én képletemben már csak annyi argumentum volt, amit az enyém is elfogadott, ha többet írtam be azt nem mentette le.

Sznida Creative Commons License 2011.01.31 0 0 13887

Nálam működik 2003-as excelben is! A képleted jó volt! :)

 

Üdv: Sznido

Előzmény: Nemgéza66 (13886)
Nemgéza66 Creative Commons License 2011.01.31 0 0 13886

Szia!

 

Kösz a segítséget előre is. 

 

Időközben rájöttem, hogy nincs hiba, csak én vagyok a barom. Kaptam a file-t és nem figyeltem, hogy ez még csak 2003-as verzió, ami ezek szerint nem tud ennyi argumentumot. Lementettem 2007-be és így már működik. Mondjuk elég bonyolult a függvény (hosszú). Szóval az elgonbdolás jó volt, azt nem tudom, hogy lehetne e egyszerűbben is megoldani.

Írom mindjárt a második problémát.

Sznida Creative Commons License 2011.01.31 0 0 13885

Szia NemGéza66,

 

Nem igazán értem a kérdést...

Mik a bejövő adataid, azaz mit tudsz?

Mi legyen a kimenet, jól gondolom, hogy egy cella értéke, ami I, II, vagy III?

A választ függvény első argumentumának egy számnak kell lenni, ennek a számnak a Te fügvényedben a G13-as cellában kell lenni, változnia. Akkor adja eredményképpen a megfelelő választ, azaz azt az argumentumot, amire a G13-as szám utal. Jól gondolom?

Mi a második kérdés?

 

Üdv: Sznido

 

Előzmény: Nemgéza66 (13884)
Nemgéza66 Creative Commons License 2011.01.31 0 0 13884

Sziasztok!

 

Én is segítséget szeretnék kérni, két feladatban mert egyedül már nem boldogulok.

 

1. Arra lenne szükségem, hogy beérkező iratokat (mondjuk számlákat) 3 körzetbe csoportosítsam két értéktől függően.

Az első érték két karakter lehet mindösszesen, a második kb. 40. Tehát arra van szükségem, hogy egy cella értéke legyen I,II vagy III ha az első adat A vagy B, a második 1-től 40-ig. Azt hittem, hogy ez egyszerű feladat lesz, de én nem boldogultam vele.

 

Így próbáltam megoldani:

 

Készítettem egy segédtáblázatot, ahol két oszlop és 40 sor van és mindenhová beírtam, hogy az adott értékek alapján pl. a B,  32  bemenő értékek a II. körzetet jelölik.

 

=HA(F13="A";VÁLASZT(G13;B13;B14;B15;B16;B17;B18;B19;B20;B21;B22;B23;B24;B25;B26;B27;B28;B29;B30;B31;B32;B33;B34;B35;B36;B37;B38;B39);HA(F13="B";VÁLASZT(G13;C13;C14;C15;C16);""))

 

Azt hittem a fenti képlet jó lesz, mert ha pl. az F13-ba A kerül, akkor kiválasztja a G13 értékétől függően a megfeleő sort, ha B, akkor ugyan így, de a mellette lévő oszlopből, ha üresen van a cella, akkor nem ír be semmit.

A gond az, hogy a Választ függvényre azt írja ki, hogy ehhez a file tipushoz túl sok az argumentum, pedig a leírás szerint elvileg 254 argumentumig működie kell ennek a függvénynek.

 

Ha tudna valaki erre valamilyen egyszerűbb megoldást, vagy azt hogy mi a fenti módszerben a hiba, azt megköszönném.

 

 

chillout88 Creative Commons License 2011.01.29 0 0 13883

köszi.

A diagrammnál én is gondoltam erre csak az a baj hogy a nem csak akkor szeretném a diagrammot ha a teljes munkafüzet kész hanem közben is és akkor adnék hozzá uj lapokat ugye és ennek az értékeit akkor megintcsak át kell itni a technikai munkalapra. vagy lehet ezt is automatizálni?

Előzmény: SQLkerdes (13882)
SQLkerdes Creative Commons License 2011.01.29 0 0 13882

Tegyük fel, hogy három munkalapod és össze szeretnéd adni pld a B2 celláikat.

A munkalapjaid neve és sorrendje legyen pld. osszesito, munka1, munka2 és munka3

 

Az összesitő lap B2 cellájában most neked valszeg az van, hogy =SUM(munka1:munka3!B2)

 

Az összes teendőd csak annyi, hogy:

- a munka1 elé és munka3 után beszúrsz egy-egy új ÜRES munkalapot (pld elsoures és utolsoures nevueket.  Munkalapjaid sorrendje most:  osszesito, elsoures, munka1, munka2, munka3 és utolsoures

- a fenti képletedet (osszesito B2 cellája) javitsd ki arra, hogy =SUM(elsoures:utolsoures!B2)

- ha a jövőben új munkalapot kell beszúrj akkor azt az utolsoures ELÉ szúrd be és automatikusan figyelembevevődik.

 

 

A grafikonos problémádnál én csinálnék egy technikai munkalapot ami egy munkalapon tartalmazza a több munkalapról származó adatokat és azt használnám a grafikon adatforrásának.

Előzmény: chillout88 (13881)
chillout88 Creative Commons License 2011.01.29 0 0 13881

Hali
2 kérdésem lennem remélem tudtok segiteni:) (office 2007)

az egyik az hogy hogyan tudnám megcsinálni azt hogy 1 munkalapon összeadni az összes munkalap x cellájának az értékét(eddig megy is) úgy hogy ha még adok hozzá munkalapot akkor azt is adja hozzá automatikusan
a másik pedig az hogy diagrammot hogy tudok csinálni több munkalapra?
arra gondolok hogy a munkalapjaim napok minden nap végén van 1 összegem és ebből szeretnék a legvégén(havi szinten) egy diagrammot
csinálni viszont az adattartomány kijelölésénél ha több munkalapot választok ki (pl igy néz ki ='Munka1:Munka3'!$A$1) akkor azt írja hogy a beírt képlet hibás

Sztai Creative Commons License 2011.01.28 0 0 13880

Szövegként tárolt számot (mert pl. más ezreselválasztót és tizedes jelet tartalmaz, mint az aktuális területi beállításoknak megfelelő) szerintem legegyszerűbben a Data>>Data Tools>>Text to Colums varázsló segítségével tudsz számmá alakítani. A harmadik lépésben az Advanced gombra kattintva beállíthatod, hogy a konvertálandó szövegként tárolt szám, milyen ezr. elválasztót és tizedes jelet használ.

A Te általad említett példánál (csatolt adat) azonban szerintem más lehet a probléma. Jó lenne, ha leírnád pontosan a folyamatot, ahogy a csatolást csináltad.

Üdv

Előzmény: Törölt nick (13862)
Törölt nick Creative Commons License 2011.01.27 0 0 13879

excelben külön hozzá kell rendelni workbbook open-hez az eszköztár kirakását, szerintem wordben detto

Előzmény: SQLkerdes (13878)
SQLkerdes Creative Commons License 2011.01.27 0 0 13878

No de várjunk már egy cseppet.

A Wordben a toolbar formázás helyi dolog (normal.dot szintű téma), tehát te hiába építed be a toolbar gombot/ikont az a többiek gépén nem fog megjelenni.  Vagy tévedek?

Előzmény: Tündi2003 (13873)
SQLkerdes Creative Commons License 2011.01.27 0 0 13877

Nahát, embeddeli a videót, fejlesztik a fórummotort?  Ki hallott már ilyen?

SQLkerdes Creative Commons License 2011.01.27 0 0 13876

Vagy ez is lehet hasznos ha inkább vizuális vagy:  

Előzmény: SQLkerdes (13875)
SQLkerdes Creative Commons License 2011.01.27 0 0 13875
Előzmény: Tündi2003 (13873)
SQLkerdes Creative Commons License 2011.01.27 0 0 13874

Viszont makróval így kell csinálni (gondolom láccik, csak simán makró rögzítettem)

 

Sub Macro4()

 

Selection.Find.ClearFormatting    

Selection.Find.Replacement.ClearFormatting    

With Selection.Find        

.Text = "^m"        

.Replacement.Text = "^p"        

.Forward = True        

.Wrap = wdFindContinue        

.Format = False        

.MatchCase = False        

.MatchWholeWord = False        

.MatchWildcards = False        

.MatchSoundsLike = False        

.MatchAllWordForms = False    

End With    

Selection.Find.Execute Replace:=wdReplaceAll

End Sub

Előzmény: SQLkerdes (13870)
Tündi2003 Creative Commons License 2011.01.27 0 0 13873

Köszönöm a tippet! Az oldaltörés törlését már be is építettem a makróba. A kollégák sajnos nem olyan gyorsak a word kézi kezelésében mint én (van, aki sose dolgozott vele), az ő munkájukat megkönnyítendő rakom össze a makrót, amivel tényleg egy gombnyomással meg tudják az alapvető formázásokat csinálni. Csak sajnos az én makróíró tudományom se terjed az alapoknál tovább... :(

 

Az ikont viszont nem tudom beállítani, a Testreszabás párbeszédablakban semmi olyasmi nincs, amivel ikont lehetne hozzárendelni. A súgóban is kerestem, de ott sincs... :(

Előzmény: SQLkerdes (13870)
SQLkerdes Creative Commons License 2011.01.27 0 0 13872

Próbáld meg a LEN() függvénnyel megszámolni, hogy hány karaktert lát az excel, az segíthet eldönteni, hogy nem-e valami mutáns számformátummal van-e dolgod.

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

Áh, feladom. Természetesen próbáltam HELYETTE fgvel is kicserélni üresre"" a szóközt" ", de egyszerűen nem látja azt a szóközt egyik szövegkonverziós fgv sem. Komolyan. (Itt vmi adatkonverzós bug lehet ha táblalekérdezést készítek egy munkafüzetbe - egy másik excel munkafüzetből.

Előzmény: SQLkerdes (13869)
SQLkerdes Creative Commons License 2011.01.27 0 0 13870

Hát szerintem ezt felesleges makróval csinálni.

Egyszerűen a manual page break-eket cseréld le (Replace) sima bekezdésvége jelre.  A manual page break jele:  ^m (de azt hiszem a More/Special alatt is megtalálható a Replace felugró kismenüjében).

 

A makró gombhoz rendelésénél azt próbáld meg, hogy megcsinálod a "behúzást" ahogy lentebb le is írtad, jobb klikk a behúzott - jelenleg - szövegre és ott lehet lesz valami olyasmi, hogy Text/Icon, vagy hasonló (régen volt már 2003-as word a kezem alatt).  Ezt változtasd meg icon-ra, majd ugyanitt valahol a jobbklikk menüben lesz egy icon hozzárendelés.

Előzmény: Tündi2003 (13868)
SQLkerdes Creative Commons License 2011.01.27 0 0 13869

Szerintem ilyen célokra a SUBSTITUTE kéne, ahol a szóközt ""-re cseréli, utána meg szorozza 1-el.

Sőt UDF-et is lehet ilyen célra írni, a CINT vagy hasonló függvény pont jó ilyen célokra.

Előzmény: Delila10 (13867)
Tündi2003 Creative Commons License 2011.01.27 0 0 13868

Bocs, hogy ide írok, de a Word-os topic elég ritkán látogatott. :(

 

A problémám a következő, egy speciális szövegfájlt (nem .txt) kell megnyitnom Word-ben, és persze egy csomó formázást kell végrehajtani rajta, hogy használható legyen. Eddig egy DOS alapú, 80-as évekből származó szövegszerkesztőben dolgoztunk a fájlokkal, de gondoltuk, hogy ideje lenne haladni a korral. :)

 

Szóval egy csomó dolgot már tudtam makrósítani, de most az lenne a kérdésem, hogy az oldaltöréseket, amik eleve benne vannak, de rossz helyen, hogyan tudnám makróval kiszedni? Kézzel kicsit macerás...

 

Ugyanitt kérdés az is, hogy a makrót hogyan tudnám egy gombhoz (ikonhoz) hozzárendelni? Word2003-unk van a cégnél. Excelben tudom, hogyan kell, de itt csak annyit tudok megcsinálni, hogy a makró nevét, pl. Normal.NewMacros.Új behúzom az egyik eszköztárba, és akkor erre a szövegre kattintva indul a makró. De nekem csak egy ikon kellene.

 

Köszi a választ!

Delila10 Creative Commons License 2011.01.27 0 0 13867

Lehet, hogy szóköz szerepel az adataidban? Akkor a TRIM függvénnyel le kell előbb vágnod a felesleges szóköz(öke)t.

Előzmény: Törölt nick (13865)
Törölt nick Creative Commons License 2011.01.27 0 0 13866

A témától eltekintve, szeretném megköszönni a segítséged!

A táblázat tökéletesen működik!

Mégegyszer köszönöm!

 

Péter

Előzmény: Sznida (13837)
Törölt nick Creative Commons License 2011.01.27 0 0 13865

ezt ismerem, de sajnos nem jó. (Ez egy képlet eredménye (=C20*1), azt szoroztam 1-el, de nem "eszi" meg valamiért.... (#ÉRTÉK)

Valamiért nem tudja kezelni az adatkonverziót, ha táblás lekérdezéssel próbálok egy másik munkafüzetből adatokat elérni. (Az eredetiben ez tényleg szám, számként is formázva, mint írtam.)

Előzmény: Delila10 (13864)
Delila10 Creative Commons License 2011.01.27 0 0 13864

Szorozd fel a tartományt 1-gyel, irányított beillesztéssel, utána megadhatod az ezres csoportosítást.

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

nm vált be egyik szöveg/szám konverziós fgv sem, a helyiérték " " jelét mintha nem is látná...

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

a szövegként tárolt számokból hogy csinálnátok számot?:

példa:

17 774,00

100 101,00

5 564,30

 

Háttér: excel 2007

Adatok/Kapcsolatok- tallózás menüpontban táblaként hozzáadok egy mukafüzetet, amelyek így automatikusan frissülnek.

De. Az eredeti file-ban a számok # ##0,00 formában vannak (így is vannak formázva a cellák)

Viszont a kapcsolatfájlként egy másik munkafüzetbe ez már szövegként érkezik, és nem sikerül átalakítani számmá :(

 

 

 

fajlkezelo Creative Commons License 2011.01.26 0 0 13861

Sziasztok!

 

Igen, sajnos tényleg arról lehet szó, hogy a szumha nem működik jól csatoláskor :-(

 

Ha átteszem a 2 fájlt egy másik könyvtárba és bezárom az AUTO.xls

fájlt, akkor látszik, hogy a c:/temp-re hivatkozik (tehát relatívként jó marad a képlet)

 

Sok fájl van, amikre több más fájl hivatkozik, ezért lenne praktikus külön fájlokban tárolni őket.

 

Kösz a tippeket, kipróbálom őket.

 

Joe

 

Előzmény: Sztai (13860)
Sztai Creative Commons License 2011.01.25 0 0 13860

Sajnos van néhány fv (sumif, countif, indirect) amely nem működik, ha a hivatkozott fájl nincs nyitva.

A probléma megoldására két lehetőséget látok:

1. másold föl a vágólapra az adatforrás táblázatát és csatolva illeszd be a másik állományba. Erre a táblázatra hivatkozz a sumif fv-ben. (Ha akarod ezt a munkalapot később el is rejtheted)

2. A sumif fv helyett használd a sumproduct fv-t (szorzatösszeg).

=SUMPRODUCT((adatforrás_kritérium tartomány="valami")*(adatforrás_összegtartomány))

A te példádban:

=SUMPRODUCT(('C:DocumentsandSettingsuserDokumentumok2011Telefon-Tünde[AUTO.xls]12'!$B$5:$B$52=C7)*('C:DocumentsandSettingsuserDokumentumok2011Telefon-Tünde[AUTO.xls]12'!$E$5:$E$52))

Remélem érthető :-)

Üdv

 

Előzmény: fajlkezelo (13857)
erdeiboroka Creative Commons License 2011.01.25 0 0 13859

Úgy túnik, eddig a C:Documents and SettingsuserDokumentumok2011Telefon-Tünde könyvtárban voltak a fileok. Ha átteszed őket a C:temp könyvtárba, akkor a képletet javítani kell, valami ehhez hasonlóra (ez nem valószínű, hogy pont így jó).

=SZUMHA('C:temp[AUTO.xls]12'!$B$5:$B$52;C7;'C:temp[AUTO.xls]12'!$E$5:$E$52)

Előzmény: fajlkezelo (13857)
Törölt nick Creative Commons License 2011.01.25 0 0 13858

ha megteheted egyesítsd egy munkafüzetbe a kettőt (külön munkalaponként).

 

 

Előzmény: fajlkezelo (13857)
fajlkezelo Creative Commons License 2011.01.25 0 0 13857

Sziasztok!

 

Van 2 fájlom: alap.xls és AUTO.xls

Az alap.xls fájlban van egy szumha képlet, ami az AUTO.xls fájlból ad össze:

 

=SZUMHA('C:Documents and
SettingsuserDokumentumok2011Telefon-Tünde[AUTO.xls]12'!$B$5:$B$52;C7;'C:Documents
and SettingsuserDokumentumok2011Telefon-Tünde[AUTO.xls]12'!$E$5:$E$52)

 

Ha megnyitom az alap.xls fájlt csatolás frissísével, akkor #ÉRTÉK! hiba van a cellában,

viszont ha utána megnyitom az AUTO.xls fájlt, akkor megjelenik a helyes érték a cellában.

Amikor a képlet készült, akkor mind2 fájl nyitva volt és jól is működött.

Ha kijelölöm az AUTO.xls fájlban az $E$5:$E$52 tartományt, akkor összeadja az állapotsorban.

 

Áttettem a c:temp könyvtárba, de úgy sem működött, Excel 2000-esem van, de 2003-mal se jó.

 

Van valami ötletetek?

 

Köszönöm

 

Joe

NeomatiK Creative Commons License 2011.01.23 0 0 13856

Ja bocs, persze 2011.01.01. a további dátum, csak ide írtam rosszul.

 

A második kérdésedre: először "sima" különbséget akartam, de 1900.01.... adott eredményül.

De most megformáztam számra, ahogy írtad. Így most jó lett. Köszi szépen! :)

Előzmény: Sztai (13855)
Sztai Creative Commons License 2011.01.23 0 0 13855

A nap360 függvény 12 db, 30 napos hónappal kalkulál, mintha egy évben csak 360 nap lenne.

Két kérdésem lenne:

1. 2010.12.31 után direkt írtál 2010.01.01-et vagy 2011.01.01-et akartál írni?

2. Miért nem számolod simán a két dátum különbségét és formázod meg mint szám és nem dátum?

Üdv

Előzmény: NeomatiK (13853)
NeomatiK Creative Commons License 2011.01.23 0 0 13854

Ez nálam is elő szokott fordulni. De érdekes, mert nem mindig.

Előzmény: Lesleee (13850)
NeomatiK Creative Commons License 2011.01.23