Keresés

Részletes keresés

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 0 0 13853

Sziasztok!

 

A oszlopban dátumok

 

2010.12.01.

2010.12.02.

.

.

.

2010.12.31.

2010.01.01.

2010.01.02.

 

B oszlopban függvény a napok különbözetével, hogy megkapjam az első dátum és az

adott sorban lévő dátum között eltelt napk számát:

 

 

=NAP360($A$1;A1+1)

=NAP360($A$1;A2+1)

=NAP360($A$1;A3+1)

stb

 

 

Viszont a 31 napos hónapoknál a 30. napra ad egy számot: legyen 30

és a 31. napra is ad egy számot, szintén 30-at.

A következő napra (ami a következő hónap 1-e) adja a 31-et eredményül, ahol már a 32 kettő lenne a helyes.

 

Hogy lehet ezt jól csinálni?

 

Köszi előre is.

Lesleee Creative Commons License 2011.01.23 0 0 13852

Zseni vagy, köszönöm :-)!

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

Zárd be. Indísd újra.

Előzmény: Lesleee (13850)
Lesleee Creative Commons License 2011.01.23 0 0 13850

Sziasztok!

 

2007-es Office-t telepítettem fel, és az első Excel indítás után a billentyűkombinációk meghülyültek.

 

A ctrl+s, a ctrl+c, a ctrl+v hatására egy törlés panel jön ki, és rákérdez, hogy merre törölje a cellákat.

 

Többször telepítettem már fel, és ilyet eddig nem produkált.

 

 

Valakinek ötlete?

exszajmon Creative Commons License 2011.01.21 0 0 13849

Köszi szépen Robbantomester, így már világos

Törölt nick Creative Commons License 2011.01.21 0 0 13848

8-nál meg persze hogy helyes értéket ad. mert 8dec =  1000bin tehát dec1000*dec1000=dec1000000 és dec2bin(8*8) is = 1000000

Előzmény: exszajmon (13846)
Törölt nick Creative Commons License 2011.01.21 0 0 13847

Ez normálisnak mondható szerintem.

DEC2BIN(7)*DEC2BIN(7) = 111*111 = 12321: Ugyanis attól, hogy te átváltottad binárissá, ő még nem tudja, hogy nem decimális számokat kell összeszoroznia - ezért alapértelmezetten decimálisnak gondolja.

 

 

Helyes így lenne:  =DEC2BIN(7*7)

 

Előzmény: exszajmon (13846)
exszajmon Creative Commons License 2011.01.21 0 0 13846

Sziasztok!

 

Az lenne a kérdésem, miért számol bizonyos értékeknél helytelenül, ha 2-es számrendszerben készítek szorzótáblát, a szorzók 10-es számrendszerben vannak és a függvényeket szoroztam össze pl.: 8-nál mindig helyes értéket ad /dec2bin(8)*dec2bin(8)=  1000000/, más értéknél pl.:7-nél pedig 2-est és 3-ast is beletesz a számba /dec2bin(7)*dec2bin(7)=12321/ remélem érthető a problémám.

 Valaki tudna segíteni, hogy mit csinálok rosszul?

Sajnos a printscreent nem voltam képes beszúrni.

 

 

SQLkerdes Creative Commons License 2011.01.21 0 0 13845

Hát, akkor még használhatod az MMULT worksheet függvényt VBA-ból meghívva: Application.mmult(...)

Előtte csinálj egy tömböt aminek minden eleme 1000 (ajánlom a REPT() függvény és a SPLIT method használatát), a két tömböt már szorozhatod egymással az MMULT használatával.  Bizonyos elemszám fölött gyorsabb mint egyenként végig loop-olni.

Előzmény: Or Kán (13844)
Or Kán Creative Commons License 2011.01.20 0 0 13844

Kösz, csak pont ezt az egyenkénti értékmegadást akartam elkerülni.

 

Viszont, az előző megoldásodat "lemakróztam" a következők szerint:

 

Sub osztás()

Cells(10, "d") = 1000

Cells(10, "d").Copy

Range("A1:D5").PasteSpecial Operation:=xlDivide

End Sub

 

Jobb híján ez is meg tudja a műveleti sebességet növelni sok sor/munkalap esetén.

 

Köszi a választ.

Előzmény: SQLkerdes (13843)
SQLkerdes Creative Commons License 2011.01.20 0 0 13843

Hát egy For...Next ciklussal végigmehetsz rajtuk és egyenként eloszthatod.

Ha nem ismered akkor az Ubound és Lbound -nak nézz utána.

Előzmény: Or Kán (13842)
Or Kán Creative Commons License 2011.01.20 0 0 13842

Nagyon jó köszi, csak még a "tomb" változó elemeivel szeretnék műveletet csinálni (pl. elosztani azokat 1000-el) és ez még nem megy.

Előzmény: SQLkerdes (13841)
SQLkerdes Creative Commons License 2011.01.20 0 0 13841

Első probléma:  A1:D5 elemeinek osztása ezerrel úgy, hogy az eredmény az A1:D5 tartományban felülírja az eredeti értékeket.

 

- írd be bármelyik üres cellába (pld D10) azt hogy 1000

- D10:  Copy (aka Ctrl+C)

- jelöld ki az A1:D5 tartományt

- Paste Special, a feljövő ablak "Operations" ( Műveletek? ) részében válaszd a Divide (Osztás?) opciót.

- OK

 

Kész is vagy.

 

Második

 

Sub valami()
Dim tomb
tomb = ActiveSheet.Range("a1:d5")

End Sub

 

A kijelölt range dimenziója automatikusan meghatározza a Tomb nevu tomb dimenzióját.

Előzmény: Or Kán (13840)
Or Kán Creative Commons License 2011.01.20 0 0 13840

Sziasztok!

 

Azt szeretném megkérdezni, hogy egy cellatartományban lévő értékeket (pl. A1:D5) hogy lehet úgy elosztani pl. ezerrel (ugyanebben a tartományban), hogy ne kelljen minden cellában külön a műveletet elvégezni (tehát kvázi tömbműveletként)?

 

Ehhez tartozó másik probléma, hogy egy cellatartomány értékeit (pl. A1:D5) hogy lehet tömbváltozóba (a(5,4)) úgy beletenni, hogy az egy művelet legyen (tehát hogy ne kelljen futtatni a sor- és oszlopindexet)? 

Jimmy the Hand Creative Commons License 2011.01.20 0 0 13839

Ez a LEFT JOIN remek ötlet :-)

Végül ezt sütöttem ki:

 

SELECT Min(t1.plusone)
FROM [SELECT  fld+1 AS plusone FROM tbl]. AS t1 LEFT JOIN tbl ON t1.plusone = tbl.fld
WHERE (((IsNull([tbl].[fld]))=True));

 

Tízezer soros táblánál egy szempillantás alatt kiadja a végeredményt, segédtábla nélkül, egy lekérdezésbe sűrítve, és ráadásul úgy, hogy a mező nincs is indexelve. Király :-)

 

Köszönöm a tippeket mindekettőtöknek.

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

except helyett ez is visszaadja a különbséget:

 

Select Ertek FROM @halmaz as t0
LEFT JOIN @halmaza as t1 on t0.Ertek = t1.Erteka
Where t1.Erteka IS NULL

 

az eredményből már csak a legkisebbet kell kiemelni

Előzmény: Jimmy the Hand (13832)
Sznida Creative Commons License 2011.01.18 0 0 13837

Nagyon szívesen,  máskor is! :)

 

Szép napot!

 

Üdv: Sznido

Előzmény: briger_ (13836)
briger_ Creative Commons License 2011.01.18 0 0 13836

Nagyon szépen köszönöm, gyors volt és működik:)))

Thx:)

briger

Előzmény: Sznida (13834)
Törölt nick Creative Commons License 2011.01.18 0 0 13835

sajnos nem :( acces-ban csak UNION van, még intersect sincs....

Rákerestem, csak subquery-s javaslatokat találtam... pl.:

 

http://p2p.wrox.com/access/55073-minus-except-ms-access.html

Előzmény: Jimmy the Hand (13832)
Sznida Creative Commons License 2011.01.18 0 0 13834

Szia Briger,

 

2. pont:

 

Munka1 munkalap, alapadatok:

 

 

Munka2 munkalap:

 

B4-es cella képlete: =JOBB(FKERES($B$1;Munka1!A:F;4;HAMIS);1)

B5-ös cella képlete: =HA(BAL(FKERES($B$1;Munka1!A:F;4;HAMIS);1)="H";"Haladó";HA(BAL(FKERES($B$1;Munka1!A:F;4;HAMIS);1)="K";"Kezdő";"Elírás történt"))

 

Természetesen nagyon odafigyelve, hogy a Sorszám formatuma megegyezzen a két munkalapon!

 

Üdv: Sznido

Előzmény: briger_ (13831)
Sznida Creative Commons License 2011.01.18 0 0 13833

Szia Briger,

 

1.

A fokozat és végzettség tartomány a munka2 munkalapon, az "1"-es (A3-as cella) sort lejjebb toltam, mert így könnyebb számolni, lásd csatolt kép:

Munka1 munkalap:

D4-es cella képlete: =HA(HÓNAP(C4)<=HÓNAP($C$1);ÉV($C$1)-ÉV(C4);ÉV($C$1)-ÉV(C4)-1)

F4-es cella képlete: =FKERES(E4;Munka2!A:K;HOL.VAN(B4;Munka2!$A$1:$K$1;0);HAMIS)*VKERES(B4;Munka2!$A$1:$K$2;2;HAMIS)

 

A többire, pedig lehúzod!

 

A 2. feladattal még foglalkozom!

 

Üdv: Szndio

 

Előzmény: briger_ (13831)
Jimmy the Hand Creative Commons License 2011.01.18 0 0 13832

Ezt az EXCEPT műveletet az Acess is ismeri?

Előzmény: Törölt nick (13830)
briger_ Creative Commons License 2011.01.18 0 0 13831

 

Üdv, 2 kérdéskörben kérem a segítségetek:

1.

- Évek oszlop kitöltése: a "Mióta" és "Jelenlegi dátum"-ból, de a hónapokat is figyelembe kell venni, azaz annak a hónapnak az elsején kell növelni a munkában töltött évek számát eggyel, amelyben a munkavégzés elkezdődött.

- Szorzó oszlop kitöltése "Végzettség" és "Fokozat" tartományokból:

 

2.

"Adatok" tartományból veszem az adatokat:

 

Tetszőleges sorszám beírása után Fkeressel hozom a nevet és az osztályzatot. A csoporthoz a H_A-ból viszont csak a jobb szélső karaktert kéne hozni, a Minősítéshez ugyanebből a H_A-ból a bal szélső alapján kiírni, hogy Haladó (vagy K_A azaz kezdő)

 

 

 

Thx:)

briger

Törölt nick Creative Commons License 2011.01.17 0 0 13830

Tényleg csak megjegyzés szintjén...

Nagyon jól leírta SQLkerdes kolléga a  13822-ben a módszert. Viszont ne feledkezzünk meg arról sem, hogy az EXCEPT (Különbségképzés) kulcsszót kifejezetten erre találtaák ki SQL-ben.

 

pl.

 

DECLARE @halmaz TABLE (Ertek int)
DECLARE @halmaza TABLE (Erteka int)
INSERT INTO @halmaz (Ertek) VALUES (1)

INSERT INTO @halmaz (Ertek) VALUES (2) 
INSERT INTO @halmaz (Ertek) VALUES (3)
INSERT INTO @halmaz (Ertek) VALUES (4)

INSERT INTO @halmaz (Ertek) VALUES (5) 
INSERT INTO @halmaz (Ertek) VALUES (6)
INSERT INTO @halmaza (Erteka) VALUES (1)
INSERT INTO @halmaza (Erteka) VALUES (3)
INSERT INTO @halmaza (Erteka) VALUES (5)
INSERT INTO @halmaza (Erteka) VALUES (7)
INSERT INTO @halmaza (Erteka) VALUES (9)
INSERT INTO @halmaza (Erteka) VALUES (11)

Select * FROM @halmaz EXCEPT Select * FROM @halmaza

 

Eredmény: 2,4,6

Előzmény: Jimmy the Hand (13827)
Jimmy the Hand Creative Commons License 2011.01.17 0 0 13829

Köszönöm a tippet, amúgy.

Előzmény: SQLkerdes (13823)
Jimmy the Hand Creative Commons License 2011.01.17 0 0 13828

Na igen, csak ez 7500 rekord esetében több, mint 5 percig fut. Bizonyára 7500-szor megcsinálja a subquery-t...

Lehet, hogy mégiscsak ideiglenes tábla lesz belőle...

Előzmény: Jimmy the Hand (13827)
Jimmy the Hand Creative Commons License 2011.01.17 0 0 13827

Plusz táblát nem akarnék létrehozni, de talán nem is kell.

A javaslatodból kiindulva erre jutottam:

 

SELECT Min(Field) AS Kif
FROM Table
WHERE (Field+1) Not In (SELECT Field FROM Table);

 

 

Előzmény: SQLkerdes (13822)
MGD1 Creative Commons License 2011.01.17 0 0 13826

Nagyon szepen koszonom.

Előzmény: Ordas (13825)
Ordas Creative Commons License 2011.01.17 0 0 13825

Parasztos megoldás:

 

3. oszlop, legyen a C

2. oszlop a B

1. oszlop az A.

 

C1 cellába írandó:

=HA(B1="X";A1;" ")

 

Aztán ezt lehúzni és ezt lehúzni az összes sorhoz.

Előzmény: MGD1 (13824)
MGD1 Creative Commons License 2011.01.17 0 0 13824

Sziasztok

 

Van ket oszlopom ahol az elso oszlopban ertekek es a masodik oszlopban x szel szeretnem jelolni kivalasztott ertekeket amelyeket egy harmadik oszlopban szeretnem megjeleniteni.

 

      1 oszlop       2 oszlop   3 oszlop

          25                  x             ?

          35

          45                  x             ?

          12

SQLkerdes Creative Commons License 2011.01.17 0 0 13823

Mondjuk a COUNTNUMBERS-t nem is feltétlenül nehéz létrehozni, mert csak csinálsz egy segédtáblát ami nulla és valami elégségesen nagy szám között minden számot tartalmaz (FULLCOUNTNUMBERS), majd csinálsz egy olyan JOIN-t, ahol csak az ACTUALNUMBERS minimuma és maximuma közötti értékek kerülnek be.  Túlbonyolítottam:  egy sima WHERE elég ehhez...

Előzmény: SQLkerdes (13822)
SQLkerdes Creative Commons License 2011.01.17 0 0 13822

Valami ilyesmit csinálnék:

- menjünk végig (for next) a lenti számokon a másodiktól kezdve és vonjuk ki a nagyobb sorszámút a kisebb sorszámúból (lenti példa:  1-0)

- ahol a különbség nem egy, ott a legkisebb hiányzó szám, amit úgy lehet előállítani, hogy a fenti kisebb sorszámú számhoz hozzáadok 1-et (5-3 nem 1, hanem kettő, ezért a keresett szám 3+1)

 

Vagy:  állíts elő egy olyan adattáblát (COUNTNUMBERS) ami minden számot tartalmaz a már meglévő adattáblád (ACTUALNUMBERS) minimuma és maximuma között.

Ezután csinálj egy JOINT-ot amit csak azokat a számokat mutatja, amik benne vannak a COUNTNUMBERS-ben, de nincsenek az ACTUALNUMBERS-ben (outer join), majd az így létrejövő "táblának" vedd a minimumát.

Előzmény: Jimmy the Hand (13821)
Jimmy the Hand Creative Commons License 2011.01.17 0 0 13821

Nem igazán Exceles probléma, hanem algoritmus, és nem is Excelben akarom használni, hanem adatbázis-lekérdezésben, de azért felteszem ide, mert itt okos emberek vannak, és hátha van valakinek jó ötlete.

 

Egy adatbázis mező értékei természetes számok lehetnek. Minden szám csak egyszer szerepelhet benne, de (nyilván) nem mindegyik szám szerepel benne ténylegesen. Például:

 

0

1

2

3

5

8

23

 

Az a kérdés, hogy hogyan lehet gyorsan és elegánsan meghatározni azt a legkisebb természetes számot, ami nincs benne a halmazban. (A fenti példa esetében 4.) A kézenfekvő megoldás az lenne, hogy egy For..Next ciklussal, 0-tól a halmaz llegnagyobb eleméig egyenként végignézem a számokat. Ezzel csak az a bajom, hogy nem gyors, és nem elegáns.

Van valakinek jobb ötlete? Az SQL nyelv sajátosságait fel lehet használni a megoldáshoz.

esy.gab Creative Commons License 2011.01.15 0 0 13820

A "KERTBIRODALOM".

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

melyik ez az online játék?

Előzmény: esy.gab (13800)
esy.gab Creative Commons License 2011.01.13 0 0 13818

Megnéztem. Sajnos nem. Azt kell gondolnom erre nincs megoldás. De azért köszi.

Előzmény: Jimmy the Hand (13801)
Törölt nick Creative Commons License 2011.01.13 0 0 13817

Pedig alap szerintem, hogy pl. egy 30 oszlopot tartalmazó adatmezőben ne kelljen egyesével zongorázgatni az oszlopokon. Most volt egy ilyenem és akkor jöttem ide. (Eddig 4-5-6 oszlopokkat a legrövidebb úton összekattintgattam, de mostanra begurultam)

Előzmény: Sztai (13814)
Törölt nick Creative Commons License 2011.01.13 0 0 13816

Ez jó lesz, nem jutott eszembe. ('Homlokra csap'). Megpróbálok  *.xla-t készíteni belőle és bővítményként berakni.

Előzmény: SQLkerdes (13813)
SQLkerdes Creative Commons License 2011.01.13 0 0 13815

És lehet, hogy még a Pivottable.PreserveFormatting-ot is érdemes TRUE-ra állítani, hogy ha változtatsz a PivotTábla kinézetén akkor az ne barmolja össze a már beállított számformátumaidat.

Előzmény: SQLkerdes (13813)
Sztai Creative Commons License 2011.01.13 0 0 13814

Én is a 2007-es ről beszéltem, de ahogy írtam is sajnos sem a beépített piv stílusoknál, sem a custom stílusnál nem lehet számformátumot beállítani, így csak a makro marad, ahogy SQLkerdes is írja. (ahogy eddig tapasztaltam a 2010-es verziónál is probléma maradt :-( )

Üdv

Előzmény: Törölt nick (13812)
SQLkerdes Creative Commons License 2011.01.13 0 0 13813

Még a következő jutott eszembe:

- a Personal makrobook-odba tegyél egy makrót, amit hozzárendelsz egy gombhoz, amit kiteszel a QuickAccessToolbar-ba

- a makró menjen végig az ActiveSheet minden pivottábláján és annak minden pivotfield-jén (for each ... next ciklus)

- és állítsa át a pivotfield(indexszám).numberformat-ot olyanra amit szeretsz

 

Valami ilyesmire gondolok:

 

Sub valami()
Dim PT As PivotTable

Dim PF As PivotField

On Error Resume Next

For Each PT In ActiveSheet.PivotTables

    For Each PF In PT.PivotFields

       PF.NumberFormat = "#,##0.0_ ;[Red]-#,##0.0 "

    Next

Next


End Sub

 

Ha nagyon kreatív hangulatban vagy, akkor még azzal is játszhatsz, hogy programilag bekéred, hog hány tizedesjegyet akarsz látni, akár az elején, akár pivotfield-enként.

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

Szia, köszönöm. Félreértettelek. A Hozzászólásod alapján azt gondoltam kifejezetten a pivottábla keretein belül van valami sablonkészítés. Ezt ismertem, és sajnos a kérdéses pivotos esetben nem is használható (mint ahogy írtad is).

 

Egy ötletem van 2007-esben. Ebben már van egy csomó beépített kimutatás stílus - ott szerintem létre is lehet hozni a megfelelőt.

 

 

Előzmény: Sztai (13811)
Sztai Creative Commons License 2011.01.12 0 0 13811

A sablon készítés egyszerű (lsd alább), de sajnos nem jó, mert a pivot fölülírja. Be lehet állítani alapértelmezett stílust a pivot táblára, de ott pedig nem lehet számformátumot megadni.

Még keresem a megoldást.

sablon készítés:

Egy üres munkafüzetet megformázol úgy ahogy szeretnéd (akár szöveget és értékeket is beírhatsz) és sablonként mented el (Save As Type Template xltx) Ilyenkor felajánlja a template könyvtárat (Doc. and Sett.UserNameAppl.DataMicrosoftTemplates)

Ezután ha új munkafüzetet nyitsz, (Office gomb-New-MyTemlate) kiválaszthatod a sablonodat. Ha a sablon neve pl. PivMfüzet akkor a címsorban majd ez áll: PivMfüzet1.

üdv

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

Egyébként én a monitor beállításaival próbálkoztam, sikertelenül :(

Ha nem kíván részedről utánajárást (mivel jómagam is időt szeretnék spórolni), akkor leírnád hogy a sablon készítést kb. merre keressem?

 

Előzmény: Sztai (13809)
Sztai Creative Commons License 2011.01.12 0 0 13809

A kijelölés szinét a windowsban lehet (lehetne!) beállítani

Display properties/Appearance/Advanced, majd az Advanced Appearance ablakban kiválasztani a Selected Item-et és megváltoztatni a szinét. Sajnos azonban ez excel 2007-nél nem működik :-( (Word 2007-nél igen)

Eddig azt találtam a legjobbnak ha a szin beállításoknál a gammát csökkentettem (lehet a kontrasztot is) Diplay Properties/Settings/Advanced és az új ablakban (videokártya függő) a Color fülön módosítottam a beállításokat.

Üdv

ps:

A pivotban nem lehet alapértelmezett érték formátumot beállítani. Sablont viszont lehet készíteni és azt használd, ne a normált módosítsd.

 

Előzmény: Törölt nick (13803)
tt65 Creative Commons License 2011.01.12 0 0 13808

Ezzel én is tisztában vagyok.

Amit te ábrázoltál, az igazából nem egy út - idő diagram, ahogy az szokott lenni, hanem tulajdonképp egy táblázat, amiből le lehet olvasni, hogy adott v kezdősebesség mellett mekkora a fékút, ami egy egyenes vonalú egyenletes mozgásból áll a reakcióidő leteltéig, majd egy lassuló szakaszból.

 

Próbáld meg amit kifejezni akartál egy út(idö) vagy sebesség(idö) alakban ábrázolni! :-)

Előzmény: szkripnyik (13796)
Törölt nick Creative Commons License 2011.01.12 0 0 13807

No, ezt kipróbálom ha lesz időm rá, köszi. Amúgy nagyon úgy emlékszem, hogy régen láttam ilyen beállítást, most az istennek sem találtam meg. (Még 2003-asban)

Előzmény: SQLkerdes (13805)
Törölt nick Creative Commons License 2011.01.12 0 0 13806

köszönöm szépen az ötletet - egyébként makróval menne - de nincs rá szükség és egyéb okok miatt nem is optimálás (máshol nincs engedélyezve, kinyírja a undo/redo funkciót stb...)

Egyébként - utalva a kommentezett részre - nem esztétikai a probléma, hanem valószínűleg színlátási. Nekem a sok fehér cella közé olvad ez a szín és nem látom. (Nem hiszem én vagyok az egyetlen...). Persze a cellaháttérszínt lehet alapértelmezettet választani - és ettől talán meg is oldódik a probléma.

Előzmény: SQLkerdes (13804)
SQLkerdes Creative Commons License 2011.01.12 0 0 13805

Ebben nem vagyok biztos, de hátha segít.

Mintha azt olvastam volna valahol, hogy a Normál stílus-t használja, így ha a Normál stílusod számformátumát átállítod (jobb klikk, Modify vagy bármi is van a magyar verzióban) akkor az hatással van a Pivot táblára is.

Rossz hír, hogy a beállítás helyi, vagyis ha egy másik kollegád megnyitja és az ő Normál stílusa nem olyan mint a tied, akkor nem azt a formátumot fogja mutatni, mint a tieden.  Gondolom egy megnyitáskor a háttérben lefutó kis makró ezt meg tudja oldani, de sok helyen a makrók alapból tiltva vannak.

Előzmény: Törölt nick (13803)
SQLkerdes Creative Commons License 2011.01.12 0 0 13804

Cellakijelölés témakörben nekem ezt dobta a gúgli.

 


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells.FormatConditions.Delete

With Target

.FormatConditions.Add Type:=xlExpression, Formula1:="TRUE"

.FormatConditions(1).Interior.ColorIndex = 24  'Ezt kell változtatni ha a sötétszürke nem tetszik.

End With

End Sub

 

 

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

sziasztok,

egyszerű: (2007)

kimutatás táblában az adat mező számformátum beállításaihoz létezik e alapértelmezett beállítás? Nem találok...

 

másik:

A cellakijelölés "színét" lehet állítani szerintetek, vagy csak én nem találom? Én sajnos nem nagyon látom és sokszor zavart már...

 

andzsin Creative Commons License 2011.01.12 0 0 13802

kösz mindenkinek, mindegyik működik, még jó, hogy lehet válogatni:)

Előzmény: Törölt nick (13791)
Jimmy the Hand Creative Commons License 2011.01.11 0 0 13801

Elképzelhető, hogy amikor beírod a jelszót, kiválasztod a szervert, stb, az a gomb lenyomása után megjelenik az URL-ben.

Ha így van, akkor azt az URL-t másold ki, és azt már le tudod követni Excellel.

Előzmény: esy.gab (13800)
esy.gab Creative Commons License 2011.01.11 0 0 13800

Hát sajnos a programozáshoz sem értek. Ahogy a kérdésben írtam talán az excellhez egy picit, és itt a hangsúly a picin van.

Csak, hogy érthetőbb legyek az oldal adminisztrátora természetesen nem én vagyok. Egyébként ez egy népszerű online játék oldala ahonnan szeretném az adatokat bekérni egyszerű szöveges formában. Igazából nem is jó a megfogalmazás mert nem adatokat kérek be hanem az oldal bizonyos részeit az excel lemásolja és beilleszti a megadott cellákba, mint szöveg. és innen használom én fel stb,stb,stb...

Ezzel nem is lenne baj csak az oldalra be kell jelentkezni, egy legördülő menüből kiválasztani hanyas szerverre szeretnék belépni, felhasználónév, jelszó.

Bocs. Kicsit eltértem a tárgytól. Nos PHP-hez nem értek, ezért indultam erre. De nem tudom a megoldást. (Ha van.)

Előzmény: Jules1028 (13798)
esy.gab Creative Commons License 2011.01.11 0 0 13799

Ebben igazad van, robbantomester de nem indíthatok minden excel tábla nyitáskor új adatbekérést. Ugyanezt a megoldást írtam le a kérdésben is csak nem új adatbekéréssel nyitom ki az exel saját böngészőjét hanem a meglévő egyik szerkesztésével. Végül is mindeg hogyen de ez így nagyon körülményes. Ezt a megoldást szeretném leegyszerűsíteni. Jelenleg kb 40 bekérés van különböző lapokról, ami előre be van állítva és ezeket szeretném frissíteni automatikusan, vagy belépő képernyőről.

Előzmény: Törölt nick (13797)
Jules1028 Creative Commons License 2011.01.11 0 0 13798

Az Excel programozásával kapcsolatban még kissé hadilábon állok, de ezt a problémát én nem erről az oldalról fognám meg, hanem inkább webes oldalról, vagyis PHP-t használnék, mivel a dinamikus tartalmak nagyrészét szerver oldalon lefutó scriptek állítják elő. PHP alkalmazásával sokkal megbízhatóbb adatgyüjtést tudsz végezni egy honlapról, és tudod figyelni a tartalomváltozásokat is, és már szerver oldalon képes vagy az adatok ellenörzését elvégezni, és a szükséges adatokat külön fájl(ok)ba, adatbázisba, akár (excel táblázatba) is ki tudod gyűjteni. Persze ez a módszer, akkor a legjobb, ha a weblap adminisztrátora vagy. Ha a weboldalt nem tudod szerkeszteni, akkor is tudsz adatokat gyűjteni, de ebben ez esetben teljesen mindegy, ha maradsz annál a módszernél, amin már elindultál.

Üdv.!

Előzmény: esy.gab (13795)
Törölt nick Creative Commons License 2011.01.11 0 0 13797

ha indítassz egy weblekérdezést, akkor egy böngészhető oldal nyílik meg, itt be is tudsz lépni

Előzmény: esy.gab (13795)
szkripnyik Creative Commons License 2011.01.11 0 0 13796

Sőt!

Még csak nem is egyenes!

A megtett út (s) "a" gyorsulással "t" idő alatt:

S = 0.5*a*t2  Ez lassulásnál (a < 0) is igaz...

:-))

Előzmény: tt65 (13794)
esy.gab Creative Commons License 2011.01.11 0 0 13795

Sziasztok!

 

Adatbekéréssel (weblapról) kapcsolatban...

Hogyan lehet azt megoldani, hogy ha egy olyan oldalról szeretnék adatokat ahová előbb be kell lépni, felhasználónév, jelszó stb. (Sőt még szervert is kell előbb választani.)

Most úgy működik, hogy meg kell nyitnom az "Adatok" fülön a kapcsolatok szerkesztését, stb stb stb, az excel saját böngészőjén (Pl. az internet explorerben, vagy a mozzilában nem jó mert az exel ezt nem látja, vagy fogadja el.) belépni az oldalra, majd bezárni az ablakot, és csak így tudom frissíteni az adatokat.

Jó lenne a belépést automatikusan megoldani, előre megadott adatok szerverszám, felhasználónév, jelszóval.

Vagy ha nem lehet automatikus, legalább valahogy, mert akkor szerkesztenék az excelben egy belépőképernyőt amit a saját böngészője lát, és be lehet lépni az oldalra és utánna frissíteni az adatokat.

De hogyan? (Programozásban nem vagyok otthon! Az exelt értem talán egy picit.) Tud valaki segíteni?

tt65 Creative Commons License 2011.01.11 0 0 13794

