HÜCRE DEĞERİ BOŞ İSE

Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
HÜCRE DEÐERÝ BOÞ ÝSE

merhaba arkadaşlar,

bir analiz sayfası oluşturmaya çalışıyorum ama; kopyala yapıştır kısmında sıkıntıya düştüm. makro gayet güzel çalışıyor fakat ben eğer "miktar" kısmı boş ise kullanıcıyı uyarmasını istiyorum. bu kodu nasıl yazarız?
bir ikinciside alt toplam aldıramadım. tek seferde alıyor ama çoğul yapamadım. yardımcı olursanız sevinirim.

iyi çalışmalar,
 
Katılım
8 Temmuz 2004
Mesajlar
254
Excel Vers. ve Dili
office 2007-mssql 2008 R2
selam,

Modül 2 deki Ekle2'yi bir parça değiştirdim. Bu işinizi görür herhalde.

Sub ekle2()
If Sheets(1).Cells(3, 5) = "" Then
MsgBox "dikkat dikkat birader miktarı boş geçiyon. Delikanlı ol miktarı boş geçemezsin. Cesedimi çiğnemeden miktarı boş geçirtmem"
Else

Rows("8:8").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Range("A3:F3").Select
Selection.Copy
Range("A8").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A8:F8").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

Selection.Interior.ColorIndex = 34
Selection.Font.ColorIndex = 51
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A1").Select
End If
End Sub
(bu arada programı açtım bi baktım makine ismimi söylüyo. Acaba ismimi nereden biliyo demeye kalmadı meğersem künyeyi görmüş(Vizontele'den))

Kolay gelsin.
 
Katılım
8 Temmuz 2004
Mesajlar
254
Excel Vers. ve Dili
office 2007-mssql 2008 R2
Selam,

İstediğiniz kodlar aşağıda eğer ekle2'yi bu şekilde değiştirirseniz istediğiniz 2 düzetlme de olacak.

Kod:
Sub ekle2()
If Sheets(1).Cells(3, 5) = "" Then
MsgBox "dikkat dikkat miktarı boş olamaz", vbCritical, "DİKKAT, DİKKAT"
Else

Rows("8:8").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Range("A3:F3").Select
Selection.Copy
Range("A8").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A8:F8").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

Selection.Interior.ColorIndex = 34
Selection.Font.ColorIndex = 51
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A1").Select
End If
If Sheets(1).Cells(9, 6) = "" Then
Sheets(1).Cells(9, 6).Formula = "=sum(f8:f8)"
Else
sira = Application.CountA(Sheets(1).Columns(6)) + 5
Sheets(1).Cells(sira - 1, 6).Formula = "=sum(f8:f" & sira - 2 & ")"
End If

End Sub
Kolay gelsin.
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
WAKKASSSS bey, yardımlarınız için teşekkürler.

kodları yukarıdaki gibi değiştirdim ama olmadı. nedenini bulamadım ama bana göre iki hata veriyor. birincisi hücre dolu olduğu halde boş muamelesi yapıyor ve mesaj box geliyor. ikincisi bu belki hata sayılmaz ama döngüsel başvuru haline getiriyor. bunu niye yapıyor onuda anlamadım.
programın son halini ekliyorum, ilk haline göre biraz değişiklikler var.

iyi çalışmalar,
 
Katılım
8 Temmuz 2004
Mesajlar
254
Excel Vers. ve Dili
office 2007-mssql 2008 R2
Selam,

Sorun ilk gönderdiğiniz dosya ile şimdi gönderdiğiniz dosya da ki farklılıklar. O yüzden yaptığım formüller yerine oturmuyor:( Formülleri ilk gönderdiğiniz dosyaya uygularsanız bir sorun kalmıyacaktır aslında. Bu arada o dosyadan bakarak bence nasıl yapılmış olduğuna bakarak yeni dosyaya uygulayın. takıldığınız yerde yardımcı olmaya çalışalım.

Kolay gelsin.
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
merhaba WAKKASSSS bey,

toplama problemini farklı bir makro yazarak aştım. proğram dediğiniz gibi foruma ilk gönderdiğime göre bayağı ilerledi. şimdi toplam yapılmış son halini ekliyorum fakat bu proğramdaki eksiklerden bir taneside farklı kaydet.
kitap olarak farklı kaydet yapabiliyorum ama kendi içerisinde farklı kaydet yapacak ve sayfa ismine "model" (a4) ismini atacak makroyu oluşturamadım.
yardımcı olursanız sevinirim,

iyi çalışmalar,
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
arkadaşlar merhaba,

makro ile sayfa kopyalama nasıl yapılıyor?
sitedeki örnekleri inceledim ama bulamadım.
benim istediğim tam olarak kitap içerisindeki "maliyet" sayfasının aynısından bir tane kopyalasın ve sayfa isminede (a4) teki "model" ismini versin.

yardımlarınızı bekliyorum,

iyi çalışmalar,
 
Katılım
3 Mart 2005
Mesajlar
120
Þöyle bir kod önerebilirim
Sheets("maliyet").Copy Before:=Sheets(1)
Sheets("maliyet (2)").Name = Worksheets ("maliyet").Cells (1,4).Value
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
keniken' Alıntı:
Þöyle bir kod önerebilirim
Sheets("maliyet").Copy Before:=Sheets(1)
Sheets("maliyet (2)").Name = Worksheets ("maliyet").Cells (1,4).Value
sayın keniken,
kod gayet güzel çalışıyor fakat bir sorun var, ilk seferde ismi veriyor, ikinci bir seferde model değişik bile olsa kodu kırıyor. sebebi ne olabilir? veya sizde çalışıyormuydu? yardımlarınızı bekliyorum,

iyi çalışmalar,
 
Katılım
3 Mart 2005
Mesajlar
120
Aynı kitapta aynı isimden iki sayfa olamaz..Eğer aynı ismi vermeye çalışıyorsanız sorun ordan çıkıyor olabilir..
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
keniken' Alıntı:
Aynı kitapta aynı isimden iki sayfa olamaz..Eğer aynı ismi vermeye çalışıyorsanız sorun ordan çıkıyor olabilir..
DEÐİÞTİRDİÐİMDE DE BİR ÞEY DEÐİÞMİYOR, YİNE KODU KIRIYOR.
HATTA TÜM KOPYA SAYFALARI SİLİP YENİDEN ÇALIÞTIRIYORUM MAKROYU İLK SEFERDE ÇALIÞIYOR, AMA SONRA HATA VERİYOR.

İYİ ÇALIÞMALAR,
 
Katılım
3 Mart 2005
Mesajlar
120
bi de şöyle deneyin

Sheets("maliyet").Copy Before:=Sheets(1)
Sheets("maliyet (2)").Name = Worksheets("maliyet").Cells(4, 1).Text

Fakat isim olarak maliyet sayfasının A4 hücresine baktığından tekrar aynı ismi başka bir sayfaya veremez. Kodu her çalıştırdığınızda bu hücredeki değeri değiştirmeniz gerekir.
 
Katılım
13 Temmuz 2005
Mesajlar
345
Altın Üyelik Bitiş Tarihi
28.05.2019
teşekkürler ilginize,

kitap en son şu aşamaya geldi, sayfa ismini bana sorarak kopyalama yapıyor fakat bu seferde makro "maliyet" sayfasını yeni sayfaya yapıştırırken resim gibi görüyor. ekte son halini yolluyorum incelerseniz daha güzel olacak.

iyi çalışmalar,
 
Katılım
5 Ağustos 2005
Mesajlar
2
IsEmpty 'Yani hücrenin boş olup olmadığını sorgulamak

Sub Bos_metinkutusu()
dim a
a=textbox1.value
if IsEmpty(a) then
Msgbox ("Kayıt daha önce oluşturuldu")
end if
end Sub

Kodlara baktım ve hiç birşey anlamadım bir değerin boş olup olmadığı yukarıdaki yordamla değerlendirilir
değerleri kafana göre değiştir
sayfanda çok kod var satır yüksekliği ile ilgili bile kod var ve bence çalışmalarını çalabilirler en azından şifre koy ve sayılı kişilere ver...
başarılar
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2016 Excel Tr
bay_özgür, ün "... bence çalışmalarını çalabilirler... " lafını yeni üye olduğuna ve bu siteyi ve bu sitenin ruhunu tanımadığına sayalım.
Demek bazı arkadaşların çalışmalarında ki makro ve kodların çokluğunu ve yaptığı işlevleri görseymiş. LİSANSLA veya PATENT al diyecekmiş. :lol:
 
Üst