• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücre boş ise geçmesin

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
iyi günler; sitede değişik örnekler gördüm ama kendi çalışmama uygulayamadım. I2 hücresinde veri doğrulama ile döviz cinsi seçiyorum. işlem sırasında unutarak seçmediğim de oluyor. bu kısımda mutlaka seçim yapmam gerekiyor. veri doğrulama olduğu için , veri doğrulama ile boş geçmeme formülü giremiyorum. I2 hücresinde seçim yapılmadan J hücresine kursörün gitmemesi gerekiyor. J hücresinde makro tetiklenip çalışıyor. Teşekkürler
 

Ekli dosyalar

  • BOS HUCRE.jpg
    BOS HUCRE.jpg
    70.5 KB · Görüntüleme: 12
Sayfanın adına sağ tıklayıp kod görüntüle seçin ve şunları kopyalayarak o bölüme yapıştırın, save edin

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Sheets("sayfa1").Range("h2") <> "" And Sheets("sayfa1").Range("I2") = "" Then
MsgBox " Kur cinsini seçmeyi unutmayın"
Range("I2").Activate
 
End If
End Sub

H2 yazılıp entera bastığınızda uyarı gelir ve I2 hücresine odaklanır... J2 ile bir bağlantısı bu durumda olmayacaktır.
Sayfa adı " sayfa1 değilse , siz düzeltin ...
 
Son düzenleme:
sorun çözülmüyor

Sayfanın adına sağ tıklayıp kod görüntüle seçin ve şunları kopyalayarak o bölüme yapıştırın, save edin

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Sheets("sayfa1").Range("h2") <> "" And Sheets("sayfa1").Range("I2") = "" Then
MsgBox " Kur cinsini seçmeyi unutmayın"
Range("I2").Activate
 
End If
End Sub

H2 yazılıp entera bastığınızda uyarı gelir ve I2 hücresine odaklanır... J2 ile bir bağlantısı bu durumda olmayacaktır.
Sayfa adı " sayfa1 değilse , siz düzeltin ...

H2 hücresinde =EĞERHATA(F2/G2;"") formülü var yani Kuru hesaplıyor. Dediğiniz işlemi yapınca bu formül çalışmıyor. Yani sorun çözülmüyor.
 
Merhaba.

Örnek belge yerine ekran görüntüsü üzerinden destek istenmesinin sonucu malesef bu.
Sorunuzu gerçek belgenizin bir örneği üzerinden sorarsanız, çözüme daha hızlı ve kesin şekilde ulaşmanız kolaylaşır.
.
 
örnek dosya

Merhaba.

Örnek belge yerine ekran görüntüsü üzerinden destek istenmesinin sonucu malesef bu.
Sorunuzu gerçek belgenizin bir örneği üzerinden sorarsanız, çözüme daha hızlı ve kesin şekilde ulaşmanız kolaylaşır.
.

dosya geniş olduğu için kafa karıştırmasın diye resmini yüklemiştim. ama demek yeterli olmuyor.
 

Ekli dosyalar

  • bos_geçmeme.jpg
    bos_geçmeme.jpg
    77 KB · Görüntüleme: 1
  • Kitap1.xlsx
    Kitap1.xlsx
    14.7 KB · Görüntüleme: 5
Son düzenleme:
Yanlış anlaşılmasın

Kimse Hogward mezunu değil ki ...

Yanış anlaşılmasın, sorun benim yüklediğim resimde, yani benim eksik bilgi vermemde. yoksa o hücrede formül olduğunu kimsenin bilmesi mümkün değil. Tekrar yanlış anlama varsa özür dilerim.
 
"Gerçek belgenizin bir örneği" derken kastım, hakikaten gerçek belgenizin bir örneği idi.
Belgede, iki adet DÜĞME olduğuna göre, kullanılan makro/makrolar var.

İçeriğini bilmediğimiz kullandığınız mevcut kodlar ile verilecek kod cevapları tekrar sıkıntıya neden olabilir.

Ayrıca; J hücresine gidilememesini istediğinize göre belki de
Worksheet_SelectionChange kodları var ve J sütunu seçildiğinde bu kodlar işlem yapıyordur,
I sütunu boş olduğunda bu kodlarda sorun çıkıyordur.
vs. vs.

Amaç eğer bir alt satıra veri girilmesini engellemek ise; kod kullanmadan da birşeyler yapılabilir.

Herneyse, gerçek belgeyle aynı yapıda ve varsa kullanılan userform/makro/formüller
içerisinde ve çalışır durumda olacak şekilde örnek belge yüklemenizi öneriyorum.
I sütunu boş geçildiğinde oluşan hata nedir bilemiyoruz.

Bu cevapla birlikte konu sayfasındaki mesaj sayısı 8 oluyor ve 1 adım bile mesafe alınmış değil.
.
 
örnek dosya

"Gerçek belgenizin bir örneği" derken kastım, hakikaten gerçek belgenizin bir örneği idi.
Belgede, iki adet DÜĞME olduğuna göre, kullanılan makro/makrolar var.

İçeriğini bilmediğimiz kullandığınız mevcut kodlar ile verilecek kod cevapları tekrar sıkıntıya neden olabilir.

Ayrıca; J hücresine gidilememesini istediğinize göre belki de
Worksheet_SelectionChange kodları var ve J sütunu seçildiğinde bu kodlar işlem yapıyordur,
I sütunu boş olduğunda bu kodlarda sorun çıkıyordur.
vs. vs.

Amaç eğer bir alt satıra veri girilmesini engellemek ise; kod kullanmadan da birşeyler yapılabilir.

Herneyse, gerçek belgeyle aynı yapıda ve varsa kullanılan userform/makro/formüller
içerisinde ve çalışır durumda olacak şekilde örnek belge yüklemenizi öneriyorum.
I sütunu boş geçildiğinde oluşan hata nedir bilemiyoruz.

Bu cevapla birlikte konu sayfasındaki mesaj sayısı 8 oluyor ve 1 adım bile mesafe alınmış değil.
.

10 mb geçtiği için siteye yükleyemediğim için ilgili sayfayı yüklemiştim. gereksiz sayfaları silip kullanacağım şekilde yükledim.
 

Ekli dosyalar

Tekrar merhaba.

Sadece İHRACAT_KYT ile ilgili olarak dosyanıza baktım.
Anladığım kadarıyla 2'nci satırda hiçbir alanın BOŞ BIRAKILAMAMASINI istiyorsunuz.
Eğer isteğiniz bu ise Module1'de mevcut ihracat_kayit makrosunu aşağıdakiyle değiştirin.

Eksik bilgi olduğunda; kayıt yapılmaz, bir uyarı görüntülenir, soldan sağa ilk boş hücre aktif hale getirilir.

ithalat_kayit makrosu için, gerekli düzenlemeyi kendiniz yapabilirsiniz sanırım.
.
Kod:
[B][COLOR="Red"]Sub ihracat_kayit()[/COLOR][/B]
' ihracat kayıt
Set ihrk = Sheets("[B]IHRACAT_KYT[/B]")
Set ihr = Sheets("[B]IHRACAT[/B]")
If WorksheetFunction.CountBlank(ihrk.Range("B2:I2")) > 0 Then
    MsgBox "2'nci satırdaki tüm alanlara veri girişi yapılmalıdır." & vbLf & _
            "Eksik bilgiler tamamlanmadan KAYIT YAPILAMAZ!...", vbCritical, "..::.. Ömer BARAN ..::.."
    For sut = 2 To 9
        If ihrk.Cells(2, sut) = "" Then
            ihrk.Cells(2, sut).Activate: Exit Sub
        End If
    Next
End If
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
    ihrk.Range("B2:I2").Copy
    ihr.Cells(ihr.Cells(Rows.Count, "B").End(xlUp).Row + 1, "B").PasteSpecial Paste:=xlPasteValues
    ihr.Range("B2:J" & Rows.Count).Sort Key1:=ihr.Range("C1"), Order1:=xlAscending
    ihrk.Range("B2:G2, I2").ClearContents
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
    ihrk.[B2].Activate
MsgBox "Kayıt işlemi yapıldı, sayfa yeni kayıt için hazır.", vbInformation, "..::.. Ömer BARAN ..::.."
[B][COLOR="red"]End Sub[/COLOR][/B]
 
sorunsuz çalışıyor

Tekrar merhaba.

Sadece İHRACAT_KYT ile ilgili olarak dosyanıza baktım.
Anladığım kadarıyla 2'nci satırda hiçbir alanın BOŞ BIRAKILAMAMASINI istiyorsunuz.
Eğer isteğiniz bu ise Module1'de mevcut ihracat_kayit makrosunu aşağıdakiyle değiştirin.

Eksik bilgi olduğunda; kayıt yapılmaz, bir uyarı görüntülenir, soldan sağa ilk boş hücre aktif hale getirilir.

ithalat_kayit makrosu için, gerekli düzenlemeyi kendiniz yapabilirsiniz sanırım.
.
Kod:
[B][COLOR="Red"]Sub ihracat_kayit()[/COLOR][/B]
' ihracat kayıt
Set ihrk = Sheets("[B]IHRACAT_KYT[/B]")
Set ihr = Sheets("[B]IHRACAT[/B]")
If WorksheetFunction.CountBlank(ihrk.Range("B2:I2")) > 0 Then
    MsgBox "2'nci satırdaki tüm alanlara veri girişi yapılmalıdır." & vbLf & _
            "Eksik bilgiler tamamlanmadan KAYIT YAPILAMAZ!...", vbCritical, "..::.. Ömer BARAN ..::.."
    For sut = 2 To 9
        If ihrk.Cells(2, sut) = "" Then
            ihrk.Cells(2, sut).Activate: Exit Sub
        End If
    Next
End If
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
    ihrk.Range("B2:I2").Copy
    ihr.Cells(ihr.Cells(Rows.Count, "B").End(xlUp).Row + 1, "B").PasteSpecial Paste:=xlPasteValues
    ihr.Range("B2:J" & Rows.Count).Sort Key1:=ihr.Range("C1"), Order1:=xlAscending
    ihrk.Range("B2:G2, I2").ClearContents
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
    ihrk.[B2].Activate
MsgBox "Kayıt işlemi yapıldı, sayfa yeni kayıt için hazır.", vbInformation, "..::.. Ömer BARAN ..::.."
[B][COLOR="red"]End Sub[/COLOR][/B]
Teşekkürler, sorunsuz çalışıyor.
 
Geri
Üst