• DİKKAT

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

Rapor dosyası oluşturma

Katılım
21 Şubat 2013
Mesajlar
33
Excel Vers. ve Dili
Excel 2013 - Eng
Merhaba,
Sheet1 içine birkaç textbox ve combobox koydum. Bunları dolduran kullanıcı EKLE düğmesiyle Sheet2'ye veri yollamış olacak ve sheet2'de de sütunlar halinde hazırlanacak.

Şu kodu yazdım:

Kod:
Private Sub CommandButton1_Click()

Dim Satir As Long, Say As Byte
Satir = Range("A65536").End(3).Row + 1
Sheets("rapor").Cells(Satir, "D") = TextBox1.Text
TextBox1.Text = ""

Sheets("rapor").Cells(Satir, "B") = ComboBox1.Value
ComboBox1.Value = "----"

MsgBox "Ekleme İşlemi Tamamlanmıştır. Şimdi KAYDET'e basınız"


End Sub


Private Sub Workbook_Open()

ComboBox1.ListFillRange = "list!$A$1:$A$50"
ComboBox2.ListFillRange = "list!$G$1:$G$20"
ComboBox3.ListFillRange = "list!$K$1:$K$3"
TextBox7.Text = DateTime.Now.ToShortDateString()

End Sub

Private Sub TextBox7_Change()
TextBox7 = Format(TextBox7, "dd""/""mm""/""yyyy")
End Sub

iki sorunum var,
1) workbook_open komutu işe yaramıyor. Tarih bilgisi gelmiyor
2) "ekle"ye basıldığında sheet2'deki 2. satıra yazması lazımken 21. satıra yazıyor.

İş yerinde Excel 2010 var, evde excel 2013. İş yerinde ekle komutunda sıkıntı yoktu. Acaba sürümle mi alakalı?

Proje boyunca sorularıma bu başlıkta devam edeceğim, şimdiden sabrınız için teşekkürler.
 
Son düzenleme:
tarih kısmını şöyle çözdüm:

Kod:
Private Sub TextBox7_Change()
TextBox7.Text = DateTime.Now()
TextBox7 = Format(TextBox7, "dd""/""mm""/""yyyy")
End Sub

ancak sanırım hala workbook_open() komutu çalışmıyor.



21. satır olayının da mantığını anladım, çünkü sheet1'de yer alan textbox ve combobox'lar 21. sıraya kadar uzanıyor. Üstten 2 yeni satır ekledim bu sefer de sheet2'deki 23. satıra yazmaya başladı. ancak üstüste yazıyor, yani her eklediğini 21. satıra yazıyor. bunu nasıl aşabilirim?

user form kullanırsam bu işi çözebilir miyim ki?
 
Son düzenleme:
Merhaba
Kod:
Satir = Range("A65536").End(3).Row + 1
Bu kod ile A sütunun son dolu satırın bir üstünü bulmuşsunuz. Ve buna göre kayıt yaptırıyorsunuz. A sütununda 21. satırda bir şekilde kayıt oluşmuş onu silerseniz istediğiniz yere kayıt yapmaya başlar.
workbook_open deneme yapmalıyız. Dosyanızı eklerseniz
 
Dosya evde olduğu için şimdi yükleyemeyeceğim ama akşam yüklerim kesin.

