Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Syntax
    csendes tag

    Sziasztok,

    Azt szeretném megoldani, hogy bizonyos sheetek a workbookomban csak akkor legyenek megnyithatóak, ha a user beir egy passwordot egy sheeten, majd megnyom egy lekérés gombot. Erre van valami módszer, mert a protect sheet csak az irast védi, az olvasást nem :(.

    A protect workbook funkcióval, ha elrejtek egy sheetet azt a user nem tudja unhideolni, de azthiszem az esetemben ez nem teljesen járható út.

    Van valami ötletetek?

    Hali

    Makroval oldjad meg, hogy csak a kód megadása után UnHide-olja a Sheet-eket.
    Azt hogy ezt egy form-on, vagy egy cellában teszed azt már a te döntésed.
    ;)

  • Syntax
    csendes tag

    Halihó!

    Egy újabb fantasztikus kérdés merült fel bennem.

    Lehet e VBA-ból lekérdezni/ellenőrizni, hogy az alapértelmezett nyomtató (amely ugye lehet a helyi géphez csatolt és hálózati is) elérhető e?

    Próbáltam a gugli segítségével kutakodni, de számomra értékelhető infót eddig nem találtam.

    oldprinter = Application.ActivePrinter

    ezzel betudod olvastatni az aktuális nyomtatót.
    A nyomtató azonosítójából pedig látod mi a hálózati. (jobb esetben)

  • Syntax
    csendes tag

    "Hiszen rájön, hogy mi minden lehet excel-ben csinálni." - esetünkben éppen a lényegre nem jön rá, miszerint az excel egy adatvizualizációs, adatbányász céleszköz. Nem pedig sakk program írásához kereteszköz. Persze láttam már lövöldözős játékot is excelben megvalósítva, az emberi butaság (és az excel tudásának határa) végtelen. Sőt írhatod a szakdolgozatod is excelben, attól az még akkor sem lesz szövegszerkesztő program.

    Szvsz az excel oktatásnak éppen ezért az adatokról, adat lekérésről (különböző adatforrásokhoz programozottan kapcsolódás), adat megjelenítésről, formokról illetve ezek programozásáról kellene, hogy szóljon, nem pedig sakk, meg akasztófa játékok excelben programoztatásáról.

    Dolgoztam olyan cégnél, ahol ki is volt mondva, hogy mindent excelben kell megvalósítani. A CRM rendszertől, a projektvezető toolokon át. Volt exceles pdf generátorunk, exceles vonalkód nyomtató porgramunk, és még ki tudja mi minden. Ami kerek volt azt kézben vittük, ami négyszögletes, azt meg gurítottuk. El is jöttem onnan 4 év után, és nagyon óvok mindenkit attól, hogy ugyanabba a hibába essen, mint anno nálunk annál a cégnél.

    Nem véletlenül szajkózom itt a topikban, hogy az excelt arra használjuk, amire való, mert minden más esetben csak a fölösleges körök futása, és a rossz programozói gyakorlatok beidegződése fog történni.

    Szegény ember kézzel nőz...
    (Ha csak ez van akkor ezt kell szeretni, én is szeretnék repülővel járni, de sajnos pont nincs repülőm...)
    Az oktatási rendszerünk hibáinak ez csak a csúcsa. "Akit érdekel a dolog az jobban utána néz", a lehetőséget megadja az iskola, jelige alatt futunk :DD . A munkahelyek meg olyanok mint akármelyik profitorientált szervezet, mindent a lehető legolcsóbban akarnak megoldani, így érthető az excel mánia is.

  • Syntax
    csendes tag

    Nem lepődtem meg, hogy ilyet is tud az excel, bár szvsz ez megint bőven az a kategória, amikor valaki arra használja az excelt, amire nagyon nem kéne.
    Nekem érthető volt amit írtál, nem is velem van itt a gond :)

    Szegény ember kézzel nőz...
    Amúgy meg ha ez a vizsga feladat akkor ez a feladat.
    A feladat ugyan nem tipikus excel feladat, de ha valaki erre rájön, és veszi a fáradtságot, hogy megcsinálja akkor azzal sokat nyer. Hiszen rájön, hogy mi minden lehet excel-ben csinálni. Illetve más specifikusabb feladathoz sokkal több magyarázat kell illetve esetleges forrásadatok amivel lehet dolgozni. Amíg a sakkot mindenki ismeri, így 1 mondatban ki lehet adni a feladatot. Igazi egyszerű szivatos feladat ;]

  • Syntax
    csendes tag

    Hali

    Meg lehet oldani.

    ActiveSheet.PasteSpecial Format:="gyalog (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False

    ActiveSheet.Shapes.Range(Array("gyalog")).Select
    Selection.Cut
    Range("K4").Paste

    Az első sor arra szolgál, hogy egy képet úgy lehet vele beszúrni, hogy azt később az excel tudja kezelni.
    Manuálisan úgy néz ki, hogy a kiválasztott képet be kell szúrni az excel táblába de amikor beszúrod akkor az egér jobb gombját használva paste special mód kiválasztásával, és a "Picture (enhanced metafile)".

    Miután ez megvan akkor a képet át lehet nevezni, hogy később tudjad, hogy melyik figuráról van szó. Ezt a tábla bal felső sarkában tudod megtenni. (közvetlenül a gombsor és az oszlop címek közt)

    Ha ez megvan akkor már csak az a dolgod, hogy simán csak másolgatod tovább a képet. Az az előbb leírt kód utolsó 3 sora.

    Igyekeztem érthető lenni, ha nem voltam az szólj, és megpróbálom másképp.

    Üdv

    Bocs a helyes kód:

    ActiveSheet.Shapes.Range(Array("gyalog")).Select
    Selection.Cut
    Range("H1").Select
    ActiveSheet.Paste

  • Syntax
    csendes tag

    Nézd, excelről beszélünk. Igaziból fingom sincs, hogy lehet-e egy cellába képet beszúrni. Ha lehet, akkor nyert ügyed van, ha nem lehet, akkor marad a szöveg. Én látatlanban arra tippelek, hogy nem lehet a cella tartalma kép, de lehet tévedek. Néha engem is meglep, hogy felhasználói szinten is mennyi mindent tud az excel.

    Hali

    Meg lehet oldani.

    ActiveSheet.PasteSpecial Format:="gyalog (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False

    ActiveSheet.Shapes.Range(Array("gyalog")).Select
    Selection.Cut
    Range("K4").Paste

    Az első sor arra szolgál, hogy egy képet úgy lehet vele beszúrni, hogy azt később az excel tudja kezelni.
    Manuálisan úgy néz ki, hogy a kiválasztott képet be kell szúrni az excel táblába de amikor beszúrod akkor az egér jobb gombját használva paste special mód kiválasztásával, és a "Picture (enhanced metafile)".

    Miután ez megvan akkor a képet át lehet nevezni, hogy később tudjad, hogy melyik figuráról van szó. Ezt a tábla bal felső sarkában tudod megtenni. (közvetlenül a gombsor és az oszlop címek közt)

    Ha ez megvan akkor már csak az a dolgod, hogy simán csak másolgatod tovább a képet. Az az előbb leírt kód utolsó 3 sora.

    Igyekeztem érthető lenni, ha nem voltam az szólj, és megpróbálom másképp.

    Üdv

  • Syntax
    csendes tag

    Az szerintem kb. mindegy. Miért, ha csak fogja valaki és a C2-es cellában álló csikót áthúzza D4-re, akkor az miben bonyolítja meg a dolgot?

    De mindegy, csak akkor annyiban egyszerűbb, hogy a bábuk vezérlése, nem manuálisan történik, és a kívánt lépést még a végrehajtás előtt lehet ellenőrizni. (Kicsit egyszerűbb, a kivitelezés)

  • Syntax
    csendes tag

    Igazából az nem megy hogy nagyon nem tudom, hogy hogyan induljak el alépések megfogalmazásában

    Hogyan akarjuk vezérelni a bábukat?
    Egy form-on megadjuk a bábút és a célmezőt?
    Ha így akkor az sokban egyszerűsítené a dolgot.
    Mik a kikötések?

    Az ünnepek vége felé talán tudok segíteni.

  • Syntax
    csendes tag

    VB6-ban írt pcthermometer programmal kapcsolatban felmerült:
    8 db DS 1624 szenzort lehet címezni, egy további ADS 7828E 8 csatornás konvertert kellene I2C vonalon csatlakoztatni.
    Az ADC címe megegyezik a szenzorok egyikével, &H48, a csatorna kiválasztását hogyan kell beszúrni,
    Csatorna címe pl &H21, &H23, &H24
    "The address byte is the first byte received following the
    START condition from the master device. The first five bits
    (MSBs) of the slave address are factory pre-set to 10010.
    The next two bits of the address byte are the device select
    bits, A1 and A0. Input pins (A1-A0) on the ADS7828 determine
    these two bits of the device address for a particular
    ADS7828. A maximum of four devices with the same pre-set
    code can therefore be connected on the same bus at one
    time.
    The A1-A0 Address Inputs can be connected to VDD or digital
    ground. The device address is set by the state of these pins
    upon power-up of the ADS7828.
    The last bit of the address byte (R/W) defines the operation
    to be performed. When set to a ‘1’ a read operation is
    selected; when set to a ‘0’ a write operation is selected.
    Following the START condition the ADS7828 monitors the
    SDA bus, checking the device type identifier being transmitted.
    Upon receiving the 10010 code, the appropriate device
    select bits, and the R/W bit, the slave device outputs an
    acknowledge signal on the SDA line.

    The ADS7828 operating mode is determined by a command
    byte which is illustrated above.
    SD: Single-Ended/Differential Inputs
    0: Differential Inputs
    1: Single-Ended Inputs
    C2 - C0: Channel Selections
    PD1 - 0: Power-Down Selection
    X: Unused
    See Table I for a power-down selection summary.
    See Table II for a channel selection control summary.
    MSB 6 5 4 3 2 1 LSB
    1 0 0 1 0 A1 A0 R/W
    PD1 PD0 DESCRIPTION
    0 0 Power Down Between A/D Converter Conversions
    0 1 Internal Reference OFF and A/D Converter ON
    1 0 Internal Reference ON and A/D Converter OFF
    1 1 Internal Reference ON and A/D Converter ON

    Passz :(

  • Syntax
    csendes tag

    Üdv!

    Mondja már meg valaki, hogy programkódból (VBA) meg lehet e oldani, hogy az adott fájl (amiből a kódot futtatom) csak olvasásra nyíljon meg?

    Azt akarom elérni, hogy írásra csak bizonyos felhasználóknak nyíljon meg a fájl.

    Köszönöm!

    Hali

    Illetve ha magát azt a file-t akarod csak olvasásra megnyitni amit indítasz akkor a ThisWorkook -ba a kövi megy bele.

    Private Sub Workbook_Open()
    ActiveWorkbook.ReadOnlyRecommended = True
    End Sub

  • Syntax
    csendes tag

    Nagyon Boldog Békés Ünnepeket mindenkinek!

    Hali talán erre gondoltál...

    Workbooks.Open Filename:="ide adod meg a file nevet", ReadOnly:=True

  • Syntax
    csendes tag

    Sziasztok

    (excel VBA makro)

    A következővel kapcsolatban lenne egy olyan kérdésem hogy miért van az hogy csak az első cellát érzi úgy mintha ki lenne a töltve a többit pedig autó matikusan üresnek vesz hiába van kitöltve. :W

    (egyébként nem csinálna mást minthogy a "H" oszlop 2. sorától kezdődően a kitöltött cellák mennyiségének megfelelő új lapot hoz létre és elnevezi azokat aszerint ami az adott cellába van érték. [sor,"H"])

    Dim sor As Integer
    Dim QH_part As Variant

    sor = 2
    Do While Worksheets("Open").Cells(sor, "h").Value <> ""
    QH_part = Cells(sor, "H")
    Sheets.Add
    ActiveSheet.Name = QH_part
    sor = sor + 1
    Loop

    Köszönöm de már sikerült megoldani. Minden esetre a későbbiekben tuti visszatérek :))

  • Syntax
    csendes tag

    Sziasztok

    (excel VBA makro)

    A következővel kapcsolatban lenne egy olyan kérdésem hogy miért van az hogy csak az első cellát érzi úgy mintha ki lenne a töltve a többit pedig autó matikusan üresnek vesz hiába van kitöltve. :W

    (egyébként nem csinálna mást minthogy a "H" oszlop 2. sorától kezdődően a kitöltött cellák mennyiségének megfelelő új lapot hoz létre és elnevezi azokat aszerint ami az adott cellába van érték. [sor,"H"])

    Dim sor As Integer
    Dim QH_part As Variant

    sor = 2
    Do While Worksheets("Open").Cells(sor, "h").Value <> ""
    QH_part = Cells(sor, "H")
    Sheets.Add
    ActiveSheet.Name = QH_part
    sor = sor + 1
    Loop

Új hozzászólás Aktív témák

Hirdetés