érdekes! Nagyobb sebességnél, a fékezésnél lassabban fékeződik az autó? (a fékezésnél lehajló egyenesek nem párhuzamosak)

 

Előzmény: Lesleee (13785)
Sztai Creative Commons License 2011.01.10 0 0 13793

Ha azt szeretnéd, hogy megmaradjon számnak (mert pl. sorszámozni szeretnél) akkor egyéni számformátumot alkalmazz.

ha a cella értéke 1 és azt szertnéd, hogy 0001 látszódjon a formátumkód 0000. A 00-0146 alakhoz pedig a kód 00-0000

üdv

 

Előzmény: andzsin (13790)
Sznida Creative Commons License 2011.01.10 0 0 13792

Szia Adzsin,

 

A legegyszerűbb, ha egy aposztrófot '-ezt (magyar billentyűzeten shift+1) írsz be legelőször, akkor szövegként fogja értelmezni a utána lévő karaktereket.

 

Üdv: Szndio

Előzmény: andzsin (13790)
Törölt nick Creative Commons License 2011.01.10 0 0 13791

tegyél elé 'aposztrófjelet', vagy állítsd szövegre a cellaformátumot

Előzmény: andzsin (13790)
andzsin Creative Commons License 2011.01.10 0 0 13790

sziasztok, kérdésem van:) azt hogyan tudom elérni, hogy ilyen formátumot is be lehessen írni a cellába: "0001", "00002", vagy "00-0146"...stb. ahányszor 0-át írok egy számsor elejére, mindig kijavítja és elhagyja a 0-át. kerestem a beállításoknál, meg a cellatulajdonságpknál, de nem találtam.

Sznida Creative Commons License 2011.01.09 0 0 13789

Bocsánat :)

Az előző hozzászólásom nincs ott!!!

 

Elnéztem egy változót, és működik a szkripnyik változata!

 

Köszönöm szépen!

 

Előbb ki kellett volna próbálnom! Bocsánat!

 

Szép estét!

 

Üdv: Sznido

Előzmény: Sznida (13788)
Sznida Creative Commons License 2011.01.09 0 0 13788

Szia szkripnyik,

 

Köszi, ismerem a for ciklust, ebből hiányzik az éppen aktuális HianyzoSzamlaSzam tömb eleme... azt akarom kiíratni.

A Te ciklusod végeredménye, ha o=13:

 

Ez(eke)t a számlaszámo(ka)t nem találtam az '1' nevű fájlban:

12

 

A hiányzó számla számok egy-egy cellából vannak feltöltve, egy szmlaszám így néz ki pl.:00000012, nemcsak az utolsó számot akarom kiíratni, hanem az összes hiányzó számlaszámot!

Sajnos ezzel nem fog menni!

 

Üdv: Sznido

Előzmény: szkripnyik (13787)
szkripnyik Creative Commons License 2011.01.09 0 0 13787

Nem erre találták ki a For ciklust?

 

If o > 1 Then

    Szoveg1 = "Ez(eke)t a számlaszámo(ka)t nem találtam az '1' nevű fájlban:"

     for i = 1 to o - 1

        Szoveg1 = szoveg1 & chr(13) & i

     next i

     msgbox Szoveg1

End if

Előzmény: Sznida (13786)
Sznida Creative Commons License 2011.01.09 0 0 13786

Sziasztok,

 

Van egy kérdésem:

 

Van egy HianyzoSzamlaSzam(1 to 21) tömböm. Ezeket ki akarom íratni egy msgbox-ba.

Egyszerűbb ha bemásolok pár sort:

 

    Szoveg1 = "Ezt a számlaszámot nem találtam az '1' nevű fájlban:"
    Szoveg2 = "Ezeket a számlaszámokat nem találtam az '1' nevű fájlban:"
    Select Case o
    Case 1
         Mentes = True
    Case 2
        Szoveg3 = Szoveg1 & " & Chr(13) & HianyzoSzamlaSzam(o)"
        MsgBox (Szoveg3)
    Case 3
        Szoveg3 = Szoveg2 & Chr(13) & HianyzoSzamlaSzam(o - 1) & Chr(13) & HianyzoSzamlaSzam(o)
        MsgBox (Szoveg3)
    Case 4
        Szoveg3 = Szoveg2 & Chr(13) & HianyzoSzamlaSzam(o - 2) & Chr(13) & HianyzoSzamlaSzam(o - 1) & Chr(13) & HianyzoSzamlaSzam(o)
        MsgBox (Szoveg3)
    Case 5
        Szoveg3 = Szoveg2 & Chr(13) & HianyzoSzamlaSzam(o - 3) & Chr(13) & HianyzoSzamlaSzam(o - 2) & Chr(13) & HianyzoSzamlaSzam(o - 1) & Chr(13) & HianyzoSzamlaSzam(o)
        MsgBox (Szoveg3)

    .

    .

    .

     Case 21
        Szoveg3 = Szoveg2 & Chr(13) & HianyzoSzamlaSzam(o - 19) & Chr(13) & HianyzoSzamlaSzam(o - 18) & Chr(13) & HianyzoSzamlaSzam(o - 17) & Chr(13) & HianyzoSzamlaSzam(o - 16) & Chr(13) & HianyzoSzamlaSzam(o - 15) & Chr(13) & HianyzoSzamlaSzam(o - 14) & Chr(13) & HianyzoSzamlaSzam(o - 13) & Chr(13) & HianyzoSzamlaSzam(o - 12) & Chr(13) & HianyzoSzamlaSzam(o - 11) & Chr(13) & HianyzoSzamlaSzam(o - 10) & Chr(13) & HianyzoSzamlaSzam(o - 9) & Chr(13) & HianyzoSzamlaSzam(o - 8) & Chr(13) & HianyzoSzamlaSzam(o - 7) & Chr(13) & HianyzoSzamlaSzam(o - 6) & Chr(13) & HianyzoSzamlaSzam(o - 5) & Chr(13) & HianyzoSzamlaSzam(o - 4) & Chr(13) & HianyzoSzamlaSzam(o - 3) & Chr(13) & HianyzoSzamlaSzam(o - 2) & Chr(13) & HianyzoSzamlaSzam(o - 1) & Chr(13) & HianyzoSzamlaSzam(o)
        MsgBox (Szoveg3)

 

és ezek a sorok ismétlődnek, bővülnek egészen case 21-ig.

A kérdés, ezt hogyan lehet egyszerűbben, mondjuk egy ciklusban feltölteni.

 

Remélem érthető a kérdés. :)

 

Köszönettel: Sznido

Lesleee Creative Commons License 2011.01.09 0 0 13785

Kedves Sztai!

 

Köszönöm a segítségedet. Több vonalat kellett felvennem, de azok már sikerültek. Nektek is megmutatom, mert maga a téma érdekes :-)

 

Adott sebességgel haladva a vízszintes rész a reakcióidő alatt megtett távolság (amíg a jármű sebessége nem változik), az ez utáni rész lesz a fékút.

 

Nagyon jól szemlélteti ez pl.,  hogy ha 50 km/h sebességgel halad valaki és 30 méternél elé lép egy gyalogos, pont meg tud állni. Azonban 80 km/H sebességgel már az ugyanúgy 30 méternél 60 km/h (!) sebességgel üti el a személyt.

 

 

Neked is köszönöm Delila az ötletelést

 

Üdv:

 

Leslee

 

Előzmény: Sztai (13783)
tt65 Creative Commons License 2011.01.09 0 0 13784

OFF Ezeknek nagyon szabályozástechnika ize van, brrr , szörnyű egy tudomány!

Előzmény: Sztai (13783)
Sztai Creative Commons License 2011.01.09 0 0 13783

Készíts egy ilyen tartományt:

x   y

0  20

5  20

8   0

Jelöld ki, és szúrj be egy pont (xy) diagrammot (biztosan megtalálod a beszúrás fülön, a diagramm csoportban)

üdv

 

Előzmény: Lesleee (13781)
Delila_1 Creative Commons License 2011.01.09 0 0 13782

 

Ezek közül valamelyikre gondoltál?

Előzmény: Lesleee (13779)
Lesleee Creative Commons License 2011.01.09 0 0 13781

Pontosan :-) :-)

Előzmény: Sztai (13780)
Sztai Creative Commons License 2011.01.09 0 0 13780

Ilyenre gondolsz?

Előzmény: Lesleee (13779)
Lesleee Creative Commons License 2011.01.09 0 0 13779

Sziasztok!

 

Diagramot szeretnék készíteni, de nem adja azt a képet, amit én szeretnék.

 

Azt szeretném jelölni, hogy a függőleges tengelyen egy 20-as érték a vizszintes 5 értékig egyenesen marad (tartja a 20-at), majd innen lemegy a vízszintes tengelyig. Ez a "lemegy" kezdődik az előző 5-nél és befejeződik a vízszintes 8-nál.

 

Nme tudom mennyire érthető :-)?

tt65 Creative Commons License 2011.01.09 0 0 13778

A meredekség akkor 0, ha tetszőleges x értéknél, ugyanakkora y érték járul, magyarul a pontok egy az x tengellyel párhuzamos egyenesbe esnek.  y= b alakú fv. 

Ennek párja a függőlegesbe eső pontok, aminek x= const az alakja. De ez nyilván nem igazán fordul elő a gyakorlatban ...

Előzmény: Sztai (13773)
erdeiboroka Creative Commons License 2011.01.08 0 0 13777

Igen, én is arra jutottam, hogy a bemeneti adatokat kell vizsgálnom.

Sajnos közben rájöttem, hogy mégsem értem azt a képletet, de már felvettem a kapcsolatot egy barátnőmmel, aki statisztikát tanít :-)

 

Az Excelnek meg toll a fülébe, amiért nem tud egy hibakódot adni valahol.

De az Excel nálam már amúgy is elásta magát, amikor a 2003-asban írt macroim nem futottak 2007-es alatt.

 

Köszönöm mindenkinek, aki segített gondolkodni :-)

Előzmény: Sztai (13773)
johannes. Creative Commons License 2011.01.07 0 0 13776

Köszönöm!

 

sikerült.

