• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Yardım excel satırdakı verileri şablon halıne getirme

sinyor491

Yeni Üye
Katılım
4 Ara 2024
Mesajlar
1
En iyi yanıt
0
Puanları
1
Yaş
32
Konum
istanbul
Ad Soyad
lütfü bıçak
Office Vers.
2016
merhaba gider pusulalarımız matbuu evrak halındedır matbadan basılmıs bos formlardır elle yazmak yerıne yazıcıdan prınt ederek işimizi hızlandırmak ıstıyoruz
verilerimiz excelde mevcuttur.
1. satırdakı verileri otomatık olarak forma cekebılecek bır makro yada yonteme ıhtıyacımız var.
örnek olarak

isim soyısım - ürün - ft numarası - adres - tarıh - ürün- mıktar- tutar kısımlarını otomatık olarak doldurtmam gerekıyor. yoksa tek tek kopyala yapıstır yaparak tta zaman kaybedıyoruz keza 1000 tane den fazla doldurmam gereken gıder pusulam mevcut.

dogru kelımeler ıle arayamadıgımdan olabılır işimi görecek bır yontem bulamadım yardımcı olabılırsenız cok sevınırım
 

Ekli dosyalar

  • cekılmesı gerek örnek şablon.png
    cekılmesı gerek örnek şablon.png
    10.5 KB · Görüntüleme: 6
  • verıler.png
    verıler.png
    21.8 KB · Görüntüleme: 5

karakan

Yeni Üye
Katılım
14 Şub 2024
Mesajlar
21
En iyi yanıt
0
Puanları
3
Yaş
49
Konum
ankara
Ad Soyad
Yasin Kara
Office Vers.
2016
İsimlerin hepsi tek pusulada mı olacak yoksa printten sonra 2.sarırdaki veriler mi gelecek
 

eternalferit

Yeni Üye
Katılım
4 Eki 2024
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
36
Konum
istanbul
Ad Soyad
ferit kuru
Office Vers.
office 365tr
Sub VeriToSablon()
Dim wsVeri As Worksheet
Dim wsSab As Worksheet
Dim sonSatir As Long
Dim i As Long
Dim sablonBaslangic As Long
Dim blokYuksekligi As Long
Dim kayitSayisi As Long
Dim musteriSutun As Integer, urunSutun As Integer, barkodSutun As Integer
Dim siparisSutun As Integer, faturaSutun As Integer, fiyatSutun As Integer
Dim kdvSutun As Integer, giderSutun As Integer, kullanımSutun As Integer
Dim tarihSutun As Integer
Dim musteriHucresi As String, tarihHucresi As String
Dim urunHucresi As String, faturaHucresi As String, tutarHucresi As String
Dim paperSize As Integer ' Makroda değiştirilebilir: A5=11, A4=1, A3=8 vb.

On Error GoTo HataYakala

' Sayfa boyutu ayarı (makroda değiştir: A5 için 11, A4 için 1, A3 için 8 vb.)
paperSize = 11 ' A5 boyutu (değiştirilebilir)

' Sayfaları ata
Set wsVeri = ThisWorkbook.Sheets("VERI")
Set wsSab = ThisWorkbook.Sheets("SABLON")

' Veri sayfasındaki son satırı bul (A sütunu baz alınarak, başlık satırı 1 varsayımı)
sonSatir = wsVeri.Cells(wsVeri.Rows.Count, "A").End(xlUp).Row

' Şablon başlangıç satırı
sablonBaslangic = 1

' Her şablon bloğunun yüksekliği (görüntüye göre ~21 satır, değiştirilebilir)
blokYuksekligi = 21 ' A5 için blok yüksekliği, makroda değiştir

' Sütun genişlikleri (A'dan I'ya kadar, makroda her birini değiştirilebilir)
Dim AGenislik As Single: AGenislik = 8 ' A sütunu genişliği (etiketler için)
Dim BGenislik As Single: BGenislik = 25 ' B sütunu (veri için)
Dim CGenislik As Single: CGenislik = 12 ' C sütunu (barkod veya ek veri için)
Dim DGenislik As Single: DGenislik = 15 ' D sütunu (sipariş no için)
Dim EGenislik As Single: EGenislik = 14 ' E sütunu (fatura no için)
Dim FGenislik As Single: FGenislik = 12 ' F sütunu (tutar için)
Dim GGenislik As Single: GGenislik = 10 ' G sütunu (KDV için)
Dim HGenislik As Single: HGenislik = 11 ' H sütunu (gider için)
Dim IGenislik As Single: IGenislik = 15 ' I sütunu (tarih için)

' VERI sütun numaraları (makroda değiştirilebilir)
musteriSutun = 1 ' A: Müşteri
urunSutun = 2 ' B: Ürün
barkodSutun = 3 ' C: Barkod (kullanılmayabilir)
siparisSutun = 4 ' D: Sipariş No
faturaSutun = 5 ' E: Fatura No
fiyatSutun = 6 ' F: Fiyat (tutar için kullanılabilir)
kdvSutun = 7 ' G: KDV
giderSutun = 8 ' H: Gider
kullanımSutun = 9 ' I: Kullanım
tarihSutun = 9 ' I: Pusula Tarihi (Düzeltme: J yerine I sütunu için 9 olarak değiştirildi)

' SABLON hücre pozisyonları (veri için, makroda değiştirilebilir)
musteriHucresi = "B3" ' Müşteri verisi (A3 etiketi yanında)
tarihHucresi = "I2" ' Tarih verisi (H2 etiketi yanında)
urunHucresi = "B10" ' Ürün verisi
faturaHucresi = "B11" ' Fatura No verisi
tutarHucresi = "I19" ' Tutar verisi (H19 etiketi yanında)

