Keresés

Részletes keresés

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)
SQLkerdes Creative Commons License 2011.04.18 0 0 14624

Egyetértek.

JTH makrója csak abban az egy esetben nem működik (vagyis de pedig nem kéne) ha a weblekérdezés eredményeként a figyelendő cella mégsem változik.  Ez akkor történhet, ha az alkalmazott függvények olyanok, hogy két változás kiolthatja egymás hatását.  Erről pilótakeksz nem nyilatkozott.

 

Viszont azt gondolom, hogy mivel változás nem marad ki, csak olyan false pozitívok kerülnek be, amiknek nem kellene, a makró jó.

Előzmény: O. Kán (14623)
O. Kán Creative Commons License 2011.04.18 0 0 14623

Meglehet, de amit JTH megadott makrót, azzal is működik (kipróbáltam, csak a range-t vettem le egy cellára és az időt annak megfelelően, ahogy azt az importálás frissítési gyakoriságában beállítottam). Nagyon jó a dolog, érdemes kipróbálni.

Előzmény: SQLkerdes (14622)
SQLkerdes Creative Commons License 2011.04.18 0 0 14622

Viszont akkor még lehet azt csinálni, hogy a releváns munkalap BÁRMILYEN változása esetén logoljuk az egyes cellák értékét.

Feltételezve, hogy más adat nincs azon a lapon, csak olyanok amik a weblekérdezés eredményét használják fel.

Előzmény: O. Kán (14620)
O. Kán Creative Commons License 2011.04.18 0 0 14621

Nem, tényleg müxik magától, szuper.

Előzmény: SQLkerdes (14619)
O. Kán Creative Commons License 2011.04.18 0 0 14620

Bocsánat, időközben megtaláltam (az importálás megadásakor lehet egy segédablakban megadni a frissítés gyakoriságát).

Előzmény: O. Kán (14618)
SQLkerdes Creative Commons License 2011.04.18 0 0 14619

Ha jól értettem pilóta-kex kollega válaszát, akkor ő nyomkodja a gombokat...