Előzmény: erdeiboroka (13775)
erdeiboroka Creative Commons License 2011.01.07 0 0 13775

Kijelölöd a táblázatot. (Előtte mentsd el.)

Adatok / rendezés. Itt megadod azt az oszlopot, am szerint abc sorrendbe kell tenni.

 

Előzmény: johannes. (13774)
johannes. Creative Commons License 2011.01.07 0 0 13774

Sziasztok!

 

Segítséget szeretnék kérni tőletek.

Excel táblázatban,hogyan lehet a táblazatokat (a benne lévő címeket) ABC sorrendbe helyezni.Remélem nem kell újra írnom az egészet mert ABC sorrendbe kellene tennem utólag.

 

Köszönöm!

Sztai Creative Commons License 2011.01.07 0 0 13773

A meredekségre akkor kapsz 0 értéket, ha vagy x vagy y összes értéke változatlan. Ebben a két esetben viszont nincs értelme trendről beszélni. Ha a két m=0 érték között szertnél különbséget tenni, szerintem vizsgáld a bemeneti adatokat. Persze ez csak egy ötlet.

Előzmény: erdeiboroka (13770)
Sztai Creative Commons License 2011.01.07 0 0 13772

Az =INDEX(LINEST(adatok),1) tényleg megadja a meredekséget, ha pedig 2-est írsz akkor az y metszését (b), csak azt nem értem miért kell bonyolítani, hiszen ha csak a meredekségre vagy kivácsi, akkor a SLOPE is jó, ha pedig csak a b-t akarod kiszámolni arra ott az INTERCEPT :-)

Előzmény: SQLkerdes (13768)
erdeiboroka Creative Commons License 2011.01.07 0 0 13771

A főrum a hozzászólásból kihagyta a képletet. Megtekinthető a helpben a LIN.ILL leírásánál. Úgy kezdődik, hogy m= és utána teli van szummákkal.

Előzmény: erdeiboroka (13770)
erdeiboroka Creative Commons License 2011.01.07 0 0 13770

Megcsináltam arra a három pontra a trendvonalat, és az Excel nem ábrázolt semmit. (Szerintem mert speciális eset és leakad)

De ha a (3,1), (2,4), (1,5) pontokat ábrázolom, akkor a trendvonal jól  látszik, és a lényege is talán érthető.

Ez nem felsőbb matematika. Egyenes egyenletről van szó.

Meg arról, hogy az Excel hogyan kezeli a nullával osztást.

Nem akarom lekódolni a

 

 

képletet!!!!!! (help : LIN.ILL függvény) Szerintem akkor van gond, ha a nevezőben nulla van.

 

Biztos, hogy amikor az Excel a nullával osztást észreveszi, nem rak le valahol egy rejtett hibakódot?

Ez volt az eredeti kérdésem.

Mert létezik egy On Error GoTo parancs, de az itt nem működik.

Valami hasonlót keresek.

Előzmény: SQLkerdes (13764)
Sztai Creative Commons License 2011.01.07 0 0 13769

Ha mindkét érték (x;y) mért adat és az egyiket állandónak mérik, míg a másik változik az arra is utalhat, hogy van egy harmadik paraméter (z) ami befolyásolja y értékét.

pl. mérem a hőmérsékletet és a nyomást és mindig azt kapom, hogy a hőm. nem változik de a nyomás igen. Ez még nem jelenti azt, hogy a hőm. nincs hatással a nyomásra, csupán arra utal, hogy van még egy másik tul. ebben az esetben a térfogat ami közben változik.

Előzmény: erdeiboroka (13761)
SQLkerdes Creative Commons License 2011.01.07 0 0 13768

Igen, ez igaz.

Viszont a trend alapján számolja a forecast értékeket, és így ha a TREND által előállított két "pont" koordinátáira alkalmazzuk azt az egyszerű képletet amit lentebb angolul bemásoltam, akkor megkapjuk a trend meredekségét.

 

Másik megoldás az =INDEX(LINEST(adatok),1) alkalmazása, mert a LINEST egy tömböt ad eredményül, aminek az első eleme a trendvonal slope-ja, vagyis meredeksége.

Előzmény: Sztai (13767)
Sztai Creative Commons License 2011.01.07 0 0 13767

A TREND arra jó, ha jól tudom, hogy ismert x és y értékek esetén megadja az új x értékekhez tartozó y értékeket, tehát forcast.

Előzmény: Törölt nick (13763)
SQLkerdes Creative Commons License 2011.01.07 0 0 13766

Igazából ha a trendvonal függőleges akkor az azt jelenti, hogy az y érték semmilyen módon nem függ az x értékektől, vagyis színek (RGB) esetében nincs semmilyen  összefüggés az RGB kódok között.  Ezért a nulla eredmény.

Előzmény: erdeiboroka (13761)
SQLkerdes Creative Commons License 2011.01.07 0 0 13765

Itt is van az általános iskolai matek, vonal meredeksége:

 

Excel help:

 

The equation of a straight line is y = mx + b.
You can describe any straight line with the slope and the y-intercept:

Slope (m):
To find the slope of a line, often written as m, take two points on the line, (x1,y1) and (x2,y2); the slope is equal to (y2 - y1)/(x2 - x1).

 

Y-intercept (b):
The y-intercept of a line, often written as b, is the value of y at the point where the line crosses the y-axis.

 Once you know the values of m and b, you can calculate any point on the line by plugging the y- or x-value into that equation. You can also use the TREND function.

 

 

SQLkerdes Creative Commons License 2011.01.07 0 0 13764

Asszem itt a megoldás:  "Az (1,1), (1,2), (1,5) pontok trendvonala is függőleges."

 

Az a vonal szerintem nem trendvonal (excelben csinálj a fenti három pontból egy x-y scatter-chart-ot és rakasd rá a trendvonalat!).  Most már csak azt kellen előásnom kitudjahányévtávlatából, hogy akkor mi :-)

 

Arra gyanakszom, hogy valami általános iskolai szintű dologról beszélünk és majd mind a lábfejünket bámuljuk vöröslő arccal, amikor rájövünk a megoldásra...

Előzmény: erdeiboroka (13759)
Törölt nick Creative Commons License 2011.01.07 0 0 13763

a TREND() függvényt ismered?

Előzmény: erdeiboroka (13761)
SQLkerdes Creative Commons License 2011.01.07 0 0 13762

Mindkettőtöknek igazatok van, ami úgy lehetséges, hogy nem ugyanarról beszéltek.

 

Erdeibóróka három pont legjobban közelítő egyeneséről beszél, Sztai meg két három számból álló vektor közötti korrelációról (1, 1, 1) és (1, 2, 5).

Sztainak igaza van, mert ha az első vektor ugyanazt a számot tartalmazza háromszor akkor nagy a valószínűsége, hogy nem korrelál a három különböző számból álló második vektorral.

 

Borókának is igaza van, mert a vektorok n-edik számpárjait ha koordinátának fogom fel (1,1) (1,2) és (1,5) akkor az így kapott három koordináta valóban egy függőleges vonalra "esik".

 

Szerintem a LINEST függvény a Sztai féle megközelítést alkalmazza, ezért ad az azt máshogy értelmező Borókának értelmezhetetlen (0) eredményt.  A kapott nulla eredmény pontosan azt mutatja amit Sztai mond, vagyis hogy a két vektor között egyáltalán nincs korreláció.

 

A kérdés mostmár csak az, hogy hogyan állítsuk elő azt a számot amit Boróka szeretne látni :-)

erdeiboroka Creative Commons License 2011.01.07 0 0 13761

Nem így merül fel.

Mérnek kétdimenziós adatokat. Mindkét eredmény mért érték.  Ezeket ábrázolják egy síkon. Nem lehet tudni milyen értékeket fognak mérni,de ezek lehetnek egy vonalban. Vagy lehetnek olyan eloszlásban, hogy a trendvonaluk függőleges. A programnak bármilyen mérési eredményeknél korrektül kell működnie. Kellene.

 

(Tulajdonképpen színeket mérnek és rgb, azaz red, green, blue értékeket kapunk, de ezeket hála istennek levetítik egy síkra, és így csak kétdimenziós a probléma) Tartok tőle, hogy minél többet magyarázok, annál érthetetlenebb vagyok.

Előzmény: Sztai (13760)
Sztai Creative Commons License 2011.01.07 0 0 13760

Igaz. Azonban ha arra vagyok kiváncsi, hogy két érték között (x;y) van e összefüggés, akkor nem állandó x értéknél mérem y-t. Legalább is józan paraszti ésszel így látom, az elméleti matematika pedig egy külön állatfaj :-)

Üdv

Előzmény: erdeiboroka (13759)
erdeiboroka Creative Commons License 2011.01.07 0 0 13759

Nem ez a lényeg. Bármilyen értékek lehetnek a mért adatok. Csak azért adtam mintának egyszerű pontokat, hogy érthetőbb legyen.

Az (1,1), (1,2), (1,5) pontok trendvonala is függőleges.

És az Excel erre is m= 0-t fog adni.

Előzmény: Sztai (13758)
Sztai Creative Commons License 2011.01.07 0 0 13758

Úgy gondolom, hogy akár x akár y értékét mindenhol nullára állítani értelmetlen, mert az azt jelenti, hogy a két érték között nincs összefüggés tehát nem is érdemes keresni.

Előzmény: erdeiboroka (13756)
erdeiboroka Creative Commons License 2011.01.07 0 0 13757

Köszi, az angolom gyenge, de a lényeget értettem, tényleg erről van szó, de nem taglalják a speciális eseteket :-(

Az a megoldás, hogy m=0 esetén feldobok egy hibaüzenetet "Dögölj meg!" szöveggel :-)

Na jó, csak vicc volt.

Előzmény: SQLkerdes (13755)
erdeiboroka Creative Commons License 2011.01.07 0 0 13756

Ige, jogos, fordítva vannak az argumentumok.

A probléma az, ha megadom a (x,y) szerint (0,1), (0,2), (0,3) pontokat, amik egy függőleges egyenesen vannak, a legjobb trendvonal az y tengely lesz, tehát m = végtelent kellene kapnom. De nullát kapok.

Ugyanúgy, mint a (1,0), (2,0) (3,0) pontokra, ahol a trendvonal az x egyenes, és a meredeksége valóban nulla.

Előzmény: Sztai (13753)
SQLkerdes Creative Commons License 2011.01.07 0 0 13755

Nézd meg ezt a videót, hátha segít.

Pont erről szól, de egy kicsit angolul van katt ide

Előzmény: erdeiboroka (13754)
erdeiboroka Creative Commons License 2011.01.07 0 0 13754

Vannak pontok a síkon, akármilyenek, tipikusan felhőszerű elrendezésben.

És azt az egyenest keresem, aminek az egyenlete y= m*x +b és a legközelebb van az összes ponthoz. (trendvonal)

Előzmény: Sztai (13751)
Sztai Creative Commons License 2011.01.07 0 0 13753

Ha igen, akkor jó a LINEST (LIN.ILL) fv, csak Te sztem rossz sorrendben adtad meg az argumentumokat:

m = Application.index(Application.LinEst(Xtomb, YBtomb), 1)

 A LINEST fv-ben előbb van az y tömb és utána az x

Tehát jelölj ki két cellát és ezt írd be: =LINEST(Ytömb;Xtömb) majd shift+enter, mert ez tömbfv tehát ezt kapod: {=LINEST(A2:A5;B2:B5)}

De lehet, hogy nem értettem meg a problémát.

Üdv

 

Előzmény: erdeiboroka (13736)
coniglio01 Creative Commons License 2011.01.07 0 0 13752

Nagyon köszönöm a megoldásokat. :))))

 

Még két kétrésem lenne. Az egyik, amit korábban már írtam, hogy tudom levédeni a munkalapot úgy, hogy a dinamikus lista működjön. Egyrészt szeretném lekorlátozni max 40 kiadványra, azaz hogy max. csak ennyit vihessenek be, másrészt meg nem szeretném, ha a formátumon, a képleteket, sorokon és oszlopokon változtatni tudna a felhasználó, hanem csak azt, hogy adatot töltsön be. Bármilyen védelmet állítok be a munkalapra vagy a file-ra, onnantól kezdve nem megy lejjebb a dinamikus lita, ha ujabbat próbálok hozzáadni.

 

A másik meg az - ami az elsőhöz azért valamilyen formában kapcsolódik is -, hogy tudom a felhasználó arra ösztökélni, hogy minden esetben a következő sorba írjon. Tehát, ha a kiadványokból már benn van kettő, akkor a harmadik sorba írjon. Ugyanis, ha nem így tesz, és a negyedikbe ír, akkor is megakad a dinamikus lista... (még nincs levédve, úgyis...)

 

 

Előzmény: Sztai (13749)
Sztai Creative Commons License 2011.01.07 0 0 13751

Jól értem a problémát?

Van két tömb pl.

x és y

0     1

4     9

2     5

3     7

y értéke függ x változótól és még két értéktől m és b, az egyenlet pedig y=m*x+b

és Te az m és b értékét szeretnéd meghatározni?

    

 

 

 

 

 

 

 

 

 

 

Előzmény: erdeiboroka (13736)
erdeiboroka Creative Commons License 2011.01.07 0 0 13750

Nemigen tudom csatolni. Ez egy icipici része egy jónagy (többezer sor) macronak.

Csak letisztítva ez a probléma lényege.

Közben lett egy ötletem, az Excel valami négyzetösszeges képlettel számolja a lineáris illesztést, azt kellene kiszámolnom nekem is. Rögtön látnám hol van nullával osztás. (Elméletem szerint a számoláskor valahol nullával osztásnak kell lennie, mire az Excel nem hibát ad, hanem nulla eredményt.)

Amúgy mérési adatokról van szó, akármi lehet. Valós számok.

Aztán akármit mérünk, azzal kell tudnom számolni, és kell tudnom ábrázolni.

Előzmény: Sznida (13744)
Sztai Creative Commons License 2011.01.07 0 0 13749

Szerintem ez nem megfelelő, mert az adatérvényesítésnél üres sorok is vannak és a kérdező pont ezt szerette volna elkerülni. Másodszor abba az oszlopba már alá nem lehet írni semmit, mert az is megjelenik a legördülő listában. Egyébként az Ofset nél is ez gondot jelent, mert egy lejjebb található adat módosítja a tartományt.

Én mindenkinek melegen ajánlom a listává ill. 2007-ben táblává történő konvertálást.

Üdv

 

Előzmény: Delila_1 (13746)
coniglio01 Creative Commons License 2011.01.07 0 0 13748

Szuper!!! Nagyon-nagyon köszönöm :)

 

Mennyit agyaltam rajta... Megkérdeztem a Microsoftot is.. Valószínűleg nem olvasták el rendesen, mertz "üres mezők mellőzése"-t javasolták kipipálásra...

 

Lehet még egy kérdésem? Le tudom védeni a munkalapot azért? Próbáltam az adott cellákat levédeni, úgyhogy engedélyeztem a nem védett cellákba a klikkelést, és úgy is, hogy új sorok létrehozását is engedélyeztem, de nem megy...

 

A cél az lenne, hogy max 40-et vihessenek be, és a formátumon, az érvényesítéseken (pl, hogy csak x hosszúságú szöveg, vagy csak 1 és 50 közötti szám legyen bevihető) ne tudjanak változtatni!

Előzmény: Sztai (13742)
Sztai Creative Commons License 2011.01.07 0 0 13747

Az OFSET fv is tökéletes (régen így tudtunk din. listát készíteni), de aki nem ismeri, annak nehéz az argumentumokat megadni a név managerben, hiszen fejből kell tudni. Ezt könnyíti meg a listának (2003), ill. a táblázatnak (2007-10) a használata.

Üdv

 

Előzmény: Delila_1 (13745)
Delila_1 Creative Commons License 2011.01.07 0 0 13746

Még egyszerűbb dinamikus lista:

 

Címsor nélkül beviszem az adatokat, a teljes oszlopot kijelölöm, és úgy adok nevet, akár a szerkesztőléc bal oldalán lénő Név mezőben.

 

Az érvényesítésnél mindig a teljes lista látszik, kevés adatnál plusz 3-4 üres sorral.

Előzmény: Sztai (13742)
Delila_1 Creative Commons License 2011.01.07 0 0 13745

A dinamikus listát (szerintem) egyszerűbben is létre lehet hozni.

A Munka1 A oszlopába bevittem az adatokat – címsor nélkül.

Adatok - Definiált nevek - Név megadása.

Név -> kiadványok, Hivatkozás -> =OFSZET(Munka1!A1;0;0;DARAB2(Munka1!A:A);1)

 

A beszúrandó helyre Adatok - Érvényesítés - Megengedve: Lista - Forrás: =kiadványok

 

Ha mégis akarsz címsort adni a Munka1!A1-be, a Hivatkozás képlete:

=OFSZET(Munka1!A1;0;0;DARAB2(Munka1!A:A)-1;1)

 

Úgy vettem észre, hogy a 2007-es verziónak van egy (?) betegsége. Miután bevittem az ofszetes függvényt a megadott névhez, önkényesen megváltoztatja a képletet. Ezt a Képletek - Definiált nevek - Névkezelőjében korrigálom, ezután már megmarad.

Előzmény: Sztai (13742)
Sznida Creative Commons License 2011.01.07 0 0 13744

Sikerült reprodukálnom, gondolkodom..... gondol...... :)

Előzmény: Sznida (13743)
Sznida Creative Commons License 2011.01.07 0 0 13743

Szia,

 

Milyen értékeid vannak abban a tömbben?

Tudsz csatolni egy képet erről a munkafüzetről?

Értem a kérdést, de nem sikerült még reprodukálnom.

 

Köszi!

Előzmény: erdeiboroka (13736)
Sztai Creative Commons License 2011.01.07 0 0 13742

1. Azon a mlapon ahol a kiadványok vannak és már elnevezted a tartományt (b1:B40) kiadványoknak de még nem írtál be könyveket, hozz létre egy táblát: jelöld ki a b1:b2 tartományt:

insert tab/tables csoport/table, jelöld be, hogy van fejléc és ok

Automatikusan kapsz egy formázott táblát, a jobb alsó sarkában egy kis háromszög jelzi, hogy addig tart. Ha most b2-be majd b3 ba beírsz valamit a tartományod  nő (a háromszög most már b3-ban van. Ha formátum nem kell, eltávolíthatod ill módosíthatod a Table tools - Design tab/Table Styles csoportban válassz mást.

2. módosítsd a már meglévő nevet pl. kiadványok: Formulas tab/Defined names/Name Manager. A névhez tartozó tartományt módosítsd kijelöléssel ($b$2:$b$3) ok.

Ettől kezdve a kiadványok tartomány dinamikus lesz.

3. A másik munkalapon, ahol rendezvények vannak, jelöld ki azt a tartományt, amelyikre az adatérvényesítést állítod be és a lista forrásaként a tartomány nevét add meg (F3-at nyomva megkapod a létező nevek listáját és onnan is beszúrhatod) List Data Source:=kiadványok

Ettől kezdeve a legördülő lista panelod mindíg azokat a könyveket ajánlja föl amelyek a névhez tartozó dinakus listában szerepelnek. Próbáld ki, írj be a kiadványok munkalapon a b4-be valamit-->enter és ellenőrizd a rendezvények munkalapon a legördülő listádat.

Ha nem működik, ellenőrizd a Name Manager-ben, hogy a Kiadványok tartomány ugyan az e mint a TableX (pl. Table1) Ha nem akkor a névhez tartozó tartományt módosítsd ugyan arra mint a TableX

4. A kiadványok mlapon kitörölheted a próbaként megadott három címet:

jelöld ki a b2:b4 tartományt-->jobb klikk és Delete-->Table rows

Ha mindent jól csináltál: a Name Managerben lesz TableX és Kiadványok és mindkettőnek a tartománya ua: $b$2:$b$2. Ez a lényeg és hogy az adatérvényesítésnél erre a névre hivatkozz.

 

 

Remélem sikerült világosan leírni

Üdv

 

Előzmény: coniglio01 (13741)
coniglio01 Creative Commons License 2011.01.07 0 0 13741

Jaj, nagyon köszönöm :)

