Keresés

Részletes keresés

wawabagus Creative Commons License 2010.11.30 0 0 13518

Szia!

Jessszus, ez nem hangzik jól :-(((((((((((((((((...

SQL tudásról nálam nem beszélhetünk...

HMMM...

Hát akkor el kell gondolkodjak valami más megoldáson :-((.

 

250.000 sorom van ezt excelbe nem tudom bepaszírozni.

Nincs valami alternatív ötleted?

 

Nekem most nem jut eszembe semmi...

 

Talán valahogy összevonhatnám access alatt a sorokat...

 

Próbálkozom...

 

Köszi az infót!!

 

:-)

Yo

 

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

Hát én sajnos elég gyakran találkozom ezzel.

A pivotot újra meg kell csinálni (Adatkapcsolatot létrehozni (ConnectionString, sql kódot átmásolni MSQUERY-be.)

Nem egyszerű. Mélyebb tudást igényel adatbáziskezeles szinten, mint egy sima excelezés

Előzmény: wawabagus (13516)
wawabagus Creative Commons License 2010.11.30 0 0 13516

Sziasztok!

Viszot lenne még egy kérdésem :-(...

 

2003-as excelben szeretnék egy 2007-es access adatbázisra épülő pivotot csinálni.

 

Tehát a pivot excelben lenne, de az adat maga accessben, mert hogy nagyon sok.

 

Valamiért nem akar működni...

 

Kiválasztom hogy milyen mezőket szeretnék, next, next...és nem tudja megcsinálni.

 

Találkoztatok már ilyesmivel?

 

Köszi a tanácsokat!!

Y

wawabagus Creative Commons License 2010.11.30 0 0 13515

boraka, robbantomester, SQLkerdes!!

 

NAGYON KÖSZÖNÖM a megoldást!!

 

Remekül működik!!!!!!!!

 

:-)

 

Örök hála

Törölt nick Creative Commons License 2010.11.30 0 0 13514

modulszinten melyeket?

Előzmény: E.Istvan (13501)
Sir Spangi Creative Commons License 2010.11.30 0 0 13513

Köszönöm!

 

Este kipróbálom, szerintem a 3. variációt fogom használni, ha működik. :-D

 

Előzmény: E.Istvan (13512)
E.Istvan Creative Commons License 2010.11.30 0 0 13512

A cellába nem csak az óra:percet kell felvinni, hanem a dátumot is. Akkor jól fog számolni.

A másik lehetőség, hogy két oszlopot vezetsz, az egyikbe írod a dátumot, a másikba az időpontot. Majd a két értéket összeadod. És az így összeadott értékekre számolod ki a két időpont közötti különbséget.

Egy esetleges harmadik lehetőség, hogy képlettel oldod meg, ekkor nem kell dátum. Például, ha a befejezés időpontja kisebb, mint a kezdés időpontja, akkor feltételezzük hogy egy nap eltelt. =ha(b1<a1;b1+1-a1;b1-a1)

Előzmény: Sir Spangi (13511)
Sir Spangi Creative Commons License 2010.11.30 0 0 13511

Sziasztok!

 

Egy Excel táblázattal kapcsolatos problémámra szeretnék segítséget kérni.

 

Csináltam egy táblázatot, amellyel a munkaidőmet(kezdés-végzés), km-ert, men.levél sorszámot stb. vezetem évek óta. Az Excel göngyölíti, kiszámolja a fogyasztást meg mindent amit akarok.

Eddig minden rendben ment, kiszámolta az óráimat (is), a kezdés-végzés adatok alapján.

Mostanában viszont vannak olyan műszakjaim, amikor éjszakás vagyok, pl. 19.00-kor kezdek, és másnap reggel 7.00-kor végzek. Ezt jelenleg nem tudja feldolgozni.

Nem találok megoldást, nem tudom kezeltetni a táblázattal.

Azt szeretném megkérdezni, hogy mi a módja annak, hogy nappali, és éjszakás, másnapra átnyúló időpontokat is tudjak vele számoltatni?

 

Előre is köszi a segítséget!

P.S.: Valószínűleg csak késő délután leszek, mert sajnos menni kell a 2. munkába. :-D

Törölt nick Creative Commons License 2010.11.29 0 0 13510

Kimutatás varázsló - Több tartomány (összesítés) Ha nem találod a 2007-esben, akkor fel kell tenned a gyorselérési eszköztárra: Excel beállításai - Testreszabás - Kimutatáseszközök|Beállítás lap

 

Ez pontosan jó erre amit írsz.

Előzmény: missparker (13509)
missparker Creative Commons License 2010.11.29 0 0 13509

Sziasztok,

 

Bocs, hogy így ismeretlenül, de szeretném a segítségeteket kérni, ebbe beletört a bicskám:

 

Adva van 20 sheet, rajta sok-sok sor és oszlop (többezer sor, 90 oszlop). Minden sheet-en van egy vagy két oszlop ("leírás1" és "leírás2"), ami tartalmazhat egy bizonyos karatersort (cellaformátum: szöveg), ami nekem most érdekes ("cukor"). Csinálnom kell egy olyan összesítő sheet-et, ami az összes sheet összes olyan sorát tartalmazza, ami tartalmazza a "leírás1" és/vagy "leírás2" oszlopban a  "cukor"-t.

 

Vmi ötlet esetleg? (magyar 2007-ben próbálkozom...)

Törölt nick Creative Commons License 2010.11.29 0 0 13508

Szerintem is jó kis feladat, az eseménykezelős már müxik, kiváncsian várom a végleges UDF-es megoldást. ;-) Jó lenne megtudni, hogy MixM topictárs tudta-e hasznosítani az eddigieket.

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

Viszont tény, hogy érdekes feladat ;) Számomra  főleg az UDF-es.

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

ps. egyébként teljesen feleslegesnek tartok erre scriptes megoldást (legyen az UDF vagy eseménykezelős) mert ha jól értem a cél itt csupán a figyelem felkeltése, hogy túl sok munkanap követné egymást - ami gondolom PTK-ba is ütközik. Erre tökéletesen elég, ha az a "P" betű lesz színes, ami után 6-nál több munkanap van. Ezt pedig feltételes formázással meg is lehet csinálni a beépített függvények segítségével. (Lsd "Előzmény")

Előzmény: Törölt nick (13466)
Törölt nick Creative Commons License 2010.11.29 0 0 13505

Ezt a függvényt nem egészen értem. Leírásodból azt véltem kivenni, hogy a cella feltételes formázásában, a "képlet értéke" módban kell használni.

Ez logikusan azt jelentené, hogy ha pl. a C3 cella formázásánál használom, akkor a függvénynek a C3 cellára vonatkozóan kellene meghatároznia IGAZ vagy HAMIS értéket, és a feltételes formázás ettől függően pirosít vagy nem pirosít.


 - Így van.

 

És egy észrevétel: a 'sor' változót szerintem Byte helyett Long típusra kellene beállítani, mert Byte-ként legfeljebb 255 lehet az értéke, egy excel munkafüzet pedig legalább 65536 sort tartalmaz.

 - Ez szándékos volt, mert tudtam, hogy nem leszz 255-nél több.

 

 

 

  De mivel a függvény Volatile, újra kiszámolja C3-ra, amivel újra felülírja C4-et, és ez így szerintem végtelen ciklus. Nekem lefagyott az Excelem, amikor kipróbáltam.

 - Ha az utolsó If... End If nélkül próbálod, akkor működik, ez esetben csak azokat a "P"-ket színezi, amelyek után 6-nál több <> "P" van.

Ezzel az If-el az volt a célom, hogy True értéket kapjanak azok a cellák is, amelyeknél a "P" után 6-nál több <> "P" van.

Hogy végtelen az lehet... Nem tudtam hogy fog viselkedni a volatile, ha az utolsó If .... End If -ben lévő sorokkal "utólag" "belepiszkálok"

 

 

 

 

Előzmény: Törölt nick (13498)
mouser Creative Commons License 2010.11.29 0 0 13504

egyébként tényleg működik, bár egyelőre nem volt időm megérteni, hogy mitől :-)

 

és köszi :-)

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

Köszi, az tényleg kimaradt :)

Előzmény: Delila10 (13502)
Delila10 Creative Commons License 2010.11.29 0 0 13502

Bocsi, kimaradt egy "kacsa csőre".

 

=SZORZATÖSSZEG((Munka1!$A$1:$A$365<=B1)*(Munka1!$A$1:$A$365>=A1)*(Munka1!$B$1:$B$365))

Előzmény: Törölt nick (13500)
E.Istvan Creative Commons License 2010.11.29 0 0 13501

Igen, például SAP R/3

Előzmény: Törölt nick (13445)
Törölt nick Creative Commons License 2010.11.29 0 0 13500

Tegyük fel, hogy Munka1 lapon, A1:A365-ben vannak a dátumok, B1:B365-ben az értékek, továbbá Munka2 A oszlopában vannak az intervallumok kezdő dátumai, B oszlopban pedig a végdátumok.

Ez esetben pl. C1-be ez a képlet kerül:

=SZORZATÖSSZEG((Munka1!A1:A365<=B1)*(Munka1!A1:A365=A1)*(Munka1!B1:B365))

Előzmény: mouser (13497)
E.Istvan Creative Commons License 2010.11.29 0 0 13499

Ha 2007-es Exceled van akkor:

=SZUMHATÖBB(értéket tartalmazó oszlop;dátum oszlop;">="&dátum eleje cella;dátum oszlop;"<="&dátum vége cella)

Előzmény: mouser (13497)
Törölt nick Creative Commons License 2010.11.29 0 0 13498

Ezt a függvényt nem egészen értem. Leírásodból azt véltem kivenni, hogy a cella feltételes formázásában, a "képlet értéke" módban kell használni.

Ez logikusan azt jelentené, hogy ha pl. a C3 cella formázásánál használom, akkor a függvénynek a C3 cellára vonatkozóan kellene meghatároznia IGAZ vagy HAMIS értéket, és a feltételes formázás ettől függően pirosít vagy nem pirosít.

Mivel ezt a formázást az összes cellára be kell állítani, nem értem, hogy a függvény miért akarja a szomszédos cellák értékét felülírni? Egyrészt, nem biztos, hogy csak P betű és üres cella van ebben a táblázatban, így a függvényed adatvesztést okozhat. Másrészt, a szomszédos cellák pirosságát ugyanezzel a függvénnyel kellene meghatározni, nem?

Tegyük fel, hogy C3 és C4 cellák feltételes formázásában szerepel ez a függvény, tehát C3 piros, ha ErrRed(C3)=IGAZ, C4 pedig piros, ha ErrRed(C4)=IGAZ

Excel kiszámolja C3-ra. Közben felülírja C4 értékét. Erre, mivel a C4 feltételes formázás bemenő értéke megváltozott, kiszámolja C4-re is. De mivel a függvény Volatile, újra kiszámolja C3-ra, amivel újra felülírja C4-et, és ez így szerintem végtelen ciklus. Nekem lefagyott az Excelem, amikor kipróbáltam.

 

Lehet, hogy nem jól értem a felhasználás módját, de nekem itt valami nem gömbölű...

 

És egy észrevétel: a 'sor' változót szerintem Byte helyett Long típusra kellene beállítani, mert Byte-ként legfeljebb 255 lehet az értéke, egy excel munkafüzet pedig legalább 65536 sort tartalmaz.

Előzmény: Törölt nick (13493)
mouser Creative Commons License 2010.11.28 0 0 13497

helló mindenki!

 

excel problémám a következő. van egy munkalapom az év napjaival, hozzárendelve minden naphoz egy érték. egy másik munkalapon pedig minden sorban egy időintervallum egy kezdő és egy végdátummal. (tetszőleges számú nappal egy intervallumban,).

 

namost a feladat az, hogy minden sorban adjam össze az ahhoz az intervallumhoz intervallumhoz tartozó értékeket egy új oszlopban vmi függvénnyel, de eddig nem jött össze, úgyhogy hilfe!

Törölt nick Creative Commons License 2010.11.28 0 0 13496

az (As Boolean)  a fgv-hez nem jó, mert futásközben ettől eltérő értéke is van. Az (ER As Range) jó, de szerintem emiatt sem lehet hiba (illetve nem is volt)

 

Ha nincs a kommentezett sor, akkor megy szépen a függény, helyesen true értéket ad azokra a cellákra, amelyekben "P" van és utána 6-nál több egyéb cella. A kommentezett sor előtti sorban meghatározott Range tartalmazza  azt a tartományt, amelyekre még true-t kell kapni, hogy a feltételes formázás érvényesüljön.

Ezt akarom a kommentezett sorral true-ra állítani, de a függvény hibaértékekkel tér vissza. (Nem vba hiba)

 

Előzmény: Törölt nick (13494)
Törölt nick Creative Commons License 2010.11.28 0 0 13495

ErrRedColor változó tényleg nem volt deklarálva de hibát nem okoz ettől.

ERRange -vel az a tartományt határozom meg, amelyben a (következő) "P" betűt kell keresni

 

 

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

Dehogy haragszunk, sőt, a több különböző megoldás jó tanulási lehetőség.

Elsőként az alábbit javasolnám, ill. kérdezem:

 

Function ErrRed(ER As Range) As Boolean

Dim ERRange As Range, oszlop As Byte, sor As Byte, ERRangeColor As Range
Dim ErrRedColor As Byte 'ez nem volt definiálva

Ezt nem igazán értem miért kell:

Set ERRange = Range(Cells(sor, oszlop + 1), Cells(sor, oszlop + 31))

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

Ne haragudjatok, egy kicsit belecsaptam én is...

Az a helyzet, hogy ezt szerintem pár soros UDF-el meg lehet csinálni, amit feltételes formázásként kell megadni és boolean-t ad vissza a fgv.

Most így néz ki, de szeretném a segítségeteket kérni:

 

Function ErrRed(ER)


Dim ERRange As Range, oszlop As Byte, sor As Byte, ERRangeColor As Range
oszlop = ER.Column
sor = ER.Row
Set ERRange = Range(Cells(sor, oszlop + 1), Cells(sor, oszlop + 31))
Application.Volatile
If ER = "P" Then ErrRed = Application.Match("P", ERRange, 0) Else ErrRed = 6
ErrRedColor = ErrRed
ErrRed = ErrRed > 7
If ErrRed Then


Set ERRangeColor = Range(Cells(sor, oszlop + 1), Cells(sor, oszlop + ErrRedColor - 1))
ERRangeColor.Value = ErrRed ' ez az egy sor nem jó, nem tudom hogy kell a "range" cella értékeit "IGAZ"-ra állítani


End If


End Function

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

Na, akkor az alábbi a megoldási javaslatunk MixM topictárs felvetésére:

 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim meddig As Integer
Dim figyel As Integer

 

  meddig = Cells(Target.Row, Columns.Count).End(xlToLeft).Column

  figyel = 1
 
  Range("A" & Target.Row).EntireRow.Interior.ColorIndex = xlNone
   
  For i = 1 To meddig
    If UCase(Cells(Target.Row, i)) = "P" Then
      If i - figyel >= 6 Then
        Range(Cells(Target.Row, figyel), Cells(Target.Row, i)).Interior.ColorIndex = 3
        figyel = i
      Else: figyel = i
      End If
    End If
  Next i
 
  If meddig - figyel >= 6 Then Range(Cells(Target.Row, figyel), Cells(Target.Row, meddig)).Interior.ColorIndex = 3

 

End Sub

  

Előzmény: Delila10 (13491)
Delila10 Creative Commons License 2010.11.28 0 0 13491

A sor végének színezéséhez még kell egy sor a Next után.

 

If meddig - figyel >= 6 Then Range(Cells(Target.Row, figyel), Cells(Target.Row, meddig)).Interior.ColorIndex = 3

 

Szerintem az első feltételnél is 6-tal kell vizsgálni: If i - figyel >= 6 Then

(#13426)

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

Ja, vagy úgy, akkor itt egy következő javaslat:

 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim meddig As Integer
Dim figyel As Integer

 

  meddig = Cells(Target.Row, Columns.Count).End(xlToLeft).Column 

  figyel = 1
 
  Range("A" & Target.Row).EntireRow.Interior.ColorIndex = xlNone
   
  For i = 1 To meddig
    If UCase(Cells(Target.Row, i)) = "P" Then
      If i - figyel >= 7 Then
        Range(Cells(Target.Row, figyel), Cells(Target.Row, i)).Interior.ColorIndex = 3
        figyel = i
      Else: figyel = i
      End If
    End If
  Next i
 
End Sub

Előzmény: Delila10 (13489)
Delila10 Creative Commons License 2010.11.27 0 0 13489

Ezt én úgy értelmezem, hogy nem pihenőnap nem lehet több, vagyis ha a sor elején több nem P-s cella van, az sem jó. Mondjuk csak a 8. napot akarják kiadni szabadnapnak.

Lehet, hogy nem jó a meglátásom.

Előzmény: Törölt nick (13488)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!