Keresés

Részletes keresés

Törölt nick Creative Commons License 2011.04.20 0 0 14654

Ha legalább annyi teljesül, hogy minden fájl nevében benne van a kód, és minden fájl ugyanabban a mappában van, akkor már meg lehet spórolni a manuális felvitelt.

A1-re kihegyezve valami ilyesmi lehet:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim FN As String, myPath As String, ext As String
    Dim wa As Object
    
    If Target.Address <> "$A$1" Then Exit Sub
    myPath = "C:\itt_vannak_a_fájlok_mappa\"
    FN = Dir(myPath & "*" & Range("A1").Value & "*.*", vbNormal)
    If FN = "" Then Exit Sub
    ext = Mid(FN, InStrRev(FN, ".")+1)
    If ext = "doc" Then
        Set wa = CreateObject("word.Application")
        wa.documents.Open myPath & FN
        wa.Visible = True
    ElseIf ext = "xls" Then
        Workbooks.Open myPath & FN
    End If
End Sub

 

 

Előzmény: Xooo (14650)
Törölt nick Creative Commons License 2011.04.20 0 0 14653

Működik 2003-ban, kipróbáltam.

A SOR(H:H) viszont nem működik tömbképleten, azért adtam neki Hvalaminagyonnagyszám-ot

;)

Előzmény: SQLkerdes (14651)
aletheia88 Creative Commons License 2011.04.20 0 0 14652

kösz

 

kajálja az első képletet...

 

üdv

 

Előzmény: Törölt nick (14649)
SQLkerdes Creative Commons License 2011.04.20 0 0 14651

Asszem, hogy a DARAB2(H:H) dolog csak xl2007-ben és fölötte műxik.  Szóval ha 2003-as exceled van, akkor H1:Hvalaminagyonnagyszám legyen a DARAB2-ben.

Előzmény: Törölt nick (14647)
Xooo Creative Commons License 2011.04.20 0 0 14650

Szia Jimmy !

 

Köszi a választ ! Az az igazság, hogy egyöntetű algoritmust nem lehet ráhúzni a file-okra, hogy értsd, ezek szövetek amiknek van egy kódjuk, de a file neve sokszor ilyen: 935 445 szines bőr jobbos.doc vagy 887 445 szürke anyag.doc. Olyan megoldásra gondolotam mint a HA függvénynél, hogy ha 958 444 van a kódban, akkor nyissa meg a xycvb.doc-ot. Ezt nyilván manuálisan egyszer fel kellene vinnem, hogy melyik kód alapján mit nyisson meg.

 

 

Törölt nick Creative Commons License 2011.04.20 0 0 14649

Kétszer válaszol, ki gyorsan válaszol :)

Előzmény: aletheia88 (14648)
aletheia88 Creative Commons License 2011.04.20 0 0 14648

köszi a gyors választ..

 

már próbálom is...

 

üdv

 

 

Előzmény: Törölt nick (14646)
Törölt nick Creative Commons License 2011.04.20 0 0 14647

Ha összefüggő adatoszlopról van szó, ami pl. a H1 cellában kezdődik, akkor:

=OFSZET(H1;DARAB2(H:H)-1;0)

 

Ha nem összefüggő, akkor pl.:

{=OFSZET(H1;MAX(SOR(H1:H65356)*(H1:H65356<>""))-1;0)}

 

 

Előzmény: aletheia88 (14645)
Törölt nick Creative Commons License 2011.04.20 0 0 14646

Ha összefüggő adatoszlopról van szó, ami pl. a H1 cellában kezdődik, akkor:

=OFSZET(H1;DARAB2(H:H)-1;0)

 

Ha nem összefüggő, akkor pl.:

{=OFSZET(H1;MAX(SOR(H1:H65356)*(H1:H65356<>""))-1;0)}

 

 

Előzmény: aletheia88 (14645)
aletheia88 Creative Commons License 2011.04.20 0 0 14645

sziasztok!

 

a másik problémámra biztos van megoldás:

 

