Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  229 230 231 232 233 234 235 236 237   další » ... 298

Toto Vám vráti obsah všetkých označených buniek v celom zošite, keďže píšete "kdekoliv v sešitu(nepravidelně)" :
Function OznaceneBunky() As String
Dim WS As Worksheet, Bunka As Range, Text As String, bIndex As Integer
Application.ScreenUpdating = False
bIndex = ThisWorkbook.ActiveSheet.Index
For Each WS In ThisWorkbook.Worksheets
WS.Activate
For Each Bunka In Selection.Cells
Text = Text & Bunka & vbNewLine
Next Bunka
Next WS
ThisWorkbook.Worksheets(bIndex).Activate
OznaceneBunky = Text
Application.ScreenUpdating = True
End Function

Tento text potom použite v texte mailu, či už pomocou Outlook alebo CDO, každopádne obe možnosti nájdete tu na fóre.
Ale vidím problém v tom, ako Excel zistí, či sa jedná o "označenú" jednobunkovú oblasť, a teda ju má zahrnúť, alebo je to proste iba kurzor, a teda by sa zahrnúť nemala. Jedine vylúčiť listy, v ktorých je oblasť iba jedna bunka...

Skúste pozrieť sem alebo sem, a zdá sa mi, že tu ešte niečo bolo.

Sub KopirujList()
Dim Subor As String, isF, bCalc
With Application
bCalc = .Calculation
.ScreenUpdating = False: .Calculation = xlCalculationManual
ThisWorkbook.Worksheets("Hárok1").Copy
With .FileDialog(msoFileDialogSaveAs)
isF = .Show
If isF <> 0 Then
Subor = .SelectedItems(1)
With ActiveWorkbook
.SaveAs Filename:=Subor, FileFormat:=xlOpenXMLWorkbook
.Close
End With
Else
ActiveWorkbook.Close False
End If
End With
.ScreenUpdating = True: .Calculation = bCalc
End With
End Sub

alebo
Sub KopirujList()
Dim Subor, bCalc
With Application
bCalc = .Calculation
.ScreenUpdating = False: .Calculation = xlCalculationManual
ThisWorkbook.Worksheets("Hárok1").Copy
Subor = .GetSaveAsFilename(InitialFileName:=ActiveWorkbook.Name, fileFilter:="Excel súbor (*.xlsx), *.xlsx")
With ActiveWorkbook
If Subor <> False Then .SaveAs Filename:=Subor, FileFormat:=xlOpenXMLWorkbook
.Close False
End With
.ScreenUpdating = True: .Calculation = bCalc
End With
End Sub

-zostavy musia byť na liste Sestavy
-zostavy musia byť Tabuľky (nie tabuľky), a môžete ich mať koľko chcete (teda obmedzil som to dátovým typom byte, teda max 255, dá sa to zmeniť)
-políčka "vyrobit" a "hotovo" musia byť vzhľadom k Tabuľke, ku ktorej sa vzťahujú, na rovnakom mieste ako teraz
-podmienené formátovanie upozorňuje na prípadné prekročenie požiadaviek cez stav skladu v liste Sestavy
-polia "zůstane" vo všetkých zostavách ukazujú aký bude stav skladu po odpočítaný danej položky zo všetkých zostáv (ak sa vyskytuje aj v iných zostavách a je požiadavka na výrobu, teda "vyrobit">0, pričom políčkom "vyrobit" sa násobí pole "ks" tej zostavy, ktorej sa to týka.)
-podmienené formátovanie upozorňuje na 0 alebo záporný stav skladu v liste Sklad

OK. Dúfajme, že zajtra zostane nejaký čas, lebo s tým je to teraz naozaj kritické. Ešte som ani neškrtol s tým čo som sľúbil cez víkend, tak mi to snáď vyjde ...

No to ste teda mohol byť rozhodne ukecanejší :)

1. Takže tie zostavy sú teda objekty Tabuľky (nie obyčajné tabuľky). Prosím potvrďte/vyvráťte.

2. Počet týchto objektov zostáv je statický alebo dynamický ? Prosím odpovedzte "statický" / "dynamický".

3. Ak to náhodou niesú objekty Tabuľky, ale iba obyč tabuľky, tak ich rozmiestnenie je pravidelné a štruktúrované ? Teda sú napr všetky oddelené riadkov a stĺpcom ? Prosím odpovedzte "Ano" / "Ne".

4. Keď stlačíte tlačítko odpisu zo skladu pri vyrobení kusov, čo chcete aby sa udialo so zostavami ? Prosím opíšte vlastnými slovami.

5. A posledná : Keď sa pýtate na makro, tak to moje makro Vám funguje tak, ako ste chcel ? Prosím "Ano" / "Ne"

Keď chcete poradiť, nebuďte taký stručný.

K tomu je potrebné oveľa viac info. Napr. reálna príloha, či sú zostavy tabuľky alebo Tabuľky, koľko ich je, je počet meniaci sa, reálne umiestnenie buniek, čo sa má udiať s tabuľkou po zápise (vymazať, vyčistiť...), ... Veđ nič nevieme. To je ako by som chcel vedieť ako si presne opravim auto bez udania poruchy 5

Tak by ste mohol vyskúšať niečo podobné.

Tu máte teda ešte verzie, bez výberu listov, kopírujú všetky listy. Líšia sa iba tým, že v2 dáva na výber zdroj aj cieľ, naproti tomu v3 dáva na výber iba zdroj, a cieľ je zošit, z ktorého sa to spustilo.

Ak si chcete zadať iba konkrétne názvy listov, alebo pozície listov, tak nahradte konštrukciu
For Each SH In WBZ.Worksheets
If Not Not LST Then u = UBound(LST) + 1: ReDim Preserve LST(1 To u) Else ReDim LST(1 To 1): u = 1
LST(u) = SH.Name
Next SH

za
LST = Array("list1", "list222")
alebo
LST = Split("list1,list222", ",")
pri týchto dvoch treba myslím nahradiť deklaráciu Dim LST() za DIM LST

alebo
ReDim LST(1 to 2)
LST(1) = WBZ.Worksheets(1).Name
LST(2) = WBZ.Worksheets(3).Name


Myslím, že ďalej už to zvládnete :)

OK, ešte podotázky na upresnenie.
Užívateľ si teda vyberá len zdrojový súbor, a listy z neho sa kopírujú do toho súboru v ktorom spustil makro ?
Keď vravíte pevný zoznam listov, máte na mysli, že zdrojový zošiť obsahuje napr listy "A", "B", "C", a na pevno sa určí, že sa budú kopírovať len listy "B" a "C" ? Alebo tým pevným zoznamom myslíte to, že sa skopírujú všetky listy ?

Zo zaujímavosti som Vám to overil - a funguje :)

Upravená verzia, podobné ako kolega. Pridal som aj zvýrazňovanie.
Hodnota väčšia ako posledná, sa považuje sa hodnotu náležiacu do poslednej kategórie.

Vydržte sú tam chyby.
Za prvé treba vo vzorci nahradiť
A24
za
(A24-1)

Ďalej tam máte chybný zápis, na 2 riadkoch máte pred číslami medzeru (tuším 71-80, 131-140).

A ďalej nebude to fungovať keď budete mať iný rozptyl ako 10, viď posledný riadok.

Pracujem na inej verzii, vydržte.

napr.

Napr. takto.
Ak majú k tomuto adresáru prístup aj iný užívatelia po sieti, tak treba ešte doplniť testovanie otvorenia súboru niekde iným užívateľom. To tiež nieje problém.


Strana:  1 ... « předchozí  229 230 231 232 233 234 235 236 237   další » ... 298

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