VBA Kod yardımı

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
840
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhbalar,

Aşağıda ki kodlar ile P17 sorgulama işlemini yaptırıyorum. Ancak sorgulama işlemini ikinci sayfada (D7:AF18) hücrelerini sorgulatmak zorundayım. İkinci sayfada sorgulama yaptıktan sonra devam butonu ile işlemin sonlandırılması mümkün mü ?

Yardımlarınız için teşekkür ederim.


Kod:
Sub Devir()

If [P17] = "" Then
MsgBox "Lütfen Tarih Giriniz!", vbInformation, ""
Range("P17").Select
GoTo 10
Else

ŞİFRE = "12345"
cvp = InputBox("ŞİFRE GİRİNİZ", "FEDEAL")
If cvp = ŞİFRE Then

Range("P17").Select
    Selection.Copy
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'............ KODLARIM

output = MsgBox("KAYIT YERİNİ SEÇİN", vbInformation)
    Dim fd As Office.FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
   With fd
      .AllowMultiSelect = False
      If .Show = True Then
        pathSelected = .SelectedItems(1)
      End If
   End With
   If pathSelected = 0 Then
    output = MsgBox("Kayıt Klasörünü Seçin !!", vbCritical)
    GoTo Line1
   End If
Sheets("Devir").Select
    Range("D1").Select
    ChDir pathSelected
ActiveWorkbook.SaveAs Filename:=Selection.Value, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False


'Sheets("sayfa2").Select
'Range("a1").Select


    ActiveWorkbook.Save
    MsgBox "...Dosyanız Oluşturuldu..."
Line1:

  


MsgBox "MAKROLAR ÇALIŞTI"
Else
MsgBox "ŞİFRE YANLIŞ"
End If
10:
End If


Application.Calculation = xlAutomatic

End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Örnek dosya paylaşır mısınız?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyanızdaki makroyu çalıştırınca masaüstünde bulunan son aşama isimli dosyayı arıyor ve bulamadığı için işlem yapmıyor.

Ancak sorgulama işlemini ikinci sayfada (D7:AF18) hücrelerini sorgulatmak zorundayım. İkinci sayfada sorgulama yaptıktan sonra devam butonu ile işlemin sonlandırılması mümkün mü ?
Burda tam olarak neyi nasıl yapmak istiyorsunuz?
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
840
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Dosyanızdaki makroyu çalıştırınca masaüstünde bulunan son aşama isimli dosyayı arıyor ve bulamadığı için işlem yapmıyor.



Burda tam olarak neyi nasıl yapmak istiyorsunuz?
(D7:AF18) hücrelerinde mutlaka tarih olmalı o yüzden tüm tarihlerin girilmesi zorunlu olması için devam etmemesi gerekmekte..

 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Anladığım kadarıyla aşağıdaki kodları dener misiniz?

PHP:
Sub Devir()
If [P17] = "" Then
    MsgBox "Lütfen Tarih Giriniz!", vbInformation, "MSC"
    Range("P17").Select
    GoTo 10
ElseIf WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[D7:D18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[G7:G18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[J7:J18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[M7:M18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[P7:P18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[S7:S18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[V7:V18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[Y7:Y18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[AB7:AB18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[AE7:AE18]) > 0 Then
        MsgBox "Hafta Tarihlerini Giriniz!", vbInformation, "MSC"
        Sheets("Hafta_Tarihleri").Activate
        Sheets("Hafta_Tarihleri").[D7].Select
        GoTo 10
Else
    ŞİFRE = "12345"
    cvp = InputBox("ŞİFRE GİRİNİZ", "FEDEAL")
    If cvp = ŞİFRE Then
        Range("P17").Select
        Selection.Copy
        Range("B1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Range("P17").Select

'Devir Kodları
'Kaydetmek...................
'Sub Düğme11_Tıklat()
    output = MsgBox("KAYIT YERİNİ SEÇİN", vbInformation)
    Dim fd As Office.FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    With fd
        .AllowMultiSelect = False
        If .Show = True Then
            pathSelected = .SelectedItems(1)
        End If
    End With
    If pathSelected = 0 Then
        output = MsgBox("Kayıt Klasörünü Seçin !!", vbCritical)
        GoTo Line1
    End If
    Sheets("Devir").Select
    Range("D1").Select
    ChDir pathSelected
    ActiveWorkbook.SaveAs Filename:=Selection.Value, _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Save
    MsgBox "...Dosyanız Oluşturuldu..."
Line1:
    MsgBox "MAKROLAR ÇALIŞTI"
    Else
        MsgBox "ŞİFRE YANLIŞ"
    End If
10:
End If

Application.Calculation = xlAutomatic

End Sub
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
840
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Anladığım kadarıyla aşağıdaki kodları dener misiniz?

PHP:
Sub Devir()
If [P17] = "" Then
    MsgBox "Lütfen Tarih Giriniz!", vbInformation, "MSC"
    Range("P17").Select
    GoTo 10
ElseIf WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[D7:D18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[G7:G18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[J7:J18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[M7:M18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[P7:P18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[S7:S18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[V7:V18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[Y7:Y18]) > 0 _
    Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[AB7:AB18]) > 0 Or WorksheetFunction.CountBlank(Sheets("Hafta_Tarihleri").[AE7:AE18]) > 0 Then
        MsgBox "Hafta Tarihlerini Giriniz!", vbInformation, "MSC"
        Sheets("Hafta_Tarihleri").Activate
        Sheets("Hafta_Tarihleri").[D7].Select
        GoTo 10
Else
    ŞİFRE = "12345"
    cvp = InputBox("ŞİFRE GİRİNİZ", "FEDEAL")
    If cvp = ŞİFRE Then
        Range("P17").Select
        Selection.Copy
        Range("B1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        Range("P17").Select

'Devir Kodları
'Kaydetmek...................
'Sub Düğme11_Tıklat()
    output = MsgBox("KAYIT YERİNİ SEÇİN", vbInformation)
    Dim fd As Office.FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    With fd
        .AllowMultiSelect = False
        If .Show = True Then
            pathSelected = .SelectedItems(1)
        End If
    End With
    If pathSelected = 0 Then
        output = MsgBox("Kayıt Klasörünü Seçin !!", vbCritical)
        GoTo Line1
    End If
    Sheets("Devir").Select
    Range("D1").Select
    ChDir pathSelected
    ActiveWorkbook.SaveAs Filename:=Selection.Value, _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Save
    MsgBox "...Dosyanız Oluşturuldu..."
Line1:
    MsgBox "MAKROLAR ÇALIŞTI"
    Else
        MsgBox "ŞİFRE YANLIŞ"
    End If
10:
End If

Application.Calculation = xlAutomatic

End Sub
Teşekkür ederim. İstediğim gibi oldu ancak hafta tarihlerini girdikten sonra devam etmesi için "Devir" sayfasına geri dönmeden nasıl devam ettirebilirim. Hafta tarihleri sayfasında bir butonla da olabilir.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Diğer sayfadaki düğmeye istediğiniz sayfaya kopyalayarak çalıştırabilirsiniz ama bunun için öncelikle makronun başına asıl sayfanızı açacak satır eklemelisiniz. Yanlış hatırlamıyorsam o sayfanın adı "Devir"di. Sub satırından sonra

Sheets("Devir").Activate

Satırını eklemelisiniz.
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
840
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Diğer sayfadaki düğmeye istediğiniz sayfaya kopyalayarak çalıştırabilirsiniz ama bunun için öncelikle makronun başına asıl sayfanızı açacak satır eklemelisiniz. Yanlış hatırlamıyorsam o sayfanın adı "Devir"di. Sub satırından sonra

Sheets("Devir").Activate

Satırını eklemelisiniz.
Teşekkür ederim.
 
Üst