' Mevcut şablon sayfasını temizle
wsSab.Cells.Clear

kayitSayisi = 0

' Her veri satırı için döngü (başlık satırını atla, 2'den başla)
For i = 2 To sonSatir
' Filtrelenmiş satırları kontrol et: Sadece görünen satırları işle
If wsVeri.Rows(i).Hidden = False Then
' Sabit etiketleri yaz (her blok için)
wsSab.Range("A3").Offset(kayitSayisi * blokYuksekligi, 0).Value = "Müşteri Bilgileri:"
wsSab.Range("A10").Offset(kayitSayisi * blokYuksekligi, 0).Value = "Ürün:"
wsSab.Range("A11").Offset(kayitSayisi * blokYuksekligi, 0).Value = "Fatura No"
wsSab.Range("H2").Offset(kayitSayisi * blokYuksekligi, 0).Value = "Tarih"
wsSab.Range("H19").Offset(kayitSayisi * blokYuksekligi, 0).Value = "Tutar"

' Sayfa boyutu ölçüsünü yaz (her bloğun altına, A21'e)
Dim sayfaOlcu As String
If paperSize = 11 Then
sayfaOlcu = "A5 Boyut: 14.8 x 21 cm"
ElseIf paperSize = 1 Then
sayfaOlcu = "A4 Boyut: 21 x 29.7 cm"
ElseIf paperSize = 8 Then
sayfaOlcu = "A3 Boyut: 29.7 x 42 cm"
Else
sayfaOlcu = "Özel Boyut"
End If
wsSab.Range("A21").Offset(kayitSayisi * blokYuksekligi, 0).Value = sayfaOlcu

' Veri doldurma: Sütunlara göre
' Müşteri
wsSab.Range(musteriHucresi).Offset(kayitSayisi * blokYuksekligi, 0).Value = wsVeri.Cells(i, musteriSutun).Value

' Tarih (Pusula Tarihi) - Artık I sütunundan (satır i) doğru şekilde çekiliyor
wsSab.Range(tarihHucresi).Offset(kayitSayisi * blokYuksekligi, 0).Value = wsVeri.Cells(i, tarihSutun).Value
wsSab.Range(tarihHucresi).Offset(kayitSayisi * blokYuksekligi, 0).NumberFormat = "dd.mm.yyyy" ' Tarih formatı

' Ürün
wsSab.Range(urunHucresi).Offset(kayitSayisi * blokYuksekligi, 0).Value = wsVeri.Cells(i, urunSutun).Value
' Eğer barkod eklemek istersen: wsSab.Range("B12").Offset(...).Value = wsVeri.Cells(i, barkodSutun).Value

' Fatura No
wsSab.Range(faturaHucresi).Offset(kayitSayisi * blokYuksekligi, 0).Value = wsVeri.Cells(i, faturaSutun).Value

' Tutar (Fiyat sütunundan)
wsSab.Range(tutarHucresi).Offset(kayitSayisi * blokYuksekligi, 0).Value = wsVeri.Cells(i, fiyatSutun).Value
wsSab.Range(tutarHucresi).Offset(kayitSayisi * blokYuksekligi, 0).NumberFormat = "#,##0.00" ' Para formatı

' Diğer sütunlar (örneğin KDV, Gider eklemek istersen buraya ekle)
' wsSab.Range("B13").Offset(...).Value = wsVeri.Cells(i, kdvSutun).Value

' Kayıt sayısını artır
kayitSayisi = kayitSayisi + 1
End If
Next i

' Sütun genişliklerini ayarla (A'dan I'ya kadar, A5 için optimize)
wsSab.Columns("A").ColumnWidth = AGenislik
wsSab.Columns("B").ColumnWidth = BGenislik
wsSab.Columns("C").ColumnWidth = CGenislik
wsSab.Columns("D").ColumnWidth = DGenislik
wsSab.Columns("E").ColumnWidth = EGenislik
wsSab.Columns("F").ColumnWidth = FGenislik
wsSab.Columns("G").ColumnWidth = GGenislik
wsSab.Columns("H").ColumnWidth = HGenislik
wsSab.Columns("I").ColumnWidth = IGenislik
' J sütunu için: wsSab.Columns("J").AutoFit ' Otomatik ayarla (gerekirse ekle)

' Sayfa boyutunu makroda belirlenen değere ayarla
With wsSab.PageSetup
.PaperSize = paperSize ' Makroda değiştirilen değer (A5=11 vb.)
.Orientation = xlPortrait
.FitToPagesWide = 1
.FitToPagesTall = kayitSayisi ' Her blok A5 yüksekliğinde, toplam sayfaya sığdır (veya False için uzun sayfa)
.PrintArea = wsSab.Range("A1").Resize(kayitSayisi * blokYuksekligi + 1, 10).Address ' Ölçü satırı dahil +1 satır
.LeftMargin = Application.InchesToPoints(0.2)
.RightMargin = Application.InchesToPoints(0.2)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.4)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
End With

Application.CutCopyMode = False
MsgBox "Veriler SABLON'a aktarıldı! Sayfa boyutu: " & sayfaOlcu & ". Her satır için 1 blok. Toplam " & kayitSayisi & " kayıt."
Exit Sub

HataYakala:
MsgBox "Hata: " & Err.Description
End Sub

bu kodu inceleyip kendine göre değişiklik yaparsan problem çözülecektir.
seçtiğin satıra göre pusula oluşturur filtreden
 
Üst Alt