Benim 2 tane makrom var aynı anda çalıştığı için çakışıyor çalışmıyor galiba bunu sıralı yapabilirmiyiz. 1 makrom çalışıp onaylandıktan sonra ikinci makrom devreye girecek.
1 makrom mac adresi eşlemesi.
2 makrom kullanıcı adı şifre .
Mevcut kullandığım kodlar.
1 işlem makrom mac adresi doğrulama şuan ki kodum:
2 işlem makrom.
İkinci işlemde ekrana gelen form kodu:
1 makrom mac adresi eşlemesi.
2 makrom kullanıcı adı şifre .
Mevcut kullandığım kodlar.
1 işlem makrom mac adresi doğrulama şuan ki kodum:
Kod:
Option Explicit
Sub testme01()
Dim strComputer As String
Dim objWMIService As Object
Dim colAdapters As Object
Dim objAdapter As Object
strComputer = "."
Set objWMIService = GetObject _
("winmgmts:" & "!\\" & strComputer & "\root\cimv2")
Set colAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objAdapter In colAdapters
'MsgBox "Physical address: " & objAdapter.MACAddress
Sheets("SINAMA").Select
[a1] = "Physical address: "
[a2] = objAdapter.MACAddress
Columns("a").AutoFit
Next objAdapter
End Sub
Sub auto_open()
Static HATA As Integer
Dim KULLANICI As Long
Call testme01
On Error GoTo HATALI_GİRİŞ
Application.Visible = False
With Sheets("SINAMA").Range("H1:H100")
KULLANICI = .Find(What:=Cells(2, 1).Value, After:=.Cells(1, 1), LookIn:=xlValues, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase _
:=True, SearchFormat:=False).Row
End With
If KULLANICI = 0 Then GoTo HATALI_GİRİŞ
MsgBox "Sisteme girişiniz onaylanmıştır.", vbInformation, "HOŞGELDİNİZ "
Application.Visible = True
Exit Sub
HATALI_GİRİŞ:
MsgBox "Bu bilgisayarda , bu dosyayı çalıştırmaya yetkiniz yoktur." _
& Chr(10) & "Lütfen sistem yöneticisiyle iletişime geçiniz." _
& Chr(10) & ".........", vbCritical, "DİKKAT !"
HATA = 1
Application.DisplayAlerts = False
If HATA = 1 Then Application.Quit
End Sub
Kod:
Sub AUTO_OPEN()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("h")
For i = 1 To Worksheets.Count
If Sheets(i).Name <> "2015" Then
Sheets(i).Visible = xlVeryHidden
End If
Next i
'Application.Visible = False 'exceli kapatır
Call form_aç
Application.ScreenUpdating = True
End Sub
Sub form_aç()
UserForm1.Show 0
End Sub
İkinci işlemde ekrana gelen form kodu:
Kod:
Private Sub kullanıcıadı_Change()
End Sub
Private Sub Label1_Click()
End Sub
Private Sub sicilno_Change()
End Sub
Private Sub UserForm_Activate()
Application.Visible = False 'exceli kapatır
End Sub
Private Sub gir_Click()
Application.ScreenUpdating = False
Call başlangıç
Application.ScreenUpdating = True
End Sub
Sub başlangıç()
Application.ScreenUpdating = False
Application.Visible = True
ThisWorkbook.Sheets("HAKKINDA").Visible = xlSheetVisible
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("h")
sor1 = sicilno.Text 'InputBox("SİCİL NO giriniz")
sor2 = kullanıcıadı.Text 'InputBox("Kullanıcı Adını giriniz")
sor3 = şifre.Text 'InputBox("Şifrenizi giriniz")
If sor1 = "" Or sor2 = "" Or sor3 = "" Then
Call kaydetvekapat
End If
For i = 2 To s1.Range("ıu1").End(xlUp).Column
If s1.Cells(1, i) = sor1 Then süt = i
Next i
sicilno = s1.Cells(1, süt)
kullanıcıadı = s1.Cells(2, süt)
baştar = s1.Cells(3, süt)
bittar = s1.Cells(4, süt)
şifre = s1.Cells(5, süt)
If Date >= baştar And Date <= bittar Then
For k = 6 To 20
For i = 1 To Worksheets.Count
If Sheets(i).Name = s1.Cells(k, süt).Text Then
Sheets(i).Visible = xlSheetVisible 'xlVeryHidden
End If
Next i
Next k
End If
If Date > bittar Then
Call çıkış
End If
Call userformukapat
Application.ScreenUpdating = True
End Sub
Sub tüm_sayfalar()
Application.ScreenUpdating = False
On Error Resume Next
For i = 1 To Worksheets.Count
ThisWorkbook.Sheets(i).Visible = xlSheetVisible
Next i
Application.ScreenUpdating = True
End Sub
Sub çıkış()
Application.ScreenUpdating = False
On Error Resume Next
With ThisWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
End Sub
Sub kaydetvekapat()
Application.ScreenUpdating = False
On Error Resume Next
With ThisWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
End Sub
Sub userformukapat() 'userform kapat
Application.ScreenUpdating = False
On Error Resume Next
Unload UserForm1
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Son düzenleme: