Keresés

Részletes keresés

SQLkerdes Creative Commons License 2011.04.11 0 0 14575

A januári Outlook makrós kérdésedhez posztoltam egy linket abban a topikban.

Előzmény: Sznida (14574)
Sznida Creative Commons License 2011.04.11 0 0 14574

Köszi Jimmy, annyira szeretem ezt a fórumot! :)

Mindennap lehet tanulni valamit! :)

 

Köszönöm, Üdv: Sznido

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

Szeretném felhívni a figyelmedet az IsNumeric függvény létezésére ;-)

Előzmény: Sznida (14572)
Sznida Creative Commons License 2011.04.11 0 0 14572

Szia,

 

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

Az utolsó válasz volt a legszimpatikusabb, és szerintem a legegyszerűbb is, mert az én kódom is úgy nézett ki, csak nem volt benne az Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") parancs, ami tökéletesen összeszámolja 2003-ban is az összes oldalt! :)

A többit nem próbáltam, mert ez már megfelelő eredmény hozott.

A kód, hátha szüksége van rá valakinek: :)

 

Sub Minden_második_oldal_nyomtatás()
dim i, TotalPages as integer

TotalPages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
1:
k = CVar(InputBox("Add meg a első oldal számát!", "Első oldalszám megadása"))
If k <> "" Then
    On Error GoTo Hiba
    k = k / 1
    On Error GoTo 0
    For i = k To TotalPages Step 2
        'ActiveWindow.SelectedSheets.PrintOut From:=i, To:=i, Copies:=1, _
        '    ActivePrinter:="PDFCreator a(z) Ne00: kimeneten", Collate:=True
        ActiveSheet.PrintOut From:=i, To:=i, Copies:=1, Collate:=True
    Next i
End If
Exit Sub
Hiba:
If Err.Number = 13 Then
    MsgBox ("Csak számot adhatsz meg!")
    Resume 1
End If
End Sub

 

Üdv: Sznido

Előzmény: SQLkerdes (14570)
Sznida Creative Commons License 2011.04.11 0 0 14571

:) Köszi, most mazsolázok belőlük! :)

 

Üdv: Sznido

Előzmény: SQLkerdes (14570)
SQLkerdes Creative Commons License 2011.04.11 0 0 14570

Sőt, itt egy másik megoldás:  http://www.ehow.com/how_6804791_print-even-pages-excel-2007.html

 

Ez a Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") parancsot használja.

Előzmény: Sznida (14566)
SQLkerdes Creative Commons License 2011.04.11 0 0 14569

Ez itt viszont pont azt csinálja, amit szeretnél:  http://www.ozgrid.com/forum/showthread.php?t=52288&page=1

 

A HPageBreak.Count-ot használja az oldalak számának kiszámolásához.  Nem valószínű, hogy eszembe jutott volna ez a technika...

Előzmény: Sznida (14566)
SQLkerdes Creative Commons License 2011.04.11 0 0 14568

Ezt lehet még érdemes megolvasni:  http://www.mrexcel.com/forum/showthread.php?t=27098

 

Úgy tűnik, hogy a probléma megoldása nem olyan egyszerű, hogy csak berakjuk egy For Next ciklusba

Előzmény: Sznida (14566)
SQLkerdes Creative Commons License 2011.04.11 0 0 14567

Biztos, hogy ez szükséges.

Van olyan nyomtatóbeállítás, hogy manuális-duplex-et nyomtasson, ez azt jelenti, hogy először (azt hiszem) a páros, utána a páratlan lapokat nyomtatja ki (asszem az utolsó lapot először és így visszafele).

 

Ha ezt akarod elérni, akkor lehet egyszerűbb ezt a property-t beállítani.

Előzmény: Sznida (14566)
Sznida Creative Commons License 2011.04.11 0 0 14566

Sziasztok,

 

Ismét egy kérdéssel fordulok nagy publikum elé! :)

Meg szeretném tudni annak a változónak a nevét, amely megmondja, hogy egy munkalapon az éppen aktuális nyomtató-, illetve oldalbeállítással hány oldalas a munkafüzeztem.

Ha ezt tudom, akkor egy for ciklussal ki tudom nyomtatni a páros illetve a páratlan oldalakat az excel 2003-ban.

 

Köszönettel: Sznido

Törölt nick Creative Commons License 2011.04.08 0 0 14565

Igen, persze.

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

Köszönöm. A Close esetében a BeforeClose-ra gondoltál? 

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

Szerintem a Munkafüzet2 fájl Open és Close eseményébe kellene betenni egy olyan kódot, ami a Munkafüzet1 megfelelő celláiba beírja az aktuális pontos időt.

