Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  49 50 51 52 53 54 55 56 57   další » ... 84

tohle by mohla byt ta procedura pro prenos do noveho sesituSub Novy_sesit()
Dim Nazev As String
Dim TentoSesit As String
Dim Cesta As String
Nazev = Range("B4").Value
Cesta = ThisWorkbook.Path
TentoSesit = ThisWorkbook.Name
Workbooks.Add.SaveAs Cesta & "\" & Nazev
Workbooks(TentoSesit).Activate
Worksheets("soupis").Activate
Range("B2:E4").Copy
Workbooks(Workbooks.Count).Activate
Worksheets(1).Activate
Range("b2").Select
Selection.PasteSpecial Paste:=xlPasteValues
Columns("B:F").EntireColumn.AutoFit
Application.CutCopyMode = False
End Sub

No mozna si ne uplne rozumime.
Ono nelze skryt bunky (lze skryt jen cele sloupce nebo radky). Stejne tak nelze odstranit bunky bez jejich posunu.
Spis by bylo dobre, kdybych vedel, co ma byt cilem teto procedury a navrhl bych nejlepsi reseni.
Prijde mi to spis jako, ze by stacilo smazat obsah bunek (ne je odstranovat)...

Nejjednoduší je skrýt nepotřebné sloupce a omezení pohybu uživatele na listu pomocí ScrollArea (nastavení na A:E, nastavit toto lze ve VBE (ALT+F11)

asi nejak takto:Sub odstranit_bunky()
Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 4)).Delete Shift:=xlUp
End Sub

Asi uplne nechapu, ceho se snazite docili (jeslti nahled nebo tisk do PDF souboru).
Nahled je nejlepsi udelat takto: Application.Dialogs(xlDialogPrintPreview).Show

Tisk do PDF (aktivni list) se v Excel 2007 da udelat nejak takto:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= nazev_souboru, Quality:= xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

Pokud byste chtel zpravu rovnou odeslat, musela by vypadat procedura uplne jinak (bez pouziti app.dialogs().show).
Velky problem je vsak pri odeslani vzdy, protoze pokud chce jina aplikace (Excel) odeslat z Outlooku zpravu, bude se Outlook branit - musel byste vzdy potvrdit, ze chcete zpravu odeslat, je tedy jedno, jestli kliknete na 'Odeslat' nebo na 'OK'.
Cesta, jak toto potvrzeni odeslani odstranit existuje, ale osobne bych ji nedoporucoval, protoze jak ze zkusenosti vim, vzdy je dobre si prohlednout to, co chci odeslat...mnoho krat se mi stalo, ze jsem jeste nektere veci menil...

slo by to takhle (do If lze vlozit vice podminek (ta Len() je tam jen pro ilustraci, jak podminky spojit)
Sub kopiruj()
List1.Activate
For i = 2 To Cells(65000, 1).End(xlUp).Row
If Cells(i, 1) = "ahoj" And Len(Cells(i, 1)) > 0 Then
Rows(i).Select
Selection.Copy
List2.Activate
Cells(Cells(65000, 1).End(xlUp).Row + 1, 1).Select
ActiveSheet.Paste
List1.Activate
End If
Next i
Application.CutCopyMode = False
End Sub

Myslim,ze by to slo resit i vzorcem, otazka ovsem je, kolik tech listu mate, protoze by se musely vsechny zadat do vzorce...

Vzdy se vyplati misto makra pouzit vzorec, JESTLI JE TO OVSEM MOZNE 7

Zdravim,

tady je problem toho, ze cesky Excel nepouziva desetinnou tecku, ale carku (tecku pouziva Anglictina).
Kdyz tedy napisete 7.39 do ceskeho Excelu, mysli si, ze jde o datum ve formatu (mesic.rok) a prevede toto 'cislo' na datum (VII.39, tedy 1.7.1939 - a toto datum je vyjadreno cislem 14427).

Pokud chcete tedy cislo 7.39 dostat na cislo 7,39 - musite nejdriv bunky, do kterych cisla s teckou budete exportovat, naformatovat jako text (zobrazi se 7.39 apod), potom nahradit vsechny tecky '.' carkami ',' a preformatovat na cisla...
Jestli nekdo zna snadnejsi zpusob, SEM S NIM... 2

co takhle:
Sub Odeslat_ulozit_zavrit()
Application.Dialogs(xlDialogSendMail).Show "nekdo@nekde.cz", "Předmět"
Range("B4:H13").ClearContents
ActiveWorkbook.Close (True)
End Sub

slo by to, ale kdyz to neni tak dulezite, tak bych to nechal byt, protoze uz by to bylo slozitejsi...no, teda zase ne tak uplne slozite, ale kdyz to neni pripad na kazdy den, tak proc to delat, ze? 7 (musela by se rozsirit podminka pri prochazeni stavajicich zapisu...kdyby to bylo zivotne dulezite, tak to pujde 4 )

skoda, zes to nenapsal rovnou...
Nejprve se musi upravit naplneni comboboxu (makro UKAZ).
No a potom je potreba v procedure 'Private Sub cmbOZN_Change()
' predelat Left(Cells(i, 2), 2) na Left(Cells(i, 2), 6) a Format(Right(Cells(i, 2), Len(Cells(i, 2)) - 2) + 1, "000") na Format(Right(Cells(i, 2), Len(Cells(i, 2)) - 6) + 1, "000")
snad jsem na nic nezapomnel.
Priste, prosim, zadej dotaz co nejpresneji... 4

Zkusil jsem to, podivejte se v priloze...

zkusil jsem to...

to je zvlastni, mne se normalne nastavi nazev souboru jako "565656 faktura.xlsx", nevim, proc tobe ne...


Strana:  1 ... « předchozí  49 50 51 52 53 54 55 56 57   další » ... 84

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje