< návrat zpět

MS Excel


Téma: VBA - automatické přiřazování hodnot rss

Zaslal/a 26.11.2024 13:44

Ahoj,

potřebovala bych pomoci s makrem, jestli existuje možnost, když chci přiřadit hodnoty na základě vybraných kritérií. Představuji si to tak, že bych měla záložku, kde budu přidávat různá kritéria. Někde budou všechny podmínky a někde jen jedna. Potřebuji, aby se to na základě těchto podmínek doplnilo skrz všechny záložky alokací, které ty podmínky splňují. To vše ale až na základě stisknutí tlačítka (umístěného v záložce Alokace).

Dále jsem napsala makro, které mi skryje pri zavreni souboru všechny záložky, nechá pouze záložku Departments a vzdy soubor ulozi. Soubor je sdileny, kdyz si ho nekdo otevre, vyzve ho to k vlozeni hesla a otevrou se mu pak jen prislusne zalozky. Kdyz tam ale veslo vice lidi najednu, vubec to nefungovalo a promitalo to zmeny vsech dohromady - nefungovalo to.

Posílám ukázku:

Private Sub Workbook_Open()
Dim List As Worksheet, Sesit As Workbook
Dim Heslo As String

For Each List In ActiveWorkbook.Worksheets
If List.Name <> "Departments" Then List.Visible = xlSheetVeryHidden
Next List

Heslo = Application.InputBox("Password", "xxx a.s.", , , , , , 2)

Application.ScreenUpdating = False

Select Case Heslo
Case "1111"
List1.Visible = True
List2.Visible = True
List3.Visible = True
List4.Visible = True
List5.Visible = True
List6.Visible = True
List7.Visible = True
List8.Visible = True
List9.Visible = True
List10.Visible = True
List11.Visible = True
List12.Visible = True
List13.Visible = True
List14.Visible = True
Case "2222"
List5.Visible = True
List8.Visible = True
Case "3333"
List9.Visible = True
List12.Visible = True
Case "4444"
List6.Visible = True
List10.Visible = True
Case "5555"
List6.Visible = True
List11.Visible = True
Case "6666"
List4.Visible = True
Case "7777"
List7.Visible = True
Case "8888"
List6.Visible = True

Case Else

Application.ScreenUpdating = True

MsgBox "Wrong password."
End Select
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim List As Worksheet, Sesit As Workbook
' Set Sesit = ActiveWorkbook

For Each List In ActiveWorkbook.Worksheets
If List.Name <> "Departments" Then List.Visible = xlSheetVeryHidden
Next List
' ulozit
ActiveWorkbook.Save
End Sub 

Jestě jsem se chtěla zeptat, jestli by šlo, že když zadají spatne heslo, tak jim to tu tabulku vyvola znovu na zadani a ne ze se to musi cele zavrit a zase znovu otevrit.
A taky jestli jde nejak nastavit, ze kdyz jim nasdilim soubor, tak ze se vzdy bude otevirat v Office a ne v prohlizeci, protoze to pak taky dela neplechu.

Diky moc

P.

Příloha: zip57050_alok-vzor.zip (239kB, staženo 2x)
Zaslat odpověď >

#057052
€Ł мσşqμΐτσ
Ahoj,

1. V příloze zasílám možnost jak by mohla fungovat Alokace, jelikož ale nevím jak by vypadala kritéria a kam by se měli zapisovat hodnoty, tak to není úplně ono. Chtělo by to vice specifikovat.

2. Problém se sdílením souboru, tady bohužel nemám zkušenosti, možná poradí někdo jiný

3. Doladil jsem "Workbook_Open" co se týče hesel.

4. Vynucení otevření souboru v Office, stejný jako u bodu 2 nemám zkušenosti.
Příloha: zip57052_alok-vzor_uprava.zip (247kB, staženo 3x)
citovat
#057053
avatar
Kritéria jsou v záložce Alokace ve sloupcích A-D. Hodnoty ze sloupců E-J by se měli podle kritérií v daném řádku doplňovat do všech záložek Alokace MS do sloupců T-Y, pokud danou kombinaci řádky obsahují.

Díky za pomoccitovat
#057067
€Ł мσşqμΐτσ
třeba takto?
Příloha: zip57067_alok-vzor_oprava.zip (253kB, staženo 1x)
citovat

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