2007-est.

Előzmény: Sztai (13740)
Sztai Creative Commons License 2011.01.07 0 0 13740

Leírom lépésenként a megoldást de előtte mond meg lszives, hogy milyen excel verziót használsz.

Üdv

Előzmény: coniglio01 (13739)
coniglio01 Creative Commons License 2011.01.07 0 0 13739

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

 

Az a baj viszont, hogy mivel ez űrlapként funkcionál, amit kiküldünk egy-két helyre, a 40 üres mező már adva van az az elején. Ezt a 40-et neveztem el "kiadvanyok"-nak (mondjuk B1:B40). Viszont, amikor eljut a felhasználóhoz, vagy bevisz 40-et, vagy csak 10-et. A többi üresen marad. Hogy mennyit, azt előre nem tudom. (Azaz csak B1:B10-ig lesz benne kiadvány, B11:B40-ig semmi.) De mivel a legördülő lista a "kiadvenyok"-ra(B1:B40) vonatkozik, ezért kijön a listában egy rahedli üres sor :(((

 

Ezért tűmik számomra megoldhatatlannak a dolog...

 

 

Előzmény: Sztai (13738)
Sztai Creative Commons License 2011.01.07 0 0 13738

2003-as verzióban:

A beírt könyvcímeket jelöld ki és rendelj hozzá nevet, majd alakítsd át listává úgy, hogy a fejléc is legyen kijelölve. Ha ezek után az adatérvényesítésnél a listát választod és forrásként a lista nevét adod meg az csak a listában meglévőket fogja mutatni. Ha a lista bővül, akkor a legördülőben is megjelennek az újab címek.

2007-ben annyi a különbség, hogy a listát táblázatnak nevezi Create List helyett format vagy insert table.

Üdv

Előzmény: coniglio01 (13737)
coniglio01 Creative Commons License 2011.01.07 0 0 13737

Sziasztok!!!

 

Erre nem tudtok egy logikai függvényt?

 

Adott egy táblázat 2 munkalappal. Az egyikben a felhasználónak lehetősége van 40 egymás alatti mezőbe 40 könyvcímet (vagy akár kevesebbet, ha nem tölti ki az összes mezőt) bevinni.
A másik munkalapba bevezetheti a rendezvényeit, és azokhoz legördülő menüvel hozzárendelheti a kiadványok címeit (1 rendezvényhez 1 kiadványt).
A kérdésem az, hogy hogyan tudnám megoldani, hogy az Adatok/Érvényesítés paranccsal létrehozott legördülő menüben a 40 mezőből csak azok jelenjenek meg, amelyek nem üresek. (A felhasználó ugyanis ha bevisz 15 kiadványt a 40 helyett, akkor 25 üres sor jelenik meg a listában a 15 kiadvány mellett.)

 

Van egy olyan opció az adatok/érvényesítés /beállítások fül alatt, hogy "Egyéni" ide elvileg logikai függvényt be lehet írni a legödülő lista tartalmának megállapításához. Erre nem tudtok esetleg valamit?

 

Ha tudtok, segítsetek légyszi, mert megakadtam ennél... :(

 

Előre is nagyon köszönöm Nektek!

erdeiboroka Creative Commons License 2011.01.07 0 0 13736

Az a megoldás a profibb :-)

 

Az én kérdésem:

x,y adatokkal vannak megadva pontok egy x,y síkon, az Xtomb, Ytombben találhatóak.

Keresem az ezekre a pontokra illesztett trendvonal meredekségét.

Az egyenes egyenlete y=mx+b, ahol m a meredekség.

 

m = Application.index(Application.LinEst(Xtomb, YBtomb), 1)

 

Ha cellákban számolok, egy ilyen képlettel próbálkoztam 3 mintaadaton:

=INDEX(LIN.ILL(S[-4]O[-1]:S[-2]O[-1];S[-4]O:S[-2]O);1)

 

Az a problémám, hogy az Excel mind a két módszerrel nullát ad a függőleges egyenes meredekségére, ami ugye végtelen lenne egyébként.

Ez jó, mert nem száll el a program ilyen estetben, viszont nem tudom megkülönböztetni attól, amikor az m tényleg nulla és az egyenes vizszintes.

Ez pedig fontos lenne, márcsak a diagramon ábrázolás kedvéért is.

 

Kérdés:

Van valami ötlet, hogyan tudnám a két esetet megkülönböztetni?

Van valami belső hibakód, vagy valami error változó ami igazba áll, ha m= végtelen lenne?

Nem biztos, hogy elég érthető voltam :-(

 

Előzmény: Sznida (13735)
Sznida Creative Commons License 2011.01.07 0 0 13735

Szia Erdeiboroka,

 

Köszönöm szépen a fáradozásaid, szép megoldásaid voltak, tetszik a logikád!

Bár a Jimmy the Hand megoldása rövidebb, és talán rugalmasabb, de ügyesen megoldottad Te is a feladatot! :)

 

Köszi még egyszer!

 

Szép napot!

 

Üdv: Sznido

Előzmény: erdeiboroka (13731)
Sznida Creative Commons License 2011.01.07 0 0 13734

Szia Jimmy the Hand,

 

Csak ámulok bámulok! Tökéletes megoldás, nagyon tetszik! Megtartom :)

 

Nagyon szépen köszönöm!!!!!

Ismét sikerült megtanulnom valamit. :)

 

Szép napot!

 

Üdv: Sznido

Előzmény: Jimmy the Hand (13733)
Jimmy the Hand Creative Commons License 2011.01.07 0 0 13733

Sőt, ez még jobb:

 

Function Rendezett_tomb(bemeneti_tomb)
    Dim Result, i As Integer
    
    ReDim Result(LBound(bemeneti_tomb) To UBound(bemeneti_tomb))
    For i = LBound(bemeneti_tomb) To UBound(bemeneti_tomb)
        Result(i) = Application.WorksheetFunction.Small(bemeneti_tomb, i)
    Next
    Rendezett_tomb = Result
End Function

Előzmény: Jimmy the Hand (13732)
Jimmy the Hand Creative Commons License 2011.01.07 0 0 13732

Próbáld ki ezt is:

 

Function Rendezett_tomb(bemeneti_tomb)
    Dim Result(1 To 50) As Integer, i As Integer
    
    For i = 1 To 50
        Result(i) = Application.WorksheetFunction.Small(bemeneti_tomb, i)
    Next
    Rendezett_tomb = Result
End Function

 

 

Előzmény: Sznida (13707)
erdeiboroka Creative Commons License 2011.01.07 0 0 13731

Na, azért csak összeszedtem magam és írtam egy olyan algoritmust, ami már tetszik is :-)))

Ez sokkal egyszerűbb és rövidebb is.

 

Sub TombRendezesCsereBerevel()

Dim tomb(1 To 50) As Integer
Dim adat As Integer
'beolvassuk az adatokat az elso oszlop első 50 sorából
    For i = 1 To 50
        tomb(i) = Cells(i, 1)
    Next i
' 49-szer csereberélünk
    For j = 1 To 49
' végignézzük a tömböt, ha van szomszédos elem rossz sorrendben, megcseréljük
        For i = 1 To 49
            If (tomb(i) > tomb(i + 1)) Then
                adat = tomb(i)
                tomb(i) = tomb(i + 1)
                tomb(i + 1) = adat
            End If
        Next i
    Next j
' a rendezett adatokat visszaírjuk a 3. oszlopba
        For i = 1 To 50
            Cells(i, 3) = tomb(i)
        Next i
End Sub

Előzmény: Sznida (13730)
Sznida Creative Commons License 2011.01.06 0 0 13730

Gyönyörű megoldás! Örülök, hogy sikerült megoldanod!

 

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

 

Üdv: Tom!

Előzmény: erdeiboroka (13729)
erdeiboroka Creative Commons License 2011.01.06 0 0 13729

Írtam egy még bonyolultabb megoldást.

Kicsit szépséghibás, de nekem működött :-)

 

Sub TombRendezes()

Dim tomb(1 To 50) As Integer
Dim rendezetttomb(1 To 50) As Integer
Dim kesz(1 To 50) As Boolean
Dim min As Integer
Dim ind As Integer
'beolvassuk az adatokat az elso oszlop első 50 sorából
    For i = 1 To 50
        tomb(i) = Cells(i, 1)
    Next i
' a kesz tomb osszes elemét hamisra állítjuk
    For i = 1 To 50
        kesz(i) = False
    Next i
' 50-szer megkeressük a legkisebb elemet
    For j = 1 To 50
'a min változó kezdeti értéke legyen nagyobb, mint bármelyik adat
    min = 10000
' megkeressük a legkisebb elemet a tömbben
        For i = 1 To 50
            If ((min > tomb(i)) And Not kesz(i)) Then
                min = tomb(i)
                ind = i
            End If
        Next i
'ezt elmentjük a rendezettombbe
        rendezetttomb(j) = min
'a kesz tombben ezen indexű elemet megjelöljük
        kesz(ind) = True
    Next j
' a rendezett adatokat visszaírjuk a 3. oszlopba
        For i = 1 To 50
            Cells(i, 3) = rendezetttomb(i)
        Next i
End Sub

Előzmény: Sznida (13700)
Sznida Creative Commons License 2011.01.06 0 0 13728

OK, de tudjuk, igaz én nem szeretem, mert egy időpontról van szó, ami a dátummal együt teljes.

Ettől függetlenül olyanra csinálom, ahogy szeretnéd! :)

 

Holnap e-mail-ben jelentkezem!

 

Üdv: Sznido

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

igen!

Köszi, jó éjt!

Amúgy a dátumot és az órát nem tudjuk külön oszlopba rakni?

De csak holnap:)

 

Péter

Előzmény: Sznida (13726)
Sznida Creative Commons License 2011.01.06 0 0 13726

A 0:30, az fél órának számít? A többi egyértelmű.

Holnap küldöm!

 

Üdv: Sznido

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

Igen!

Ezt én is el felejtettem:))

0:29-ig lefele,0:31-től felfele keekítünk

Amúgy pont olyan mint amit szerettem volna

Köszönöm!

Előzmény: Sznida (13724)
Sznida Creative Commons License 2011.01.06 0 0 13724

Elküldtem!

 

Ja, azt elfelejtettem, hogy sajnos csak egész órákat számol, azaz nem számolja a tört órákat! :( Ha gondolod, akkor lehet még fejleszteni, de azt már csak holnapra! :)

 

Szép estét!

 

Üdv: Sznido

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

Na erre mondtam,hogy tök sötét vagyok az excelhez. fogalmam sincs mit kezdjek ezzel amit írtál. ha elküldöd az excel file-t akkor tudom,hogy ezt akartam vagy nem.

persze ezzel nem követelni szeretnék csak másképp nem értem amit írsz:))

Előzmény: Sznida (13722)
Sznida Creative Commons License 2011.01.06 0 0 13722

Szóval, csatoltam egy képet, remélem látszik majd. Csak azért, hogy a hivatkozott celláim egyértelműek legyenek.

 

B2 és a C2-es cella formátuma "éééé.hh.nn ó:pp"

 

D2 cella képlete: =HA(NAP(B2)=NAP(C2);HA(ÓRA(B2)>=6;HA(ÓRA(B2)<22;HA(ÓRA(C2)>=22;22-ÓRA(B2);ÓRA(C2)-ÓRA(B2))));HA(NAP(C2)-NAP(B2)>1;16;0))+HA(NAP(B2)=NAP(C2);0;HA(ÓRA(C2)>6;HA(ÓRA(C2)<22;ÓRA(C2)-6;16);0)+(NAP(C2)-NAP(B2)-1)*16)

 

E2 cella képlete: =HA(ÓRA(B2)<6;HA(NAP(B2)=NAP(C2);HA(ÓRA(C2)>6;6-ÓRA(B2));6-ÓRA(B2));HA(ÓRA(B2)>=22;HA(NAP(C2)>NAP(B2);24-ÓRA(B2);ÓRA(C2)-ÓRA(B2));0))+HA(NAP(C2)>NAP(B2);HA(ÓRA(C2)<=6;ÓRA(C2);HA(ÓRA(C2)>22;24-ÓRA(C2)+6;6));0)+HA(NAP(C2)-NAP(B2)=0;0;(NAP(C2)-NAP(B2)-1)*8)

 

F2 cella képlete: =D2+E2

 

G2 cella képlete: =D2*750+E2*1000

 

Ezután ezt lemásolhatod a többi cellákba is.

 

Teszteltem, és nem találtam hibát benne, de ez nem jelenti azt, hogy tljesen tökéletes.

Teszteld, és javítom, ha van még benne hiba! :)

 

Üdv: Sznido

Előzmény: Sznida (13719)
coniglio01 Creative Commons License 2011.01.06 0 0 13721

Igen, először én is azt hittem, hogy az arra jó (logikus lenne), de kkiderült, hogy azt arra használják, hogy az adatbevitelnél a felhasználó, ha rákattint a mezőre, azt követően ne mehessen el onnan úgy, hogy nem töltötte ki a mezőt (persze egy del-lel még ezt is ki lehet játszani).

 

Talán ott lehet a kutya elásva, hogy az adatok/érvényesítés/beállítások fülnél a "lista" helyett az "egyéni" opciót kéne választani, ahova logikai függvény vezethető be. De én nem találtam egy megfelelő logikai függvényt sem erre... :(

Előzmény: Törölt nick (13718)
Törölt nick Creative Commons License 2011.01.06 0 0 13720

vagyok.

Küldd el az excel file-t nekem és akkor látom rendesen.

kigjuju@citromail.hu

 

Péter

 

Előzmény: Sznida (13719)
Sznida Creative Commons License 2011.01.06 0 0 13719

Vagy még?

 

Megpróbálom leírni... nem lesz egyszerű, kár, hogy nem lehet file-t csatolni... :(

Előzmény: Törölt nick (13717)
Törölt nick Creative Commons License 2011.01.06 0 0 13718

van ott olyan hogy "üres cellák mellőzése"

Előzmény: coniglio01 (13715)
Törölt nick Creative Commons License 2011.01.06 0 0 13717

Igazából az a gáz, hogy egy honlapot összerakok nagyon hamar pedig tele van forráskódokkal meg minden okossággal de ez az excel, hááááát nem mondom....

Előzmény: Sznida (13714)
Törölt nick Creative Commons License 2011.01.06 0 0 13716

Azé Én még itt vagyok ügyeletben:)))

Előzmény: Sznida (13714)
coniglio01 Creative Commons License 2011.01.06 0 0 13715

Sziasztok!

 

TUd valaki segíteni nekem excel legördülő menü esetén hogy szűrhetem ki az üres menüket?

 

 

Adott egy táblázat 2 munkalappal. Az egyikben a felhasználónak lehetősége van 40 egymás alatti mezőbe 40 könyvcímet (vagy akár kevesebbet, ha nem tölti ki az összes mezőt) bevinni.
A másik munkalapba bevezetheti a rendezvényeit, és azokhoz legördülő menüvel hozzárendelheti a kiadványok címeit (1 rendezvényhez 1 kiadványt).
A kérdésem az, hogy hogyan tudnám megoldani, hogy az Adatok/Érvényesítés paranccsal létrehozott legördülő menüben a 40 mezőből csak azok jelenjenek meg, amelyek nem üresek. (A felhasználó ugyanis ha bevisz 15 kiadványt a 40 helyett, akkor 25 üres sor jelenik meg a listában a 15 kiadvány mellett.)

Segítsetek nekem a megoldásban, ha tudtok, egyszerűen nem találok rá semmit...! :((((

Sznida Creative Commons License 2011.01.06 0 0 13714

Már olvad a hó, szerintem már nincs is rá szükséged! :) :)

Dolgozom rajta! Érdekes lesz, egy csomó ha függvény :)

 

Szívesen segítek!

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

Sőt!

 

Hóeltakarításról van szó, ilyenkor általában 30-40 órákat dolgoznak az emberek, ezért lenne jó különválasztani az éjjeli és nappali időt. Az órabér természetesen nem változik. nappali 750, éjjeli 1000.

Péter

 

Köszi, hogy foglalkozol velem!!):)

Előzmény: Sznida (13711)
Törölt nick Creative Commons License 2011.01.06 0 0 13712

-i

Előzmény: Sznida (13709)
Sznida Creative Commons License 2011.01.06 0 0 13711

Előfordulhatnak extrém körülmények?

pl. valaki este 20:00-másnap 12:00 dolgozik?

Nem a sok órán van a hangsúly, hanem azon, hogy éjszakai műszakból reggel 6-kor még nem végez, hanem dolgozik még egy kicsit.

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

Szia Szindo!

 

 

A nappali műszak reggel 06:00-tól este 22:00 ig tart az éjszaka pedig este 22:00-06:00 ig.

 

A délelőtti és délutáni órabér ugyanaz.

 

Péter

Előzmény: Sznida (13709)
Sznida Creative Commons License 2011.01.06 0 0 13709

Szia Péter,

 

Hánytól hányig gondolod nappalnak a napppalt, és hánytól hányig az éjszakát? Délutános műszak nincs?

 

üdv: Sznido

Előzmény: Törölt nick (13704)
Sznida Creative Commons License 2011.01.06 0 0 13708

Igazad van, először arra gondoltam, hogy a cella tulajdonságát veszem alapul, de az nem működik, ahopgy Te is írtad. Akkor marad a feltételes formázás függvényeinek VB-be való fordítása, azok feltételei alapján megszámolni, az járható út! :)

 

Üdv: Sznido

Előzmény: SQLkerdes (13703)
Sznida Creative Commons License 2011.01.06 0 0 13707

Szia SQLkerdes,

 

A tömb az egy VB tömb, amit így deklaráltam Dim tomb(1 to 50) As Integer, és egy for ciklusban töltöm fel adatokkal. Az adatokat cellákból veszi, de azt nem rendezhetem sorba, ezért megy sorba, és ahogy sikerül úgy tárolja.

 

Köszi

 

Üdv: Sznido

Előzmény: SQLkerdes (13701)
Törölt nick Creative Commons License 2011.01.06 0 0 13706

Na jahh! De azt már unom:))

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

összeadás, szorzás, kivonás :)

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

Sziasztok!

 

Egy kérdésem, illetve egy kérésem lenne hozzátok akik kenitek-vágjátok az excelt.

Szükségem lenne egy táblázatra ami kiszámolja az emberek munkaidejét nappali és éjszakai múszakban is, adott dátumtól dátumig. A nappali órabér 750ft az éjszakai 1000ft. Megpróbálok egy képet berakni, hogyan is képzeltem el. Jó lenne ha tudna valaki segíteni mert sík hüje vagyok az excel függvényekhez.

Előre is köszönöm,

Péter

SQLkerdes Creative Commons License 2011.01.06 0 0 13703

Én úgy tudtam, hogy ha egy cella háttérszínét a feltételes formázás adja, akkor azt VBA-ból nem lehet kiolvasni.

Milyen object-et használnál v. milyen megközelítést alkalmaznál?

Előzmény: Sznida (13699)
SQLkerdes Creative Commons License 2011.01.06 0 0 13702

Meg persze egy makrót is lehet rá írni, az helyben megcsinálja, de elnézve az eddigi hozzászólásaidat nem gondolom, hogy ebben segítségre lenne szükséged :-)

Előzmény: Sznida (13700)
SQLkerdes Creative Commons License 2011.01.06 0 0 13701

Tömb alatt azt érted, hogy több cella amelyek valamely módon határosak egymással, de nem 1 sor v. 1 oszlop a dimenziójuk?  Pld:  A1:C3 (9 cella)?

Nos, helyben nem nagyon lehet őket sorrendbe rakni.

 

De a LARGE (NAGY?) függvény használatával függvényileg sorrendbe tudod őket rakni egy másik helyen a fenti példánál maradva pld az A10:C13 tömbben.

 

Mondjuk fontos eldönteni, hogy egy 3x3 méretű tömbben hogyan legyenek elrendezve a számok (pld egyre csökkenő számokkal töltjük fel a sorokat v. az oszlopokat?)

Előzmény: Sznida (13700)
Sznida Creative Commons License 2011.01