egy hivatkozást szeretnék - függvénnyel - mellyel egy másik munkafüzet adott oszlopának mindenkori utolsó cellaértékét tudom beilleszteni úgy, hogy az értékek nincsenek sorba rendezve.

ha jól tudom akkor a "hol.van" és "cím" függvényekre van szükség....

 

köszönöm

 

üdv

 

 

aletheia88 Creative Commons License 2011.04.19 0 0 14644

köszönöm a válaszokat.

 

hogy tényleg konkrétan fogalmazzak:

 

http://www.uniqavk.hu/uniqavk_hu/cms/charts/flash/index.jsp 

 

a kérdéses oldal, a lekért adatok pedig:

 

Nyitó érték: 1.0000   Időszaki hozam: 85.3600 % Záró érték: 1.8536   Éves annualizált hozam: 6.4329 %

 

mindent importálni tudok az excelbe, csak éppen az értékeket (számok) nem illeszti a cellákba.

 

ezért gyanakodtam a flash-re...

 

köszönöm

 

 

üdv

 

 

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

14499-ben pont ezt írtam le. Nézd meg.

Előzmény: aletheia88 (14638)
Törölt nick Creative Commons License 2011.04.19 0 0 14642

Ha meg tudod mondani, hogy milyen algoritmussal képezzük a cellába beírt kódból a fájl teljes elérési útvonalát, akkor lehetséges.

A makródban pedig az lehet a hiba, hogy szöveges értékre keresel ("935 911") és közben valószínűleg számot írsz be a cellába.

Előzmény: Xooo (14627)
Törölt nick Creative Commons License 2011.04.19 0 0 14641

Nézd meg a 14626-ot, hátha az segít.

Előzmény: aletheia88 (14638)
Törölt nick Creative Commons License 2011.04.19 0 0 14640

Próbáld ki ezt. Feltételeztem, hogy a B oszlopban vannak az alma, cékla, banán, stb., szóval amivel beazonosítható a nemtudommi, továbbá a C oszlopban van nemtudomminek a nemtudommije, amit figyelni kell. Sajnos e tekintetben eléggé ellentmondásos információk jöttek eddig. Az alapötlet pedig az eddigiektől eltérően az, hogy a már naplózott banánok közül keresem ki az utolsó banánt, és ha ahhoz képest van eltérés, akkor naplózom megint. Így nem kell temp munkalap.


Private Sub Worksheet_Change(ByVal Target As Range)
    Dim wsLog As Worksheet, rLog As Range
    Dim rQuery As Range, c As Range, Hit As Range
    
    Set wsLog = Worksheets("Munka5")
    Set rQuery = Range("B1", Range("B" & Rows.Count).End(xlUp))
    For Each c In rQuery
        Set rLog = wsLog.Range("B" & Rows.Count).End(xlUp).Offset(1)
        Set Hit = wsLog.Range("B:B").Find(what:=c.Value, after:=rLog, LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlPrevious)
        If Hit Is Nothing Then
            rLog.Offset(, -1).Resize(, 3).Value = c.Offset(, -1).Resize(, 3).Value
            rLog.Offset(, 2) = Now
        ElseIf Hit.Offset(, 1) <> c.Offset(, 1) Then
            rLog.Offset(, -1).Resize(, 3).Value = c.Offset(, -1).Resize(, 3).Value
            rLog.Offset(, 2) = Now
        End If
    Next
End Sub

Előzmény: pilota-kex (14637)
SQLkerdes Creative Commons License 2011.04.19 0 0 14639

Igazából nem gondolom, hogy segít.

Holnap ha lesz egy kis időm akkor megpróbálom összedobni a kódot, ha addig valaki meg nem előz.

Előzmény: pilota-kex (14637)
aletheia88 Creative Commons License 2011.04.19 0 0 14638

adatimportálás terén elég komoly problémám van:

weblapról szépen elérem a kérdéses oldalt, viszont vagy nem találom a kis nyilat mellyel kijelölhetem az adatokat, vagy az adatokat kijelölöm majd pedig importálom - viszont hiányosan jelennek meg a munkafüzetben. Körbenéztem a különböző fórumokon, de sajna sehol sem találtam megoldást. Elképzelhető hogy ezt a fajta dolgot nem tudja kezelni az excel...