Aslına bakarsanız "sheet1"de form var (box'ların olduğu) ve 20. satıra kadar dolu. Ancak benim yazdırmak istediğim yer "sheet2". Bu mantığa göre bu kod, sheet1'deki son boş satırı bulup, sheet2'deki aynı yere yazıyor. Yani ufak bir değişiklikle olacak sanırım (ama o değişikliği bilemedim :) ).

Şöyle bir şeyle çözülür mü ki?
Kod:
Satir = Sheets("sheet2").Range("A65536").End(3).Row + 1


Ayrıca "workbook_open" kodunu da vb'deki "workbook"un içine yazmam lazım sanırım. Ben Sheet1 içindeki kodların arasına yazmıştım. Sanırım o yüzden okumuyor.
 
Dosya evde olduğu için şimdi yükleyemeyeceğim ama akşam yüklerim kesin.

Aslına bakarsanız "sheet1"de form var (box'ların olduğu) ve 20. satıra kadar dolu. Ancak benim yazdırmak istediğim yer "sheet2". Bu mantığa göre bu kod, sheet1'deki son boş satırı bulup, sheet2'deki aynı yere yazıyor. Yani ufak bir değişiklikle olacak sanırım (ama o değişikliği bilemedim :) ).

Şöyle bir şeyle çözülür mü ki?
Kod:
Satir = Sheets("sheet2").Range("A65536").End(3).Row + 1


Ayrıca "workbook_open" kodunu da vb'deki "workbook"un içine yazmam lazım sanırım. Ben Sheet1 içindeki kodların arasına yazmıştım. Sanırım o yüzden okumuyor.

Merhaba
Kod:
Satir = Sheets("rapor").Range("A65536").End(3).Row + 1
şeklinde yazın.
Workbook_open presedürü Thisworkbook'tadır.
 
Evet, dört dörtlük çalışıyor yazdığım kodlar, tekrar teşekkürler.

Rapora eklediğim bir textbox'ta kullanıcının IP numarası çıksın istiyorum. Bu sayede kaydın hangi IP'den geldiğini görmek istiyorum. Bunu nasıl yapabilirim? Tabi kullanıcılar manuel değiştiremesin bunu.

Bir diğer sorum da şu; "rapor" sheet'ini başkaları göremesin ve müdahale edemesin istiyorum. Protect yaptığım zaman EKLE'ye bastığımda verileri ekleyemiyor sayfa korumalı diye. Bunu nasıl aşabilirim?

Son olarak,

Sayfa her açıldığında formlar temizlenip gelsin istiyorum. Önceki kullanıcı verileri ekleyip save ederse sistemde kalıyor çünkü. Ama şu kodlarla yapamadım:

Kod:
Private Sub Workbook_Open()


TextBox1.Text = ""

ComboBox1.Value = "----"

TextBox7.Text = ""

ComboBox2.Value = "----"

ComboBox3.Value = "----"

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox6.Text = ""



End Sub
 
Son düzenleme:
Merhaba
İp bulma kodu ( not kod benim değil arşivden buldum )
Kod:
Sub ip()
strComputer = "."
Set objWMIService = GetObject( _
    "winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
    ("Select IPAddress from Win32_NetworkAdapterConfiguration" _
        & " where IPEnabled=TRUE")
 
For Each IPConfig In IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
        For i = LBound(IPConfig.IPAddress) _
        To UBound(IPConfig.IPAddress)
            MsgBox IPConfig.IPAddress(i)
        Next
    End If
Next
End Sub

Sayfayı gizlediğinizde kayıt yapamazsınız önce açmanız kaydı yaptırmanız sonra tekrar gizlemeniz gerekli.

Diğer sorunuz Formlar temizlenmeli demişsiniz.
Sayfanın active olayına bu kodu yazınız.

Notlar :
1 - Her soruyu aynı konu başlığı altında sormayınız tüm sorular birbirine karışıyor.
2 - Soru sorarken örnek dosya ekleyin ki bizde deneme yapalım verdiğimiz kodlarda sıkıntı olmasın.
 
Tekrar merhaba,
Baştan sona hazırladığım dosyanın tüm basamakları aynı başlıkta olursa aynı şeyi yapmak isteyenlere yardımcı olur diye aynı yerde soruyordum :)

Sheets_Active kısmına dediğinizi yazdım ama olmadı sanırım. Nerde hata yaptım bilemiyorum. (dosya ekte)

IP bulma çok işime yaradı teşekkür ederim.

İlgili rapor sheet'i gizli iken yazıyor ancak korumalı haldeyken yazmıyor. Protect etmemin amacı birilerinin rapordaki verileri değiştirmesini engellemek. Bu "userform"ların kullanıldığını görüyorum bazı örnek dosyalarda. Öyle bir arayüz falan mı yapmak gerekir insanların sheet'lere erişememeleri için?
 

Ekli dosyalar

Merhaba
Ben yanlışlıkla sanırım gizli sayfadan bahsetmişim. Bu parola koruması yaptığınız sayfalarda önce korumayı kaldırıp işlem yapıp sonra tekrardan parolayı oluşturmalısınız. Yoksa işlem yapmaz.
 
Merhaba
Ben yanlışlıkla sanırım gizli sayfadan bahsetmişim. Bu parola koruması yaptığınız sayfalarda önce korumayı kaldırıp işlem yapıp sonra tekrardan parolayı oluşturmalısınız. Yoksa işlem yapmaz.

başka bir yöntemle çözdüm ben bunu,

şöyle ki; makro aktifleşmezse dosya çalışmıyor ve diğer sheet'ler unhide yapılamaz şekilde geliyor. makro çalıştığında ise zaten fullscreen olarak sadece userform geliyor bu sayede de sheet'lere dönemiyorlar.
 
Geri
Üst