Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 1 mobil kullanıcı
77
Cevap
147889
Tıklama
1
Öne Çıkarma
Cevap: VBA & Excel ve Makrolar Örnekler Sorunlar (3. sayfa)
S
15 yıl
Er

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


Bu mesaja 1 cevap geldi.
F
15 yıl
Er

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


Bu mesaja 1 cevap geldi.
G
14 yıl
Er

quote:

Orijinalden alıntı: serseri

http://www.mousetrax.com/TechCourses.html

adresinden ücretsiz e-kitap indirebilirsiniz. Baya işe yarar, fakat hatırlatayım dil malesef ingilizce...


http://www.mindspring.com/~tflynn/excelvba.html

sitesinde örnek kodlar mevcut


http://wordtips.vitalnews.com/W189_VBA_Examples.html

bu sitede de güzel kodlar mevcut

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


Bu mesaja 1 cevap geldi.
G
14 yıl
Er

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....


BURADAKİ VERİLERİ DEĞİŞTİRMEK İÇİN NASIL BİR MAKRO YAZACAGIZ YARDIMICI OLURSANIZ SEVİNİRİM


Bu mesaja 1 cevap geldi.
Z
14 yıl
Er

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.


Bu mesaja 1 cevap geldi.
S
14 yıl
Yarbay
Konu Sahibi

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...


Bu mesaja 1 cevap geldi.
Z
14 yıl
Er

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



H
14 yıl
Yüzbaşı

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


Bu mesaja 1 cevap geldi.
M
14 yıl
Er

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...

< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
H
14 yıl
Yüzbaşı

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...

< Resime gitmek için tıklayın >

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


Bu mesaja 1 cevap geldi.
M
14 yıl
Er

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...

< Resime gitmek için tıklayın >

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.

< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
H
14 yıl
Yüzbaşı

Alt toplam işinizi görecektir
a sütununa ay olarak ekleme yaparsanız cok kısa sürecektir.



< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
M
14 yıl
Er

ilgine çok teşekkürler haker01. dediğin gibi bu şekilde çok daha rahat...


Bu mesaja 1 cevap geldi.
H
14 yıl
Yüzbaşı

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.


Bu mesaja 1 cevap geldi.
M
14 yıl
Yüzbaşı

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


Bu mesaja 2 cevap geldi.
Ş
14 yıl
Er

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...



K
14 yıl
Onbaşı

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


Bu mesaja 1 cevap geldi.
E
13 yıl
Onbaşı

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


Bu mesaja 1 cevap geldi.
N
13 yıl
Çavuş

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.


Bu mesaja 1 cevap geldi.
N
13 yıl
Çavuş

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.


Bu mesaja 1 cevap geldi.