Akkor már mindegy milyen módszerrel zárják be.

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

Sziasztok!

 

A következő probléma megoldásában kérem a segítségeteket:

 

Adott két munkafüzet (Munkafüzet1.xlsm; Munkafüzet2.xlsm) . A feladat az lenne, hogy a Munkafüzet1-ből kell megnyitni a Munkafüzet2-t, és mérni kellene valahogy azt, amikor a megnyitás megtörtént, illetve amikor bezárták a Munkafüzet2 fájlt (a két időpont lenne a lényeg). A mérés eredményét pedig be kellene írni a Munkafüzet1-be.

 

A megoldásra az alábbiakat próbálgatom, de valamiért nem működik.

 

A Munkafüzet2 megnyitása és a mérés indítása a Munkafüzet1.xlsm – Munka1 munkalapján történt dupla kattintással történik:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

  ’ mérés indítása

  Workbooks.Open Filename:=ActiveWorkbook.Path & "Munkafüzet2.xlsm", ReadOnly:=True

End Sub

 

A Munkafüzet2.xlsm bezárása a Munkafüzet2.xlsm - Munka2 munkalapjára kattintással történik:

 

Private Sub Worksheet_Activate()

  ActiveWorkbook.Close

End Sub

 

A mérés leállítása a Munkafüzet2.xlsm bezárása után a Munkafüzet1.xlsm újbóli aktiválásakor történik:

 

Private Sub Workbook_WindowActivate(ByVal Wn As Window)

 ’mérés leállítása

  MsgBox "Munkafüzet1 - Workbook_WindowActivate"

End Sub

 

A problémám az, hogy ha a  Munkafüzet2.xlsm fájlt nem „hagyományosan” a Bezárás menüponttal vagy az ablak bezáró „X”-re kattintással zárom be, hanem a fenti Munka2 munkalapra kattintással, (ActiveWorkbook.Close paranccsal) akkor nem aktiválódik a Munkafüzet1.xlsm  „WindowActivate” eseménykezelője.

 

Tudna valaki segíteni a probléma megoldásában?

Xooo Creative Commons License 2011.04.08 0 0 14561

Megoldottam...

Előzmény: Xooo (14560)
Xooo Creative Commons License 2011.04.08 0 0 14560

Az is nagy segítség lenne ha valaki tudna infot mondani erőlködjek-e ezzel tovább vagy felesleges. Amit szeretnék összehozni, egy munkalapról egy sorból alma banán körte cellákból egy másik munkalapra almabanánkörtét csinálni egy cellába. Sima legördülő menü van, de 3 fele tagolva tudtam csak létrehozni, mivel csak egy sort vagy oszlopot enged az excel.

 

Köszi :)

Sznida Creative Commons License 2011.04.08 0 0 14559

Szia,

 

Nem tudom leírni a konkrét tábla hiányában, ezért ha elküldöd a file-t, akkor megpróbálok segíteni!

sznida@freemail.hu

 

Üdv: Sznido

Előzmény: Xooo (14557)
Sznida Creative Commons License 2011.04.08 0 0 14558

Köszönöm szépen a segítséged!

Végül csak egy "on error"-al megoldottam, hogy ha nem találja a file-t, akkor "msgbox", hogy "nincs nyitva, próbáld újra".

Elég sok makróm működik így, mert régebben nem ismertem még a megnyitási metódust, és azóta nem írtam át őket. Így legalább érzi a felhasználó, hogy rá is szükség van. :)

 

Köszönettel: Sznido

Előzmény: Törölt nick (14556)
Xooo Creative Commons License 2011.04.08 0 0 14557

Addig jutottam el a prohektben, hogy az első fülön található 3 oszlopból és 15 sorból álló táblázatnak adtam egy nevet pl X. Majd az adatok érvényesítése paranccsal az utolsó fülön próbáltam csinálni egy legördülő menüt, de az excel csak egy oszlopra vagy sorra tud hivatkozni a táblázat neve alapján.... pfffff. Kifogytam az ötletekből.

Törölt nick Creative Commons License 2011.04.08 0 0 14556

Igen, igazad van, ez így nem megy.

UDF-ben egy csomó minden nem működik, és én erről mindig megfeledkezem... :(

Azt javaslom, legyen az UDF-ed bemenő paramétere a másik munkafüzetnek az a bizonyos része, és akkor - lévén külső csatolás - az Excel megpróbálja majd frissíteni a hivatkozásokat, és kiabál, ha nem sikerül. Jobb ötletem nincs. Esetleg az, hogy a Workbook_Open során biztosítsd be, hogy a másik fálj is meg legyen nyitva.

Előzmény: Sznida (14546)
Sznida Creative Commons License 2011.04.08 0 0 14555

Nincs mit, örülök, hogy segíthettem! :)

Előzmény: s71 (14554)
s71 Creative Commons License 2011.04.08 0 0 14554

Hi!

Igazad van! Ezen tudás birtokában pár perc alatt leküzdöttem a problémát!

Az Immediate window-ról nem tudtam eddíg. Hálás kösz mégegyszer.

Üdv.

Előzmény: Sznida (14553)
Sznida Creative Commons License 2011.04.07 0 0 14553

Szia,

 

Nálam itthon is működik excel2010-ben...

Annyi a különbség, hogy a makró rögzítő nem tárolja melyik az aktív nyomtató, és szerintem nem tudod pontosan beírni.

Ezért én kiírattam az Immediate windowra az az aktuális, aztán váltottam és azt is kiírattam. Innen be tudtam illyeszteni a szöveget az idézőjelek közé!

 

Pl.:     Application.ActivePrinter = "hp deskjet 5100 a(z) Ne02: kimeneten"

 

A lényeg, hogy teljes legyen a címzés, tehát benne kell lennie annak, hogy melyik kimeneten!

 

Az immediate window ctrl+g-vel tudod megjeleníteni, és a

Debug.Print Application.ActivePrinter paranccsal íratom ki oda!

 

Remélem sikerrel jársz!

 

Üdv: Sznido

Előzmény: s71 (14551)
Xooo Creative Commons License 2011.04.07 0 0 14552

Ismét egy probléma megoldásában szeretném kérni a segítségeteket, javaslatotokat. Van egy táblázatom, amiben van 6 fül. Az első 5 fülön olyan adatok vannak, amelyek pl egy gombnyomásra be kellene hogy kerüljenek a 6. fül megfelelő helyére. Próbálom érthetőbben elmagyarázni. Az első 5 fülön raklapok és ezek gyári számai vannak, kategorizálva. A megrendelő azt kéri, ezekből állítsunk össze egy táblázatot. ( mi került kiszállításra ) Van amikor csak 3 raklap kellene egy fülről, van amikor 3 fülről kellene 5-5 raklap. A copy-paste nem igazán járható út :( Az első 5 fül cellái állandóak, ezeket előzetesen töltik ki és ebből kellene csinálnom egy hatodikat. A hatodik fül cellái szintén állandóak, de nem mindig ugyanaz az adat kerülne bele. A gyári számok, stb ugyanolyan hosszúak.

 

 

Köszönöm szépen a segítséget / ötleteket ! :)

s71 Creative Commons License 2011.04.07 0 0 14551

Hálás köszönet a segítségért!

Előzmény: Sznida (14550)
Sznida Creative Commons License 2011.04.07 0 0 14550

Ha esetleg délutánig, amíg haza nem érek nem válaszol senki, akkor otthon megnézem a 2010-es, és küldök egy olyan verziót!

 

Üdv: Sznido

Előzmény: s71 (14549)
s71 Creative Commons License 2011.04.07 0 0 14549

Kösz a gyors választ!

Én most 2010-est használok. Ezen mindent rögzít a makrorögzítő, csak a nyomtatók közötti váltást nem.

Amit írtál nállam sajna nem működik valami ehez hasonló kellene azt hiszem "PrintOut.ActivePrinter = "HP LaserJet 1022" " de nem

tudom pontosan.

 

Előzmény: Sznida (14548)
Sznida Creative Commons License 2011.04.07 0 0 14548

Szia,

 

Nálam 2003-ban működik a következő:

 

Application.ActivePrinter = "PDFCreator a(z) Ne00: kimeneten"

 

Ezt makró rögzítéssel csináltam, az idézőjelek között a rögzítés tette be a szöveget!

 

Üdv:Sznido

Előzmény: s71 (14547)
s71 Creative Commons License 2011.04.07 0 0 14547

Hi!

Kérnék egy kis segítséget tőlletek.

Excel makróból szeretnék nyomtatót váltani, de az istenért sem sikerül.

Két nyomtató között kellene váltani, attól függően, hogy melyik gomgot nyomja meg a felhasználó.

Akár mit csinálok ugyan arra a nyomtatóra akar nyomtatni.

Kérlek segítsetek!

Üdv.

Sznida Creative Commons License 2011.04.07 0 0 14546

Aha, nem minden működik úgy egy UDF-ben, mint module-ban, tehát segítség kell a megnyitásra is.

Module-ban simán fut, és megnyitja a file, de ha UDF-ból indítom ugyanazt a module-t, akkor nem csinál semmit! :(

 

Köszi

 

Üdv: Sznido

Előzmény: Sznida (14545)

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