sayın serseri benim sorumun yaklaşık 14 000 satırlık bir excell sayfam var bu sayfanın adı personel1
a sütunu sıra no b sütunu ad c sütunu soyad d sütunu tc kimlik no
ve başka bir excell dosyasından bu dosyanın adı denetim1 denetim birdeki tc kimliknoları personel1 in ı sütununa kopyalıyorum ve bu tc kimlikleri tek tek kopyalayıp bul seçeneği ile arayıp varsa işaretliyorum bunu VB ile nasıl yaparım
yani şöyle bişey yapmak istiyorum ı sütunundaki bilgileri d sutunu ile karşılaştır ve eşleşenler varsa örneğin d11 de eşleşen veri varsa e11 bir işaret koysun veya 11. satırın rengini değiştirsin bunu nasıl yapabilirim yardımcı olursanız sevinirim
Selam arkadaşlar yardımcı olursanız çok sevinirim. Sorum şu:
Bir hücreye bir kod yazıldığında diğer belirttiğim hücrelerde yine benim belirtmiş olduğum o kodlu ürüne ait bilgiler bilgiler otomatik olarak gelsin. Teşekkür ederim
hocam bu sayfayı yeni görüyroum bunları yaptım çalışıyor eline sağlık
sadece benim sorum kayıtlardan herhangi birisini seçip değiştirmek istersek nasıl yapacagız
yardımcı olursanız seviirim
şimdiden teşekkürler
Userform Kullanımı
VBA önemli noktalardan biriside userform kullanımıdır. Nasıl Visual Basicte userformlarla çalışılıyorsa Excel içine de userformu ekleyerek kod yazıp form yapabiliriz.
Yeni bir form tasarlayabilmek için Visual Basic Düzenleyicisinden Insert bölümünden Userform'u seçebiliriz. Karsımıza bir form gelecektir. Bu form bilinen boş bir Visual Basic sayfasıdır. Buraya yine text box,command button gibi visual basice hitap eden kontroll menülerini koyabiliriz.
örnek olarak basit bir liste hazırlayacagız. Bunun için formumuza Kaydet,Formu Temizle ve Çıkış butonları ekledik. Liste olarak ben öğrenci listesi düşündüm. Siz personel listesi,malzeme listesi gibi farklı (ihtiyaca göre) listeler tasarlayabilirsiniz.
Programın çalışır haldeki ekran görüntüsü şu şekildedir;
Görüldüğü gibi forma öğrencileri ait bilgileri girmek üzere Adısoyadı,doğum tarihi ve yeri gibi (bunlar çoğaltılabilir) bilgilerin girişi için textboxlar eklenmiştir.
Program adımında ilk userforma giriş yapmamızı sağlayan bir command butonu ekliyoruz. Öğrenci Bilgileri isimli bu buton ile frmogrenci adını verdiğimiz userforma ulasabiliyoruz. Bu butonu kodları ise
Private Sub CommandButton1_Click() Sheets("deneme").Select frmogrenci.Show End Sub
şeklindedir. Burada excel çalışma sayfasını ben "deneme" ismiyle kaydettiğim için böyledir.
Daha sonra formda yer alan üç butonun kodları ise şu şekildedir. (Bu kodları VB düzenleyici içinde kodlar sayfasının solunda yer alan menüde FORMS içinde bulunan "frmogrenci" formunun içindeki yerlere yazıyoruz)
Yeni Kayıt Ekle ;
Private Sub cmdkayit_Click() Range("a2").Select Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select Loop If Range("a2").Value = "" Then Range("a2").Value = 1 Range("a2").Select Else ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1 End If ActiveCell.Offset(0, 1).Value = txtogradi ActiveCell.Offset(0, 2).Value = txtdtarihi ActiveCell.Offset(0, 3).Value = txtdyeri
aciklama = "Kayıt İşlemi Başarıyla Tamamlandı" dugme = vbOKOnly + vbInformation + vbDefaultButton1 baslik = "kayit" MsgBox aciklama, dugme, baslik End Sub
Yeni verilerin a2 hücresinden baslayacagı düsünülerek tasarlanmıştır. A2 bos ise "textogradi" değeri B' hücresine eklenmektedir. Mantık bu şekildedir. Bunun için DO WHILE döngüsü kullanılmıştır.
Kayıt sonundda İşlem tamamlandı uyarısını içeren MsgBox eklenmiştir.
Formu Temizle;
Private Sub cmdtemizle_Click() txtogradi = "" txtdtarihi = "" txtdyeri = "" End Sub
Bu buton daha önceki kayıttan kalan bilgilerin temizlenmesini sağlamaktadır.
Çıkış;
Private Sub CommandButton3_Click() Unload frmogrenci End Sub
Formdan çıkışı sağlamaktadır.
Basit ve kısa zamanda hazırlanmış birşey oldugundan sorun çıkabilir. Örneğin aynı isim yanlıslıkla iki kere eklenebilir. (Bunun için ayrı kod gerekir) ya da hücrelerde gereksiz doluluklar sistemin bütünlüğünü bozabilir.
Elbetteki çeşitli kodlarla bütün bu aksaklıklar düzeltilebilir ve hatta genişletilebilir bu da VBA meraklılarına kalmış bir iştir....
Benim bir sorum olacak. A sütun da 800 adet veri var alt alta bunlardan ilk 8 satır ad, boşluk, adres, telefon, faks, sayfa,boşluk, boşluk sonrası yine ad diye başlıyor. bunları kopyala özel yapıştır ve transpose ile tek tek yapabiliyorum. bu Loop u nasıl otomatik hale getirebilirim. makro konusunda pek bi bilgim yok teşekkür ederim.
quote:
Orijinalden alıntı: zerodown
Benim bir sorum olacak. A sütun da 800 adet veri var alt alta bunlardan ilk 8 satır ad, boşluk, adres, telefon, faks, sayfa,boşluk, boşluk sonrası yine ad diye başlıyor. bunları kopyala özel yapıştır ve transpose ile tek tek yapabiliyorum. bu Loop u nasıl otomatik hale getirebilirim. makro konusunda pek bi bilgim yok teşekkür ederim.
Yukarıdaki "serseri" yazılı FOR NEXT döngüsü işini görecektir hocam...
Biraz daha yardımcı olurmusunuz serseri hocam?
dediğim gibi 8 satırlık döngüm var
kopyala, özel yapıştır ve transpose işelmini de sizin yukarıdaki yazınızdan öğrendim bunu makronun içine nası yazacağımı bilmiyorum.
Yardımcı olursanız sevinirim
quote:
Orijinalden alıntı: fleam
Selam arkadaşlar yardımcı olursanız çok sevinirim. Sorum şu:
Bir hücreye bir kod yazıldığında diğer belirttiğim hücrelerde yine benim belirtmiş olduğum o kodlu ürüne ait bilgiler bilgiler otomatik olarak gelsin. Teşekkür ederim
Düşeyara formulünü kullanabilirsiniz
merhaba üstadlar,
excel de yapmak istediğim birkaç hesaplama ve aktarma işlemi var ve vba konusunda pek bilgi sahibi değilim öğrenmeye çalışıyorum.
bir çalışma kitabında araç yakıt giderleri üzerine bir dosya tutuyorum. her araç için ayrı bir çalışma sayfası var. ilk sütünda yakıtın alındığı tarih 2. sütunda miktar ve 3. sütunda tutar var. her ayın sonunda da o aya ait toplam yakıt gideri mevcut. Bu şekilde her ay içindeki giderler ve aylık tutarlar takip edilecek. yapmak istediğim aşağıya doğru 10. ay, 11. ay... diye devam eden tüm satırları sağ tarafta otomatik olarak alt alta görebilmek için yeni bir sütuna aktarmak istiyorum. makro kaydet komutuyla bu işlemi yapamıyorum çünkü bazı araçlarda 3 bazı araçlarda daha az yada fazla yakıt alınmış. dolayısıyla seçtiğim satır her zaman toplam tutara denk gelmiyor. ihtiyacım olan 10. ay yazan satırın yanındaki içeriği şu satıra kopyala, 11. ay yazan satırın yanındaki satır içeriğini altına kopyala gibi birşey. umarım açıklayabilmişimdir.
yardımlarınız için şimdiden teşekkürler...
quote:
Orijinalden alıntı: megmeg
merhaba üstadlar,
excel de yapmak istediğim birkaç hesaplama ve aktarma işlemi var ve vba konusunda pek bilgi sahibi değilim öğrenmeye çalışıyorum.
bir çalışma kitabında araç yakıt giderleri üzerine bir dosya tutuyorum. her araç için ayrı bir çalışma sayfası var. ilk sütünda yakıtın alındığı tarih 2. sütunda miktar ve 3. sütunda tutar var. her ayın sonunda da o aya ait toplam yakıt gideri mevcut. Bu şekilde her ay içindeki giderler ve aylık tutarlar takip edilecek. yapmak istediğim aşağıya doğru 10. ay, 11. ay... diye devam eden tüm satırları sağ tarafta otomatik olarak alt alta görebilmek için yeni bir sütuna aktarmak istiyorum. makro kaydet komutuyla bu işlemi yapamıyorum çünkü bazı araçlarda 3 bazı araçlarda daha az yada fazla yakıt alınmış. dolayısıyla seçtiğim satır her zaman toplam tutara denk gelmiyor. ihtiyacım olan 10. ay yazan satırın yanındaki içeriği şu satıra kopyala, 11. ay yazan satırın yanındaki satır içeriğini altına kopyala gibi birşey. umarım açıklayabilmişimdir.
yardımlarınız için şimdiden teşekkürler...
Valla ben anlamadım ama sana söyle birşey tavsiye ederim burada makro kullanmak yerine süz kullanabilirsiniz. yada daha detaylı acıklama yapabilir misin
quote:
Orijinalden alıntı: haker01
quote:
Orijinalden alıntı: megmeg
merhaba üstadlar,
excel de yapmak istediğim birkaç hesaplama ve aktarma işlemi var ve vba konusunda pek bilgi sahibi değilim öğrenmeye çalışıyorum.
bir çalışma kitabında araç yakıt giderleri üzerine bir dosya tutuyorum. her araç için ayrı bir çalışma sayfası var. ilk sütünda yakıtın alındığı tarih 2. sütunda miktar ve 3. sütunda tutar var. her ayın sonunda da o aya ait toplam yakıt gideri mevcut. Bu şekilde her ay içindeki giderler ve aylık tutarlar takip edilecek. yapmak istediğim aşağıya doğru 10. ay, 11. ay... diye devam eden tüm satırları sağ tarafta otomatik olarak alt alta görebilmek için yeni bir sütuna aktarmak istiyorum. makro kaydet komutuyla bu işlemi yapamıyorum çünkü bazı araçlarda 3 bazı araçlarda daha az yada fazla yakıt alınmış. dolayısıyla seçtiğim satır her zaman toplam tutara denk gelmiyor. ihtiyacım olan 10. ay yazan satırın yanındaki içeriği şu satıra kopyala, 11. ay yazan satırın yanındaki satır içeriğini altına kopyala gibi birşey. umarım açıklayabilmişimdir.
yardımlarınız için şimdiden teşekkürler...
Valla ben anlamadım ama sana söyle birşey tavsiye ederim burada makro kullanmak yerine süz kullanabilirsiniz. yada daha detaylı acıklama yapabilir misin
cevabın için teşekkürler haker01. sanırım süz kullanmak daha doğru olacak dediğin gibi. ama şöyle bi açıklama daha yapayım. ekteki resimde görüldüğü gibi "A" sütununda tarih "B" sütununda Litre ve "C" sütununda tutar yazıyor. Her ayın sonunda ekteki resimde olduğu gibi "A" sütununda kaçıncı ay olduğu "B" sütununda o ay kullanılan toplam yakıt litre olarak ve "C" sütununda toplam yakıt tutar olarak gözüküyor. Bu aşağıya doğru uzayıp gidecek. Her ay sonunda "A" sütununda hangi ay olduğu, "B" ve "C" sütunlarında toplamlar yazacak. Benim istediğim bu toplamları aynı çalışma sayfasında boş bi yere alt alta sıralamak, sadece aylık toplam tutarları. Atıyorum "E1" 'de 10. Ay yazacak "F1" 'de 10. ay toplam tutarı, "E2" 'de 11. Ay yazacak "F2" 'de 11. ay toplam tutarı vs.
tekrardan teşekkürler.
Alt toplam işinizi görecektir a sütununa ay olarak ekleme yaparsanız cok kısa sürecektir.
ilgine çok teşekkürler haker01. dediğin gibi bu şekilde çok daha rahat...
quote:
Orijinalden alıntı: megmeg
ilgine çok teşekkürler haker01. dediğin gibi bu şekilde çok daha rahat...
rica ederim excel konusunda ne zaman yardım isterseniz aklımızın yettiğince yardımcı oluruz.
iyi günler arkadaşlar excel konusunda benim de bir yardıma ihtiyacım var çok acil olarak. benim dolu bir sütunum var. ben bu dolu sütundaki hücrelerin içeriğine 257 rakamını eklemek istiyorum. yani hücre içerikleri 257 ... olacak şekilde.bunu nasıl yapabilirim?örneğin sütunumdaki hücrelerde 3, alttaki hücrede 12 daha alttakinde 15 olsun.ben bu hücrelerin başına 257 rakamını ekleteyim. mevcut hüzreler 257 3, alttaki hücre 257 12, daha alttaki 257 15 şeklinde olsun.nasıl yapabilirim?teşekkürler
ben userforma eklediğim textboxlarla excel e verileri aktarıp üye kaydımı yapıyorum ancak bu kayıtları geri çağrıp üye girişi kısmını yapmak istiyorum bu konuda bana yardım edebilirmisiniz...
quote:
Orijinalden alıntı: mkarpuz61
iyi günler arkadaşlar excel konusunda benim de bir yardıma ihtiyacım var çok acil olarak. benim dolu bir sütunum var. ben bu dolu sütundaki hücrelerin içeriğine 257 rakamını eklemek istiyorum. yani hücre içerikleri 257 ... olacak şekilde.bunu nasıl yapabilirim?örneğin sütunumdaki hücrelerde 3, alttaki hücrede 12 daha alttakinde 15 olsun.ben bu hücrelerin başına 257 rakamını ekleteyim. mevcut hüzreler 257 3, alttaki hücre 257 12, daha alttaki 257 15 şeklinde olsun.nasıl yapabilirim?teşekkürler
Selam,
Aşağıdaki kodu vba sayfasında modül olarak ekleyin ve "2" yerine sizin dolu sütununuzun numarasını yazın : Sub ekle() For i = 1 To Cells(65536, 2).End(xlUp).Row Cells(i, 2) = "257 " & Cells(i, 2) Next End Sub
benim bir sorum vardı yardımcı olabilir misiniz ? dershaneye kayıt yaptıran öğrencilerin kayıt tarihi, okulunun adı, ve sınıfının bulunduğu bir excell listesinden belirtilen tarihler arasında hangi okuldan hangi sınıfatan kaçar öğrencinin kayıt yaıtırdığını nasıl bir makro ile buluruz. teşekkür ederim
örnek. 01.01.2010 Atatürk lisesi 1. sınıf 01.01.2010 Atatürk lisesi 3. sınıf 02.01.2010 Atatürk lisesi 4. sınıf 03.01.2010 anadolu lisesi 3. sınıf 05.01.2010 Atatürk lisesi 1. sınıf
arkadaşlar merhaba, excelde bir sütunun isimlerle dolu olduğunu düşünelim. komşu sütunda isimlerin karşılarında da yaşları olsun. ben ayrı bir çalışma sayfasında bir sütuna o isimlerden birini yazdığım zaman başka bir sütuna yaşını otomatik olarak nasıl getirebilirim? yani algoritma kısaca şu. örnek " A3 sütunu "sercan" ise B5 sütunu "mevcut tabloda ki yaş değeri" olsun.. yardımcı olursanız çok sevinirim.
quote:
Orijinalden alıntı: nankospitus
arkadaşlar merhaba, excelde bir sütunun isimlerle dolu olduğunu düşünelim. komşu sütunda isimlerin karşılarında da yaşları olsun. ben ayrı bir çalışma sayfasında bir sütuna o isimlerden birini yazdığım zaman başka bir sütuna yaşını otomatik olarak nasıl getirebilirim? yani algoritma kısaca şu. örnek " A3 sütunu "sercan" ise B5 sütunu "mevcut tabloda ki yaş değeri" olsun.. yardımcı olursanız çok sevinirim.
çözüm bulunmuştur. =+ARA("sercan";A1:A12;B1:B12) A1 den A12 kadar olan hücrelerde "sercan" arıyor bulunca da karşısında ki değeri kullanıyor.