árfolyamokra lenne szükségem, amit a táblázat megnyitása után azonnal tudok - mármint az értékeket - frissiteni.

A problémát igazából az jelentheti, hogy ugyanazon internetes oldalcimhez több megjeleníthető adathalmaz (flash?) tartozik.

 

biztos érthetetlenül fogalamztam, elnézést érte. Ha valaki találkozott hasonló szituval kérem adjon tanácsot.

 

köszönöm előre is....

 

üdv

pilota-kex Creative Commons License 2011.04.19 0 0 14637
helyesbitek! ha az adott sor "D" oszlopaban lenne az az "L" karakter..
SQLkerdes.. neked fizetnek azert hogy mas helyett gondolkodj? :)) ÜDV
pilota-kex Creative Commons License 2011.04.19 0 0 14636

a B oszlopban csak akkor van alma nevű elem, ha a weblekérdezés ad alma nevű elemet, amúgy nincs.

 

leegyszerűsítené a dolgot, ha mondjuk ÉN DIREKT egy feltételhez kötném, mit LOGGOLJON????

például ilyesmi: a munka3 worksheetben , ha az adott sor "C" oszlopban lenne egy "L" karakter, akkor loggolja a sor 3 értékét? (időkijelzéssel) a munka5-re.

(ezt az L karaktert én kirakom egy függvénnyel)

Ez egyszerüsítené? mert ezt meg tudom oldani.

 :)

Előzmény: SQLkerdes (14635)
SQLkerdes Creative Commons License 2011.04.19 0 0 14635

Nem.  Kicsit elbeszélünk egymás mellett, ha jól hallom :-)

 

A B oszlop sorai mindíg azonosak (pld. ha a weblekérdezés nem ad eredményt az alma nevű elemre, attól függetlenül a B oszlopban lesz alma nevű elem (és mindíg pld. a második) vagy a B oszlopban csak akkor lesz alma nevű elem, ha a weblekérdezés rész ad alma nevű elemet)?

Előzmény: pilota-kex (14634)
pilota-kex Creative Commons License 2011.04.19 0 0 14634

a logolandó "A" oszlop: kód

a logolandó "B" oszlop: ABC sorrend, ami sorrendet a weblekérdezés automatikusan állít be.

a logolandó "C" oszlop: kód

 

a sorrendet nem az excel határozza meg, hanem az adatok igy jönnek, és így jelennek meg.

erre voltál kiváncsi? :)

Előzmény: SQLkerdes (14633)
SQLkerdes Creative Commons License 2011.04.19 0 0 14633

A weblekérdezés sorrendjét értem, én a figyelendő (logolandó) tartomány sorrendjét kérdeztem (A oszlop és társai?).  Az ottani tételek sorrendje fix vagy az is változik aszerint, hogy mi jön le a weblekérdezésben?

Előzmény: pilota-kex (14632)
pilota-kex Creative Commons License 2011.04.19 0 0 14632

a weblekérdezés abc sorrendben jön.. ez kicsit gáz, mivel (alma banán cékla) esetében a cékla 3. helyen áll következő frissítéskor akár második helyen is állhat (alma cékla görögdinnye) ---a banán kiesik, a görögdinnye bejön

az új érték mindig az ABC szerint szúródik be a sorok közé, és a weblekérdezés üres tartománya pedig törlődik (a banán sora teljes egészében)... Az összehasonlító megoldásban ennek nem lenne túl nagy jelentősége, vagy mégis??

 

-hogy kell "kinyomni a figyelendő tartományt" egy temp worksheet-be? mármint hogy temp legyen.. valódi elözmény legyen.

-hogy kell összehasonlítani így a tempben lévő értékeket az újonnan beérkezett értékekkel

-és az eltéréseket hogyan kell kiiratnom a munka5-re. :)

hát ezeket nem tudom. :)

 

de ha már megvan..

-azután már tudom szűrni, listázni, formálni, alakítni, "függvényelni", hogy statisztika lehessenek belőle.

-az egész munkafüzetben szereplő cellák nem csak kizárólag a weblekérdezések értékeit illetve annak számított eredményeit tartalmazzák.

-érdemes lenne a munka3 worksheet-re kitalálni vmit, ne pedig workbook-ra, mert a többi munkafüzet is változik, és azoknak a változásíit nem szeretném loggolni.

 

KÖSZÖNÖM a fáradalmaitokat.

Előzmény: SQLkerdes (14630)
Törölt nick Creative Commons License 2011.04.19 0 0 14631

Csatlakozom a megállapításhoz is, meg a kérdéshez is.

Előzmény: SQLkerdes (14630)
SQLkerdes Creative Commons License 2011.04.19 0 0 14630

Hát, akkor itt az a megoldás, hogy a figyelendő tartomány (NEM a weblekérdezéses területet) értékét ki kell nyomni egy átmeneti worksheet-re és minden weblekérdezés után ellenőrizni kell, hogy a figyelendő tartomány új értéke megegyezik-e az ideiglenes worksheet-en lévő adatokkal.  Ha nem, akkor kell logolni.

 

Felteszem a figyelendő tartományban az adatok sorrendje nem változik (csak azért kérdem, mert most van amikor "alma, cékla, répa", máskor meg "banán, cékla, paradicsom".

 

Előzmény: pilota-kex (14629)
pilota-kex Creative Commons License 2011.04.19 0 0 14629

JTH

köszönöm a code-ot, és egyet értek a tapasztalatoddal.

ez így müködik, de nem jól.

 

a weblekérdezés nem publikus. egy olyan táblázat, aminek az oszlopszámai változatlanok, a sorainak száma változik 0-30 között, most perpillanat 5 sor. Sohasem több mint 30 sor. Betettem az "F" cellára.

A KÓD-dal az a baj, maga a WEBLEKÉRDEZÉST gondolja változásnak, így ugyanarról ugyanarra, vagy semmiről semmire történő cellaváltozást is loggol.

 

Eredmény:, hogy a munka5-ön öt sorban van adat, aztán alatta 25 sorban nincs, aztán két perc múlva azalatt megint lesz öt sor, (ami ugyanaz az adat, mint a legelsö ötösnél)

 

A weblekérdezés kétpercenkénti, de ez csak a REALtime (hatás) figyelés miatt van, valódi változás az adatokban ritkán van ( óránként), tehát két percenként ne loggolja ugyanazt lehetöleg. :) itt SQLkerdesnek nek igaza van. az a baj, hogy nem történik valós változás. ha kétpercenként történne, akkor ez a kód lenne a legjobb a világon.

 

HOgy kellene megcsinálnom ezt a TEMP összehasonlítós megoldást?, nem akarom bonyolítani a dolgot, valami alapmegoldás is jó lenne, nem kell nekem tökéletes, viszont IDŐ-kijelzése fontos lenne.  

!!Példa!! 3-4 értékkel csak hogy érthető legyen (sorry az adatok bizalmasak, ezért helyettesítem ezekkel):

 

munka3 tábla ABC oszlop: (kétpercenkénti weblekérdezés, mondjuk )

0.perc:                                                                              6.perc

alma   #kod0001     120                                                        banán           kod00.. 200

cékla  #kod0002      210                                                        cékla            kod00.. 210

répa   #kod0003     123                                                         paradicsom  kod00.. 300

.                                                                                             szilva            kod00.. 124

.                                                                                             .

2.perc:                                                                              8.perc

alma  #kod0001      120                                                        alma             kod00.. 120

kávé  #kod0019      330                                                        banán          kod00.. 200

répa  #kod0003      123                                                         kávé            kod00.. 330

                                                                                          28.perc :   

4.perc:                                                                                   alma           kod..   120

alma  #kod0001      120                                                         banán         kod..   200

cékla #kod0002       210                                                         kávé           kod..   330

kávé  #kod0019      330                                                   

répa  #kod0003      123                                                                                              .____________________________________________________________

munka5 munkalap(naplózás) EZ LENNE A CÉLOM:

 

alma   #kod0001      120      2011.04.10.   14:20

cékla  #kod00..         210      2011.04.10.  14:20

répa   #kod00..         123     2011.04.10.   14:20

kávé   #kod00..         330     2011.04.10.   14:22

répa   #kod00..         123     2011.04.10.   14:24

banán#kod00..         200      2011.04.10.  14:26

paradi..#kod00         300     2011.04.10.   14:26

szilva #kod..             124      2011.04.10.  14:26

alma...#..                  ...         2011.04.10.  14:28

kávé...#..                  ...         2011.0410.   14:28

                                                                         <<<<<<<<--nincs 14:28 óta változás, mivel 28.percben még mindig minden cellában ugyanazok az   értékek vannak.nem változott semmi.

erre van MEGOLDÁSA vkinek???

 

 

SZÉP NapOT ÜDV, temészetesen nem ülök a gép előtt egész nap, azért is van szükség a naplózásra, hogy mikor egyszer leülök, akkor lássam az egészet.

Xooo Creative Commons License 2011.04.19 0 0 14628

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$D$2" Then

  If Range("D2").Value = "935 911" Then

    Workbooks.Open "c:usersplasztalmunkafüzet.xls"

 

  End If


End Sub

 

Ezt próbálgatom most de nem nagyon működik.

 

 

Xooo Creative Commons License 2011.04.19 0 0 14627

Sziasztok ! Egy relatív egyszerű dologban szeretném a segítségeteket kérni. Van egy excel táblázatom, amit nyomtatok, rengeteg pédányban minden nap. A lényeg, hogy van 15 könyvtáram kb 300 file-al, amik összefüggésben vannak ezzel a táblázattal.

 

Az egyik cellába egy kódot írok, pl 935848, ez alapján megkeresem a könyvtárakban ugyanezt a word-ot, ecelt ( a neve nem teljesen ugyanez ) és azt is kinyomtatom módosított adatokkal. Hiperhivatkozással, if fügvénnyel vagy valahogyan meg lehet oldani, hogy ha pl A1=935848 akkor nyissa meg nekem automatikusan a C:X935848abcd.doc file-t ?

 

Köszi a segítséget ! :)

Törölt nick Creative Commons License 2011.04.18 0 0 14626

szia,

nem tudom milyen adatok kérdeznél le és honnan így, de egy olyan helyen ahol 2 percenként frissülő adatok vannak, szolgáltatják az oldalon belül azok logolását is. (pl. árfolyamadatok, tőzsdei kereskedelmi adatok stb...)

lehet inkább azt kéne megkeresni

Előzmény: pilota-kex (14607)
Törölt nick Creative Commons License 2011.04.18 0 0 14625

Teszteletem egy saját weblekérdezésseel, és azt tapasztaltam, hogy amikor a lekérdezés frissül, a Worksheet_Change eseményben a Target a teljes tartománnyal lesz egyenlő. Ha tehát pl. egy weblekérdezés normál esetben az A1:T110 tartományt foglalja el, frissítéskor Target = A1:T110 lesz. Mindez független attól, hogy ténylegesen van-e változás a webről lehívott értékekben.

Ez azonban szerintem teljesen konzekvens működés, mert a Worksheet_Change ugyanígy működik sima cellamódosításnál is. Ha ugyanis pl. A1-ben eredetileg 1 van, és rálépsz A1-re, lenyomod az 1-est és ENTER-t, akkor tulajdonképpen a cella értéke nem változott meg, hiszen előtte is, utána is 1 az értéke, a Worksheet_Change mégis lefut. Az értékek tényleges megváltozását úgy lehetne esetleg nyomon követni, hogy a teljes lekérdezés tartalmát (az értékeket) lementeni egy temp munkalapra, és frissítés után azzal hasonlítani össze az új értékeket.

 

Előzmény: SQLkerdes (14624)

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