• DİKKAT

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

Otomatik Numara

Katılım
29 Ocak 2006
Mesajlar
12
Hazırladığım bir excel sayfasına otomatik seri numara vermek istiyorum her çıktıda seri numara devam edecek faturalarda olduğu gibi böyle bir şey mümkünmü ?
 
Selamlar,

Aşağıdaki kodu ThisWorkbook kısmına uygulayın....

Private Sub Workbook_BeforePrint(Cancel As Boolean)
[A1].Value = [A1].Value + 1
End Sub

Belgenizi yazdırmak istediğinizde A1 hücresindeki değeri 1 arttırır.
 
Private Sub Workbook_BeforePrint(Cancel As Boolean)
[A1].Value = [A1].Value + 1
End Sub

Yukarıdaki kod her baskı önizlemede, sayfayı yazdırmasanızda değeri artırıyor.
bunun yerine makro kaydedip sayfada oluşturulacak butona atamak daha uygun gibi gözüküyor.

Sub yazdır()
[A1].Value = [A1].Value + 1
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
End Sub
 
merhaba arkadaşlar

cost control arkadaşın belirttiği çözüm sorunumu çözdü ancak. ben ilgili hücreye koruma da koymak istiyorum. bu noktada makro run time error 1004 hatası veriyor. korumaya rağmen hücrenin her çıktıdan sonra bir değer artmasını nasıl sağlayabilirim

şimdiden teşekkürler
 
Selamlar,

Yalnız aşağıdaki kod önizleme yapıncada değeri 1 arttırıyor bilginize....

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.Unprotect "SİZİN SAYFA KORUMA ÞİFRENİZ"
[A1].Value = [A1].Value + 1
ActiveSheet.Protect "SİZİN SAYFA KORUMA ÞİFRENİZ"
End Sub
 
Yazdırılan her kopyada sayıyı arttırmak mümkün değil mi? Yani 10 kopya yazdır dediğimde her kopyada da sayının otomatik artması?
 
cangurcan' Alıntı:
Yazdırılan her kopyada sayıyı arttırmak mümkün değil mi? Yani 10 kopya yazdır dediğimde her kopyada da sayının otomatik artması?
aşağıdaki kodu bir module kopyalayıp daha sonra bir butona bağlayıp deneyin

Saygılar Sevgiler
Çalışmalarınızda Başarılar Dilerim.

[vb:1:2024ebc54d]Sub deneme()
On Error GoTo son
Dim i, yon As Integer
yon = InputBox("yazdırılacak sayıyı giriniz", "Yazdır")
If Not IsNumeric(yon) Then
GoTo son
End If
ActiveSheet.Unprotect "1"
For i = 1 To yon
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
[a1].Value = [a1].Value + 1
Application.Wait Now + TimeValue("00:00:01")
Next i
ActiveSheet.Protect "1"
son:
End Sub
[/vb:1:2024ebc54d]

sayfa koruma sifresi 1 olarak belirlenmiştir siz kendinize uyarlayınız
edit : eğer yazdırmadan önce değerin artırılmasını istiyorsanız
ve eğerki bu artırılan sayıda yazdırma alanı içerisinde kalıyorsa artırılmış olması önem kazanır

buna göre for i satırından sonra ya aşağıdaki kodu ekleyip alttaki aynı satırı silin
[vb:1:2024ebc54d][a1].Value = [a1].Value + 1
[/vb:1:2024ebc54d]
 
excel otomatik numara

merhaba sayın ustalar ben excel'de her print out almak istediğimde 4 ayrı hücrenin ve 1 hücrenin numarasını değiştirebilecek iki ayrı örnek excel dosyası arıyorum yardımcı olabilirmisiniz? teşekkürler
 
merhaba sayın ustalar ben excel'de her print out almak istediğimde 4 ayrı hücrenin ve 1 hücrenin numarasını değiştirebilecek iki ayrı örnek excel dosyası arıyorum yardımcı olabilirmisiniz? teşekkürler

Merhaba,

6 numaralı mesajda tek hücre değerinin arttırılmasına örnek kodlar zaten verilmiş, siz kendinize göre günleyiniz.
 
Merhabalar,

Konuyu hortlatmış gibi olacağım ama, yukarıdaki kodları sayfama uyarladığım da hiç bir değişiklik olmuyor.

Şöyle ki,
Uzun zamandır B1 e manuel olarak 1 den 11 e kadar sayı girişi yapıyorum her sayı girmemde çıktı alıyorum. Bunu otomatik yaptırabilir miyim diye araştırdığımda bir kaç kod buldum ancak işe yaramadı.

B1 e girilen sayı yazdırıldıktan sonra B1 de ki değerin otomatik artması mümkün müdür?

İlginize şimdiden teşekkür ederim.
 
Kod:
Sub arttır_yazdır()
For i = 1 To 11
[B1] = i
PrintOut
Next
End Sub

Şeklinde deneyin.
 
Çok teşekkür ederim. Denedim çalışıyor.

Yalnız excel de 2 sayfa var "anasayfa" ve "imza" adlarında bütün sayfaları yazdırdı :D biraz kağıt israfı oldu bir anda.

Sadece imza sayfasındaki B1 de arttırınca yazdırılması mümkün mü?
 
Kod:
PrintOut

yerine

Kod:
ActiveSheet.PrintOut

ya da yazdırılacak sayfa hangisiyse

Kod:
Sheets("[COLOR="Red"]imza[/COLOR]").PrintOut

Şeklinde deneyin. Kırmızı kısım sayfa adıdır ve aynen dosyanızdaki gibi yazılmalıdır, büyük küçük harf duyarlıdır.
 
Evet işte bu, değerli yardımınız çok teşekkür ederim. (Allah (cc) razı olsun.)

Saygılarımla.
 
Sayın @YUSUF44, şimdi fark ettim, rakamlara bakınca direk çalıştı demiştim. Kusuruma bakmayınız.

B1 e elle 1 yazınca personel bilgisi çekiyor ve o kişinin imza fişini çıkartıyor, 2 yazınca yine farklı personel.

Ancak bu şekilde aynı sayfa personel bilgilerini çekemeden sadece numaralar değişerek çıkmış oldu. :(

İlginize şimdiden teşekkür ederim.
 
Örnek dosya eklerseniz iyi olur. Ezbere yapmak gördüğünüz üzere işi uzatıyor ve çözüme de ulaşmıyor. Dosya yükleme sitelerinden birine yükleyip burada paylaşabilirsiniz.
 
Merhaba @YUSUF44 Bey,

Biraz geç oldu, link aşağıdadır.

İlginize teşekkürler.
 
Son düzenleme:
Bunun sebebi sıra numarasını "metin" olarak biçimlendirmeniz. Hem anasayfada B sütununu hem de imza sayfasında B1 hücresinin biçimini genel ya da sayı yaparsanız düzgün çalışacaktır. Ya da metin olarak kalsın diyorsanız aşağıdaki gibi kullanın:

Sub arttır_yazdır()
For i = 1 To 11
[B1] = WorksheetFunction.Text(i, "0")
Sheets("imza").PrintOut
Next
End Sub
 
Geri
Üst