Keresés

Részletes keresés

Jozsef Creative Commons License 2009.03.25 0 0 9019
Egy kis érdekesség a témához.
Igaz, nem halmaz, de két tartomány metszetét meglehet határozni a szóköz operátorral
Pl. Ha egy cellába beírjuk:
=A1:B5 A2:C2
és Ctrl+Shift+Enterrel kibontjuk két egymás melletti cellába, akkor a két tartomány közös részének, a A2:B2 a tartalmát kapjuk meg.
tervin26 Creative Commons License 2009.03.25 0 0 9018
Köszi :)
Előzmény: magyarpityu (9017)
magyarpityu Creative Commons License 2009.03.25 0 0 9017
Az FKERES függvénnyel keresd végig az egyik adathalmaz minden elemét a másik adathalmazban, és a közös rész az, ahol nem adott vissza hibát a függvény. Ha csak darabszám kell, akkor a =HA(HIBÁS(FKERES(...));0;1) módon 0-k és 1-ek sorozatát kapod, amit a végén összeadsz és kész az eredmény.
Előzmény: tervin26 (9016)
tervin26 Creative Commons License 2009.03.25 0 0 9016
Sziasztok!
Volna egy exceles kérdésem. Van egy rendezett tömböm 30 számból, meg egy másik 20 számból áll, meg kéne adnom a két tömb metszetét, azaz hány szám közös a két tömbben. Halvány elképzelésem sincs melyik függvénnyel lehetne.
Előre is köszi a segítséget!
szkripnyik Creative Commons License 2009.03.25 0 0 9015
Természetesen úgy is müködik, hogy az egyik munkalap neve "Linkek", a másiké "Adatok", tehát tényleg én voltam valahol vak és világtalan...
Előzmény: szkripnyik (9012)
szkripnyik Creative Commons License 2009.03.24 0 0 9013
Jó lassan, de letöltödött...
Előzmény: szkripnyik (9012)
szkripnyik Creative Commons License 2009.03.24 0 0 9012

Nem tudom, tegnap mit bénáztam el, de most tölti.

Lehet hogy összekevertem a Sheet1-t a Munka2-vel, valami ilyen piti dolog lehetett.

 

Viszont gyanus, hogy nem engedte a a "Sheet2"-re tölteni akkor sem, amikor azt adtam meg a WS értékadásakor...

 

Ha új füzetet nyitottam és Munka2 (Sheet2)-re tettem a  töltendő linkeket és Munka1 (Sheet1)-re kértem a letöltött adatokat, akkor ment.

 

:-))

Előzmény: Törölt nick (9011)
Törölt nick Creative Commons License 2009.03.24 0 0 9011
Ezeket próbálnám meg:
- próbálkozni más címekkel: van-e olyan html oldal, amit importálni tud az Excel? Ha van, akkor ugye konkrétan ezekkel a címekkel van baj.
- a nem működő címet megnézni böngészővel: meg lehet- nyitni? Ha meg lehet nyitni, akkor "a hiba az Ön készülékében van".
- lépésről-lépésre történő programvégrehajtással megnézni, hogy pontosan mi az az URL, ami a Connection paraméterbe kerül. Hátha van benne valami elírás, tévedés, stb. Esetleg úgy is, hogy a Connection paraméter cím részének elérhetőségét ellenőrizni böngészővel.

Ha minden rendben lévőnek tűnik, és mégsem megy, akkor nem tudom, mi van.



Előzmény: szkripnyik (9010)
szkripnyik Creative Commons License 2009.03.23 0 0 9010

Itthonról nem megy.....

 

A  .Refresh BackgroundQuery:=False -nél jelez hibát:

Runtime error 1004

"Ezen a helyen a cím nem érvényes. Ellenőrizze a címet és próbálja újra"

 

Magyar 2003-as EXCEL van

A Tűzfalban az EXCEL-t engedélyeztem de még a tűzfalat is kikapcsoltam, ugysem jó.

(gyorsan kapcsolom vissza)

Előzmény: Törölt nick (9003)
Törölt nick Creative Commons License 2009.03.23 0 0 9008
Fő a biztonság :-)
Előzmény: szkripnyik (9007)
szkripnyik Creative Commons License 2009.03.23 0 0 9007

Html oldalakat nyitogatok...

 

Ezt a végére fogom biggyeszteni:

While WS.QueryTables.Count > 0
WS.QueryTables.Item(1).Delete
Wend

 


De ezt

 

WS.Cells.Delete

 

inkább elintézem kézzel, azután ha van több biztonsági mentésem!!

 

:-)))

Előzmény: Törölt nick (9006)
Törölt nick Creative Commons License 2009.03.23 0 0 9006
Ha xls-t nyitsz meg a webről, azt nyilván be kell zárni, különben több száz nyitott munkafüzeted lesz.

Ha html oldalakat töltesz le, akkor...
Nos, a QueryTables.Add valójában megegyezik azzal, mintha az Adatok->Külső adatok importálása-> Új weblekérdezés menüpontot használnád. Amikor új weblekérdezést nyitsz, a régi megmarad, de engem ez még sosem zavart semmiben, és így eszembe sem jutott foglalkozni vele.

De igazad van, az a legtisztább, ha minden nyitott kaput bezárunk magunk után.
Szóval tedd a ciklus végére ezt:

While WS.QueryTables.Count > 0
WS.QueryTables.Item(1).Delete
Wend
WS.Cells.Delete

A fenti kód törli az összes definiált weblekérdezést a WS változóval definiált munkalapon, azután törli az összes cella tartalmát (ugyancsak a WS munkalapon).
Előzmény: szkripnyik (9005)
szkripnyik Creative Commons License 2009.03.23 0 0 9005

Bocsi, még egy kérdés:

 

Ez a megoldás ciklusban is mindig egy  URL-tart nyitva, vagy valahogyan le is kell zárni az adott oldalt (URL-címet)?

 

Több száz (nyilvános) táblázat adatát szeretném letölteni és más formátumban tárolni.... 

Előzmény: szkripnyik (9004)
szkripnyik Creative Commons License 2009.03.23 0 0 9004

Nem is tudom, hogyan köszönjem, meg!!!!!!

 

Kipróbáltam (most csak egy táblázatra), müködik, szépen letárolta, amit kellett!

Nagyon sok órai munkát spóroltál meg nekem, figyelembe véve a tegnapi adatvesztésemet is. :-((

 

Este otthonról megy (ciklusba szervezetten) a letöltés!

 

:-)))

Előzmény: Törölt nick (9003)
Törölt nick Creative Commons License 2009.03.23 0 0 9003
Itt van két példa, az első webre feltöltött xls, a másik sima html oldal letöltésére:


Sub Letöltés_xls()
Dim QueryString As String

QueryString = "http://ddl2.data.hu/get/0/1297990/teszt.xls"
Workbooks.Open QueryString
End Sub


Sub Letöltés_html()
Dim QueryString As String, WS As Worksheet

Set WS = Sheets("Munka1")
QueryString = "http://www.cpearson.com/excel/topic.aspx"
With WS.QueryTables.Add(Connection:="URL;" & QueryString, Destination:=WS.Range("A1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SaveData = True
End With
End Sub
Előzmény: szkripnyik (8996)
szkripnyik Creative Commons License 2009.03.23 0 0 9002

Előfordulhat, sajnos pontosan nem emlékszem.

Viszont miért maradt meg ez a beállítás a munkafüzet  bezárása és újramegnyitása után is?

Hogyan lehet ezt a beállítást törölni?

Én kénytelen voltam a két munkalapot teljes egészében törölni (igaz, az adataim már korábban elvesztek...)

Előzmény: Törölt nick (9001)
Törölt nick Creative Commons License 2009.03.22 0 0 9001
Nem lehet, hogy csoportos kijejölés volt érvényben a munkalapokra?
Ha a Shift ill. Ctrl billentyűkkel együtt kattintassz 1-1 munkalapra, akkor több munkalapot jelölsz ki - ekkor történhetnek azok, amiket leírtál.
Előzmény: szkripnyik (9000)
szkripnyik Creative Commons License 2009.03.22 0 0 9000

Hogy lehet ez?

 

Feltöltöttem egy munkalapot adatokkal, egy VB programocskával átírtam egy másik munkalapra.

 

Aztán nem tudom mi hülyült meg, de egy idő után, amikor töröltem a második lapot, törölte az elsőt is. amikor beszúrtam valamit bármelyik lapra, mindkettőn megjelent ill. (törlés esetén) mindkettőről törlödött. Több órai munkám veszett el.

Munkalapot egy munkafüzeten belül ne nevezzek el "Input"-nak és "Output"-nak?

 

Ez hülyíthette meg?

Delila_1 Creative Commons License 2009.03.22 0 0 8999

Létrehozod a két tartományt ábrázoló grafikont. Kijelölöd azt az adatcsoportot, amit a másik tengelyhez akarsz rendelni. Jobb klikk,  Adatsorok formázása >Tengely>Másik tengelyhez.

 

Szintén az adatsoron, a jobb klikkre előjövő menüben megtalálod a Trendvonal felvételét. Nézd meg mindkét fület a párbeszéd dobozban.

Előzmény: Gavriel (8998)
Törölt nick Creative Commons License 2009.03.22 0 0 8997
Egyszer már megoldottam ezt a webről letölés problémát, de most nincs kéznél a program, amit akkor írtam, és nem emlékszem, hogy is volt pontosan. Attól tartok, félrevezettelek azzal a FollowHyperlik-kel... Elnézést. Hétfőn megnézem, és helyesbítek.
Előzmény: szkripnyik (8996)
szkripnyik Creative Commons License 2009.03.21 0 0 8996

"Az internet vagy a proxyszolgáltató nem határolható be"

 

Ez volt a próbamóricka:

 

Sub proba()
For i = 1 To 1
ActiveWorkbook.FollowHyperlink Address:=Cells(i, 4).Value, NewWindow:=True
Next i

End Sub

És a D1 mezőben az index.hu volt beírva hyperlink-ként. Azt felismerte, hogy a http://index.hu -ról van szó

 

Lehet, hogy az címzett szerver tiltja, hogy programból "szólítsák meg" és csak browser-ből engedi?

 

Előzmény: szkripnyik (8995)
szkripnyik Creative Commons License 2009.03.21 0 0 8995

Excel-en belül még csak-csak használom az worksheet... és cells ... akármiket (de itt sem tudom melyik "metodus" és melyik "attributum").

Sajnos én öreg motoros vagyok, objektumorientált programozást soha nem tanultam, és a munkám során sem használtam, de hajlandó vagyok vénségemre megtanulni. Valahol van hozzá puska?

Előzmény: Törölt nick (8994)
Törölt nick Creative Commons License 2009.03.21 0 0 8994
Ha otthon vagy a VBA programozásban, akkor a FollowHyperlink metódus használatát javaslom.
Előzmény: szkripnyik (8993)
szkripnyik Creative Commons License 2009.03.21 0 0 8993

Egy excel táblázat egy oszlopa URL címeket tartalmaz, amelyek azonos szerkezetű kicsi táblázatokra mutatnak.

 

Hogyan lehet ezeknek a táblázatoknak a tartalmát EXCEL-ből elolvasni, letárolni akár a kiindulási táblázat adott sorába, akár másként. (pl. txt szerkezetű file-ként)

 

Ha a html source-t text-ként tudnám olvasni, akkor már ki tudnám szedni a nekem szükséges adatokat..

 

Előre is köszi

Törölt nick Creative Commons License 2009.03.20 0 0 8992
Az API függvényekhez egy link.

Magyarázat a
"Public Declare Function SetActiveWindow Lib "user32.dll" (ByVal hwnd As Long) As Long"
sorhoz:

Képzeld el, hogy írsz egy saját függvényt VBA-ban, aminek van két paramétere. Például:

Private Function Összeg (Szám1 As Long, Szám2 As Long) As Long
Összeg = Szám1 + Szám2
End Function

Ezt a függvényt hogyan használod fel a program többi részében? Pl. így:

Dim Eredmény As Long
Eredmény = Összeg(32, 15)


A SetActiveWindow függvény is pont ilyen. Van egy paramétere, aminek a neve történetesen hwnd. A hwnd-nek ugyanaz a szerepe, mint az Összeg fgv. esetében a Szám1-nek és Szám2-nek. Ezt a paramétert kell beadni a függvénynek ahhoz, hogy működni tudjon. Más szóval, a SetActiveWindow esetében a hwnd paraméterrel adjuk a függvény tudtára, hogy konkrétan melyik ablakot akarjuk aktiválni.

Ez tehát annak az ablaknak az egyedi azonosítóját tartalmazza, amit aktiválni akarunk. A Windowsban minden egyes megnyitott ablaknak van egy egyedi azonosítója, ami egy Long típusú egész szám. Ezt az azonosítót először megszerezzük a GetActiveWindow függvénnyel, majd átadjuk SetActiveWindow-nak.

Hogy miért pont hwnd a paraméter neve, azt nem tudom. Ez egy rövidítés, azt hiszem, talán "Handle of Window" vagy valami hasonló. Mert az API függvények világában az ablakok azonosítóját "Handle" névvel illetik (jelentése kb. nyél vagy foganytú). De lehet, hogy nem csak az ablakokra vonatkozik ez, hanem mindenféle process-ekre is, szóval alapvetően a Handle az valami olyan azonosító, aminél fogva hivatkozni lehet egy adott ablakra, folyamatra, stb. Ennél többet én sem tudok róla.
Előzmény: Törölt nick (8991)
Törölt nick Creative Commons License 2009.03.20 0 0 8991

Jimmy, elnézést, még egy kérdés.


tesztelgettem a kódodat többféleképpen. Értem is, de a
"(ByVal hwnd As Long)" sornál mi a hwnd, miért kell az a változó?
Előzmény: Törölt nick (8979)
Törölt nick Creative Commons License 2009.03.20 0 0 8990
Ok, ez megoldva. Nálam volt a gond.
Törölt nick Creative Commons License 2009.03.20 0 0 8989
kivettem az On Error Resume Next-et.
Run Time Error 5
Invalid procedure or argument
Előzmény: Törölt nick (8988)
Törölt nick Creative Commons License 2009.03.20 0 0 8988
Annyiban hibádzik, hogy ami eddig megtörtént a
"Application.CommandBars("munkalap").Visible = True"
sornál, most nem történeik meg.
(Tehát a munkafüzet aktiválásakor nem jelenik meg az eszköztár)
Ugyanebben a projektben van egy másik eszköztáram hasonló eljárással írva, az működik.
Előzmény: Törölt nick (8975)
Törölt nick Creative Commons License 2009.03.20 0 0 8987
Előző hsz-hez kapcsolódóan találtam az msdn-en lenti betűrendes összefoglalót
de hátha neked van jobb....

http://msdn.microsoft.com/en-us/library/aa383688(VS.85).aspx
Előzmény: Törölt nick (8979)

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