-
Fototrend
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
-
Fferi50
Topikgazda
válasz
istvankeresz
#50013
üzenetére
Szia!
Inkább ezt próbáld ki, mert a másik nem igazán jó:Sub akarmi()
Dim answer As Integer, wsFound As Boolean
Dim wbSearch As Workbook, wsSearch As Worksheet
wsfound = True
On Error Resume Next
Set wsSearch = Sheets(Textbox11.Value)
If Err = 0 Then
'ha van már ilyen munkalap, akkor feltesszük a kérdést
answer = MsgBox("Ilyen nevű munkatárs már rögzítve! Biztos, hogy folytatod a rögzítést?", vbQuestion + vbYesNo + vbDefaultButton2, "Munkatárs rögzítése")
If answer = vbYes Then wsSearch.Copy after:=Sheets("Havi_TEMPLATE"): wsFound = True
Else
Err = 0
Sheets("Szemely_TEMPLATE").Copy after:=Sheets("Havi_TEMPLATE")
ActiveSheet.Name = Textbox11.Value
End If
On Error GoTo 0
If wsFound Then
With ActiveSheet
.Range("A2") = Textbox11.Value & " " & ComboBox7.Value
.Range("B2") = TextBox12.Value
.Range("C2") = TextBox13.Value
.Range("D2") = TextBox14.Value
End With
MsgBox "Munkatárs sikeresen rögzitve! Kérlek zárd be és nyisd meg újra a programot!"
End If
Textbox11.Value = ""
ComboBox7.Value = ""
TextBox12.Value = ""
TextBox13.Value = ""
TextBox14.Value = ""
'Sheets(xx).Activate az alapmunkalap aktíválása, ha szükséges.
End Sub
Egy kis magyarázat hozzá:
Nem kell végigpörgetni a munkalapokat, mivel a vba hibakezeléssel megállapítható, ha van már ilyen munkalap => a Set után ha nincs hiba, akkor van már. Amennyiben ugyanolyan nevű új személy van, akkor ezt a munkalapot másoljuk, aminek az lesz az eredménye, hogy az Excel automatikusan ad egy sorszámot a névhez! ezzel nekünk nem kell foglalkozni.
Ha nincs, akkor másoljuk a Templatet.
Mivel a másolt munkalap lesz az aktív, utána beírhatjuk a szükséges adatokat az új munkalapra.
Remélem sikerülni fog.
Üdv.
Új hozzászólás Aktív témák
- AKCIÓ! EVGA FTW3 Ultra Gaming RTX 3080Ti 12GB videókártya garanciával hibátlan működéssel
- HP ProDesk 600 G2,G3 Mini és 600 G2 MT , félkonfig, bővítési opció, mini PC/NAS/HTPC alap
- 0perces. Kolink Inspire K2 Plus ARGB TG
- Dell Latitude 5430 14" Touchscreen i5-1235U 32GB 512GB 1 év garancia
- Akció! Gamer PC-Számítógép! Csere-Beszámítás! I9 13900 / RTX 3090 24GB / 32GB RAM / 1TB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50