Bár azt is írta, hogy kb kétpercenként frissül a táblázat, akkor viszont roppant mód unalmas lehet a napja :-(

Előzmény: O. Kán (14618)
O. Kán Creative Commons License 2011.04.18 0 0 14618

Ez remek lehetőség, de mitől frissül a weblapról az adatlekérés az excelben?

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

"A valós lekérdezés a F oszloptól kezdődik, de ez lényegtelen."

 

Attól tartok, nem lényegtelen. Ide szerintem a Worksheet_Change vagy Workbook_SheetChange esemény kell, és figyelni kell, hogy hol történik változás a munkalapon. A képlet újraszámolása nem jelent változást, szóval az A2:C31 tartományt hiába figyeli a program. Amennyiben a lekérdezésben benne van az F2 cella, szerintem az alábbi kód jó lesz. A ThisWorkbook kódlapjára másold be.

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim r As Range
    If (Sh.Name = "Munka3") And Not Intersect(Target, Sh.Range("F2")) Is Nothing Then
        Set r = Worksheets("Munka5").Range("A" & Rows.Count).End(xlUp).Offset(1)
        r.Resize(30) = Now
        Sh.Range("A2:C31").Copy

        r.Offset(, 1).PasteSpecial xlPasteValues
    End If
End Sub

 

Előzmény: pilota-kex (14615)
pilota-kex Creative Commons License 2011.04.18 0 0 14616

megjegyzés: a weblekérdezést nem makró csinálja, csak simán az "Adatok" menüből választottam ki a "Weblapról" nevű opciót.

nem értek én a visual basic-hez...

az előző kódban nem láttam kétdimenziós dinamikus tömböt.. azt hittem az kell az információ tárolásához.

ÜDV

pilota-kex Creative Commons License 2011.04.18 0 0 14615

szia SQL kerdes!

valamit elcseszek : ne haragudj! Pontosítok amennyira csak tudok: legelőször pontatlan voltam.

 

-->munka3 a2:c31  - re érkezik a weblekérdezés, illetve a weblekérdezés által lehívott táblázat azon része, ami fügvények segítségével A B C oszlopokba lett szűrve a számomra hasznos tartalmuk. A valós lekérdezés a F oszloptól kezdődik, de ez lényegtelen. A lényeges infó az A B C oszlop. (amiben a sorok összetartoznak) és nem 10 sor hanem a legfelső változatlan címsor alatt 30 változó tartalmú sor áll. Tehát a címsort nem kell loggolni.

 

-->munka5 a2:.....   -re szeretném a loggolást végrehajtani! (több ezer soron keresztül is loggolhat)

 

a munka5-re megyek, view code, és beleírom azt, amit írtál a Worksheet-be:

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LogRow As Integer
If Target.Row < 32 And Target.Column < 4 Then

    ' az A2:C31 tartomány változott

    LogRow = Sheet5.UsedRange.Rows.Count + 1

    Sheet5.Cells(LogRow, 1).Value = Time

    Sheet5.Cells(LogRow, 2).Value = Target.Address

    Sheet5.Cells(LogRow, 3).Value = Target.Value

End If
   
End Sub

 

a Kódban mi mutat a munka3-ra? és rendben van ez így? mert nekem nem működik, azt írja ki, hogy "Can't execute Code in break Code."

Segítségedet előre is és utólag is köszönöm.

És bocs, ha az arcodat kaparod, amiért értetlenkedem. ÜDV!

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

Sziasztok!

 

Excel 2007-ben makróval szeretném állítani (kikapcsolni) a Nézet -> Üzenetsáv kapcsolót. Tudna valaki segíteni?

MS-SPS-en excel fálj olvasásra történő megnyitásakor állandóan felajánlja, a szerkeszhetőséget, ezt szeretném kikapcsolni.

 

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

SQLkerdes Creative Commons License 2011.04.18 0 0 14613

 

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Range2Check As Range

Dim LogRow As Integer
Set Range2Check = Range(Sheet1.Cells(1, 1), Sheet1.Cells(11, 2))
If Target.Row < 12 And Target.Column < 3 Then

    ' az A1:K2 tartomány változott

' az A1:B11 tartomány változott

    LogRow = Sheet2.UsedRange.Rows.Count + 1

    Sheet2.Cells(LogRow, 1).Value = Time

    Sheet2.Cells(LogRow, 2).Value = Target.Address

    Sheet2.Cells(LogRow, 3).Value = Target.Value

End If
   
End Sub

 

Előzmény: SQLkerdes (14612)
SQLkerdes Creative Commons License 2011.04.18 0 0 14612

A kihúzott részek egy korábbi koncepcióból maradtak bent, hagyd ki őket.

A Sheet1, Sheet2 a munkalapok kódnevére vonatkozik, értelemszerűen cserélni kell őket ha az adataid más füleken vannak.

 

Más:  ha a weblekérdezést makro csinálja, akkor ezt abba is bele lehet integrálni.

Más2:  ha a weblekérdezés eredményeképp egy egész range változik egybe (pld. A1:B20) akkor nem feltétlenül fog jól működni a lenti kód, mert a Value property-nek bekever ha a Target nem sima cella.

 

 

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Range2Check As Range

Dim LogRow As Integer
Set Range2Check = Range(Sheet1.Cells(1, 1), Sheet1.Cells(11, 2))
If Target.Row < 12 And Target.Column < 3 Then

    ' az A1:K2 tartomány változott

    LogRow = Sheet2.UsedRange.Rows.Count + 1

    Sheet2.Cells(LogRow, 1).Value = Time

    Sheet2.Cells(LogRow, 2).Value = Target.Address

    Sheet2.Cells(LogRow, 3).Value = Target.Value

End If
   
End Sub

 

Előzmény: pilota-kex (14611)
pilota-kex Creative Commons License 2011.04.18 0 0 14611
uu. ez elso pillantasra jonak tunik. nemsokara kiprobalom.
Előzmény: SQLkerdes (14610)
SQLkerdes Creative Commons License 2011.04.17 0 0 14610

 

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Range2Check As Range

Dim LogRow As Integer
Set Range2Check = Range(Sheet1.Cells(1, 1), Sheet1.Cells(11, 2))
If Target.Row < 12 And Target.Column < 3 Then

    ' az A1:K2 tartomány változott

    LogRow = Sheet2.UsedRange.Rows.Count + 1

    Sheet2.Cells(LogRow, 1).Value = Time

    Sheet2.Cells(LogRow, 2).Value = Target.Address

    Sheet2.Cells(LogRow, 3).Value = Target.Value

End If
   
End Sub

Előzmény: pilota-kex (14609)
pilota-kex Creative Commons License 2011.04.17 0 0 14609
ez igy nem igazan jo. mert nem masolni szeretnem az adatokat hanem naplozni loggolni. a munka1 lapon 2 oszlop 10 sor öt percenkent valtozik. a munka2 lapon minden valtozast elozmenyt rogziteni szeretnek. lehetoleg a rogzites idopontjat is C oszlopba.. ez keplettel nem megoldhato. vmilyen VBA macro kellene hozza. koszonom a valaszodat. ÜDV
Előzmény: m.zmrzlina (14608)
m.zmrzlina Creative Commons License 2011.04.17 0 0 14608

Ha az eredeti adat Munka1-en van és Munka2-be szeretnéd tenni az adatokat akkor Munka2 A1-es cellájába a következő képletet tedd:

 

=Munka1!A1

 

Ezt a képletet addig másolod amíg szükséges, B oszlopnál ugyanez a helyzet.

Előzmény: pilota-kex (14607)
pilota-kex Creative Commons License 2011.04.16 0 0 14607

sziasztok!

Tud valaki segíteni nekem abban, milyen macrot kell írnom ahhoz, hogy az egy munkalapon weblekérdezéssel A, B oszlopába érkező 2 percenként változó, frissülő adatokat másik munkalap A és B oszlopába naplózza. esetleg a naplózás időtartamát kiírja.

 

Ha valaki segítene esetleg, tegye kérem szájbarágósan, mert új vagyok még a pályán.

Köszönöm! Üdv!

 

 

Törölt nick Creative Commons License 2011.04.15 0 0 14606

A mindenit! Köszönöm!

A slicer-re gondoltam a kérdés feltevésekor, de 0 reményt fűztem hozzá.

A funkciót már megismertem, de ennyire nem mélyedtem bele.

Ez állati hogy ilyet lehet csinálni mint ebben a példa.

 

Előzmény: SQLkerdes (14605)
SQLkerdes Creative Commons License 2011.04.15 0 0 14605

Ez itt Slicer-ekkel csinálja ugyanezt, úgy tűnik ez a leírás pont a te problémádat oldja meg:  http://www.mrexcel.com/FilteringMultiplePivotTablesExcel2010.pdf

Előzmény: Törölt nick (14602)
SQLkerdes Creative Commons License 2011.04.15 0 0 14604

Ez itt egy eléggé frappáns megoldás:  http://www.datapigtechnologies.com/flashfiles/pivot10.html

Előzmény: Törölt nick (14602)
O. Kán Creative Commons License 2011.04.15 0 0 14603

Sziasztok!

 

Egy váltógombot tettem egy munkafüzetlapra, aminek hol a mérete nő  meg a rákkantításkor, hol a megnevezése betűmérete csökken le parányira. Mi lehet szerintetek ennek a fura jelenségnek az oka?

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