Excel Forum


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama



Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 28-08-2009, 13:31   #1
sdegirmenci
Altın Üye
 
sdegirmenci kullanıcısının avatarı
 
Giriş: 30/11/2006
Şehir: Kastamonu
Mesaj: 521
Excel Vers. ve Dili:
OFFICE 2003 Türkçe
Varsayılan Else Without If hatası

Merhaba;
Ekteki dosyam üzerinde belirttiğim kod da "Else Without If" hatası vermekte.Bir hata veya eksik var ama anlayamadım. Yardımcı olursanız çok sevinirim. Saygılarımla
Eklenmiş Dosyalar
Dosya Türü: rar örnek.rar (353.0 KB, 12 Görüntülenme)
sdegirmenci Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 13:47   #2
hamitcan
Uzman
 
hamitcan kullanıcısının avatarı
 
Giriş: 01/07/2004
Mesaj: 6,532
Excel Vers. ve Dili:
Excel 2007 Türkçe
Varsayılan

If döngüsünü aşağıdaki kalıba uygun şekilde kullanın.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
If ... then

Elseif ... then


Elseif ... then


Else
...

End if
hamitcan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 13:54   #3
sdegirmenci
Altın Üye
 
sdegirmenci kullanıcısının avatarı
 
Giriş: 30/11/2006
Şehir: Kastamonu
Mesaj: 521
Excel Vers. ve Dili:
OFFICE 2003 Türkçe
Varsayılan

Hocam İlginize teşekkür ediyorum,
Bir türlü nerelerde kullanacağımı yerleştiremedim. Bakabilirseniz çok memnun olurum.
sdegirmenci Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 14:51   #4
hamitcan
Uzman
 
hamitcan kullanıcısının avatarı
 
Giriş: 01/07/2004
Mesaj: 6,532
Excel Vers. ve Dili:
Excel 2007 Türkçe
Varsayılan

Baktım ama kodunuz biraz karışık geldi. Tam olarak ne yapmak istediğinizi anlamadım.
hamitcan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 15:01   #5
sdegirmenci
Altın Üye
 
sdegirmenci kullanıcısının avatarı
 
Giriş: 30/11/2006
Şehir: Kastamonu
Mesaj: 521
Excel Vers. ve Dili:
OFFICE 2003 Türkçe
Varsayılan

Hocam;
ToggleButtona ilk tıkladığımızda boş zemin üzerine "İşin adı "vs. hücrelerini biçimlendiriyor.İkinci tıkladığımızda ise o hücrelerdeki verileri "ÖDENEK" sayfasına atması gerekiyor. Şu anda örnek olarak gönderdiğimden diğer düğmeleri sildim görünmüyor ama aynı alanı 4 ayrı ToggleButton altındaki farklı başlıklar için kullanıyorum. Hangi konuyla ilgili ToggleButton' u tıklarsam o konuyla ilgili hücreleri tekrar biçimlendiriyor.Kod çalıştığında aktarmayı yaptığı zaman o alan tekrar boş bir zemin haline geliyor.

Bu mesaj en son " 28-08-2009 " tarihinde saat 15:11 itibariyle sdegirmenci tarafından düzenlenmiştir....
sdegirmenci Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 15:17   #6
sdegirmenci
Altın Üye
 
sdegirmenci kullanıcısının avatarı
 
Giriş: 30/11/2006
Şehir: Kastamonu
Mesaj: 521
Excel Vers. ve Dili:
OFFICE 2003 Türkçe
Varsayılan

Hocam aslında bu kod çalışıyordu,Ödenek sayfasına atmak için yazılan kodları aylara ait sütunlara atması için değiştirdikten sonra hata vermeye başladı.
sdegirmenci Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 15:36   #7
hamitcan
Uzman
 
hamitcan kullanıcısının avatarı
 
Giriş: 01/07/2004
Mesaj: 6,532
Excel Vers. ve Dili:
Excel 2007 Türkçe
Varsayılan

Kodu biraz düzenledim. Veri doğrulama ve hücre birleştirmeleri kod ile neden yapmak istediğinizi anlamadım. Bence kodu baştan yazmak daha iyi. Ne yapmak istediğinizi kısa kısa sorun ve kodu bu şekilde geliştirin. Yoksa bu kodun içinden çıkmak zor.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub ToggleButton2_Click()
Dim SAYFA As Worksheet
Dim SUT As Integer

Application.ScreenUpdating = False
Excel.Application.Calculation = xlCalculationManual

If ToggleButton2.Value = True Then
 
    Range("AB34:AG34").Merge
    Range("AH34:AQ34").Merge
    Range("AB36:AG36").Merge
    Range("AH36:AQ36").Merge
    Range("AB38:AG38").Merge
    Range("AH38:AQ38").Merge
    Range("AB40:AG40").Merge
    Range("AH40:AQ40").Merge
    Range("AS34:AX34").Merge
    Range("AY34:BD34").Merge
    Range("AS36:AX36").Merge
    Range("AY36:BD36").Merge
    Range("AS38:AV38").Merge
    Range("AW38:AX38").Merge
    Range("AY38:BD38").Merge
    Range("AS40:AX40").Merge
    Range("AY40:BP40").Merge
    Range("BF34:BJ34").Merge
    Range("BK34:BP34").Merge
    Range("BF36:BJ36").Merge
    Range("BK36:BP36").Merge
    Range("BF38:BJ38").Merge
    Range("BK38:BP38").Merge
[AN32] = 2
[AB34] = "İşin Adı"
[AB36] = "Sektörü"
[AS34] = "Öden. Trh"
[AS36] = "Beld.Kodu"
[BF34] = "Tutar"
    
    Range("AH34").Select
'    With Selection.Validation
'        .Delete
'        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
'        xlBetween, Formula1:="=Yapılan_İşin_adı"
'        .IgnoreBlank = True
'        .InCellDropdown = True
'        .InputTitle = ""
'        .ErrorTitle = ""
'        .InputMessage = ""
'        .ErrorMessage = ""
'        .ShowInput = True
'        .ShowError = True
'    End With
'    Range("AH36").Select
'    With Selection.Validation
'        .Delete
'        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
'        xlBetween, Formula1:="=Sektör"
'        .IgnoreBlank = True
'        .InCellDropdown = True
'        .InputTitle = ""
'        .ErrorTitle = ""
'        .InputMessage = ""
'        .ErrorMessage = ""
'        .ShowInput = True
'        .ShowError = True
'    End With
'
'    End If
    Range("AH34").Select
Application.ScreenUpdating = True
Excel.Application.Calculation = xlCalculationAutomatic
 

Else

Set SAYFA = Sheets("Ödenek")
cevap = MsgBox("Y E N İ   Ö D E N E K  T U T A R I   A K T A R I L S I N M I  ?", vbYesNo)

For SUT = 4 To SAYFA.Cells(65536, "B").End(3).Row

Application.ScreenUpdating = False
If cevap = vbNo Then
Exit Sub
Else

If [cs3] = 1 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 5) = [BK34]
End If
If [cs3] = 2 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 6) = [BK34]
End If
If [cs3] = 3 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 7) = [BK34]
End If
If [cs3] = 4 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 8) = [BK34]
End If
If [cs3] = 5 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 9) = [BK34]
End If
If [cs3] = 6 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 10) = [BK34]
End If
If [cs3] = 7 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 11) = [BK34]
End If
If [cs3] = 8 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 12) = [BK34]
End If
If [cs3] = 9 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 13) = [BK34]
End If
If [cs3] = 10 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 14) = [BK34]
End If
If [cs3] = 11 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 15) = [BK34]
End If
If [cs3] = 12 And [D3] = SAYFA.Cells(SUT, "B") Then
SAYFA.Cells(SUT, "B").Offset(0, 16) = [BK34]
End If
End If
 Next
Range("AH34").Select
   Range("AB34:BP40").Select
'    With Selection.Validation
'        .Delete
'        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
'        :=xlBetween
'        .IgnoreBlank = True
'        .InCellDropdown = True
'        .ShowInput = True
'        .ShowError = True
'    End With
 Application.CommandBars("Forms").Visible = False
 [AN32] = ""
 Range("AB34:BP40").ClearContents
 Range("AB34:BP40").UnMerge
 Range("O16").Select
 Application.ScreenUpdating = True
Excel.Application.Calculation = xlCalculationAutomatic

End If


End Sub
hamitcan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 15:41   #8
sdegirmenci
Altın Üye
 
sdegirmenci kullanıcısının avatarı
 
Giriş: 30/11/2006
Şehir: Kastamonu
Mesaj: 521
Excel Vers. ve Dili:
OFFICE 2003 Türkçe
Varsayılan

Hocam Ellerinize sağlık tamamdır.Sizi uğraştırdım hakkınızı helal edin.Çok teşekkür ediyorum.İşleriniz kolay gelsin.
Veri doğrulamaları toggl buton başlığı ne ise onunla ilgili veri doğrma listesi açması için kullandım.
sdegirmenci Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-08-2009, 16:05   #9
hamitcan
Uzman
 
hamitcan kullanıcısının avatarı
 
Giriş: 01/07/2004
Mesaj: 6,532
Excel Vers. ve Dili:
Excel 2007 Türkçe
Varsayılan

Helal olsun. Ama fazla yardımcı olamadım. Kusura bakmayın.
hamitcan Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 07:46


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.


Bahis Forum - Termal Kemer - Define - Samsung Fernseher - Plastik - Excel Eğitim - Çorlu Kamera - Kırklareli Kız Yurdu - Kırklareli Kız Apart - Yurt Kırklareli - Kız Yurdu Kırklareli - Kız Öğrenci Yurdu Kırklareli - Kız Öğrenci Apart - Kırklareli Sembol - Kırklareli Pansiyon - Kırklareli Kız Apart - Kırklareli Kız Apart - Kırklareli Apart - Kırklareli Yurt - Kırklareli Kız Yurdu - Çorlu Demir Çelik - Kırklareli Kız Öğrenci - Çorlu Petek Temizleme
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden