Hirdetés
- Bambu Lab 3D nyomtatók
- TCL LCD és LED TV-k
- HTPC (házimozi PC) topik
- ThinkPad (NEM IdeaPad)
- Milyen videókártyát?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- OLED TV topic
- Fejhallgató erősítő és DAC topik
- PC-k milliói kerülhetnek veszélybe idén
- Elképesztő sebességre képesek a Micron közelgő, PCI Express 6.0-os SSD-i
-
PROHARDVER!
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mittu88
senior tag
Sziasztok!
Egy olyan, fájlokon átívelő makrót szeretnék írni, amivel frissíteni lehet az eredetileg indított fájlt (excelt).
Ez úgy működne, hogy megnyitom X fájlt. Ez érzékeli, hogy a szerveren egy rejtett mappában van-e olyan nevű fájl, mint ami az X fájl verziója. Ha nincs, akkor megnyitja Y fájlt, ami bezárja X fájlt, lemásolja a szerverről az X új verzióját, majd bezárja önmagát (Y fájlt), esetleg elindja X új verzióját az asztalról.Eddig ennyire jutottam: A FinoMin.xlsm az X fájl, az ujverzio.xlsm az Y fájl
X fájl ide vágó makrója
Private Sub UserForm_Activate() 'Login userform automatikusan indul a fájl megnyitásakor
On Error Resume Next
Application.ScreenUpdating = False
nincsujverzio = True 'Ha nincs új verzió, igaz, ha van, hamis.
Call Verzio
If nincsujverzio = False Then
MsgBox "Van új verzió!", vbOKOnly
Workbooks.Open "\\srv01v\database$\FinoMin\ujverzio.xlsm"
Application.Run "'ujverzio.xlsm'!nyitas"
End If
End sub
Private Sub Verzio()
Dim verziofajlnev As Variant
verziofajlnev = Dir("\\srv01v\Database$\FinoMin\")
While (verziofajlnev <> "")
If InStr(verziofajlnev, Login.verziolabel.Caption) > 0 Then 'A Login egy űrlap, aminek az egyik labeljén van a verziószám
nincsujverzio = True
Exit Sub
End If
verziofajlnev = Dir
nincsujverzio = False
Wend
End SubAz ujverzio.xlsm (Y fájl) makrója pedig külön modulban a nyitas, ami igy néz ki:
Public Sub nyitas()
Dim fajlnev2 As String
Dim idozito As Double
On Error Resume Next
Application.Visible = True
fajlnev2 = "FinoMin.xlsm"
Workbooks(fajlnev2).Saved = True
Workbooks(fajlnev2).Close 'Eddig jól működik, itt áll meg
FileCopy "\\srv01v\Database$\FinoMin\FinoMin.xlsm", "C:\Documents and Settings\" & Environ("username") & "\Desktop\FinoMin.xlsm"
FileCopy "\\srv01v\Database$\FinoMin\FinoMin.xlsm", "C:\Documents and Settings\" & Environ("username") & "\Asztal\FinoMin.xlsm"
Thisworkbook.Save
Thisworkbook.Close
End SubA probléma, hogy amikor fut a kód, a Workbooks(fajlnev2).Close résznél leáll az egész, mivel az eredeti fájl bezárul. Így pont a lényeg, az utána következő másolási folyamat marad ki, ergo nem frissül a fájl az asztalon.
Légyszi segítsetek, azt se tudom, hogy hogy keressek rá az ilyen problémára fórumokon.
Új hozzászólás Aktív témák
- Apple iPhone 15 Pro / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku:83%
- BESZÁMÍTÁS! Gigabyte H310M i5 8500 8GB DDR4 480GB SSD GTX 1050Ti 4GB Rampage SHIVA DeepCool 400W
- AKCIÓ!! HP Zbook Studio G8 i7-11850H 32GB 512GB Nvidia Quadro RTX A4000 8GB Garis!
- BESZÁMÍTÁS! MSI B450M R5 3600X 16GB DDR4 512GB SSD RTX 4060 8GB Zalman S2 TG Cooler Master 650W
- 160 - 177 - 178 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060 (ELKELT)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50

