Şimdi Ara

VBA & Excel ve Makrolar Örnekler Sorunlar (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
78
Cevap
3
Favori
146.939
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: önceki 1234
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • 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



    < Bu mesaj bu kişi tarafından değiştirildi serseri -- 1 Ekim 2006; 1:20:03 >




  • teşekkürler arkadaşlar

    kitraplar TR olsa idi cok iyi olacakti ama ne yapalim
  • excelde imleç kaybetme hakkında bir bilgisi olan varsa yardımcı olablir mi acaba ??
  • quote:

    Orjinalden alıntı: simge_simge

    excelde imleç kaybetme hakkında bir bilgisi olan varsa yardımcı olablir mi acaba ??



    System.Cursor = wdCursorWait
    System.Cursor = wdCursorIBeam
    System.Cursor = wdCursorNormal


    Ne derece işine yarar bilmiyorum...
  • Hocam, başka bir çalışma kitabındaki macroyu kendi oluşturacağım çalışma kitabında kullanmak istiyorum. Nasıl yapabilirim?
  • Tam anlayamadım ama muhtemelen aynı kodları yeni bir projede kullanmak istiyorsun. Bunun için yeni projenin altyapısını (algoritması) eski projeye göre ayarlamalısın. Yapılacak ufak değişiklikler ile VB Düzenleyicisine eski kodları yazmalısın. Hepsi bu
  • Notpaddeki dataları excel aktarma konusunda basit bir örnek kod vermek istiyorum ben de. Aynı işlemi 3 farklı şekilde yapacağım.

    Referanslar:
    Microsoft Scripting Runtime - Dosyalar üzerinde windows işlemlerini yapmak için
    Microsoft Excel 11.0 Object Library - Excel otomasyonu için

    C nin içinde kullanici1.xls dosyasını ve kullanici1.txt dosyalarını kendim oluşturdum.

    kullanıcı1.txtnin içinde: isim-soyad-babaadi-dogum tarihi alt alta sıralanmış farzedelim.Her kişiye 4 satır ayrılmış.
    quote:

    mustafa
    al
    ahmet
    ankara
    mehmet
    ali
    veli
    samsun


     


    Private Sub not2ex1()

    Open "C:\kullanici" & Trim(Str(1)) & ".txt" For Input As #1 'kullanici1 dosyasını açar
    Set ex1 = CreateObject("excel.Application")
    ex1.Workbooks.Open ("C:\kullanici1.xls")
    kisisayisi = 0
    While Not EOF(1)

    If EOF(1) Then
    GoTo bitir
    End If

    kisisayisi = kisisayisi + 1
    For i = 1 To 4
    Line Input #1, satir 'döngü içinde satırları okuyacak

    If i = 1 Then
    ex1.Range("a" & Trim(Str(kisisayisi))).Value = satir

    End If

    If i = 2 Then
    ex1.Range("b" & Trim(Str(kisisayisi))).Value = satir

    End If

    If i = 3 Then
    ex1.Range("c" & Trim(Str(kisisayisi))).Value = satir

    End If
    If i = 4 Then
    ex1.Range("d" & Trim(Str(kisisayisi))).Value = satir

    End If

    Next i



    Wend

    bitir:
    ex1.ActiveWorkbook.Save
    ex1.Workbooks.Close
    Close #1

    End Sub



    Biz böylelikle excel dosyamızın birinci satırınadaki hücerelere sırasıyla
    mustafa al ahmet ankara
    mehmet ali veli samsun

    yazdık. Bunların üst tarafına başlık yazar gibi "isim" "soyad" "babaadi" "doğumyeri" gibi bilgileri ekleyebilirz.

    Yukardaki kod uzun bir yol. Bunun daha kolay bir kaç yolu daha var.




  • Bu da dizi mantığı ile aynı işlemi yapan kod.

    ex1.Range(harfler(i) & Trim(Str(kisisayisi))).Value = satir

    bu kod satırı yıkardaki iflerin yaptığı işi tek başına yapıyor.


     
    Dim harfler(100) As String

    Private Sub not2ex1_2()

    harfler(1) = "b"
    harfler(2) = "a"
    harfler(3) = "c"
    harfler(4) = "d"
    harfler(5) = "e"

    Open "C:\kullanici" & Trim(Str(1)) & ".txt" For Input As #1 'kullanici1 dosyasını açar
    Set ex1 = CreateObject("excel.Application") 'Open("C:\kullanici1.xls")
    ex1.Workbooks.Open ("C:\kullanici1.xls")
    kisisayisi = 0

    While Not EOF(1)

    If EOF(1) Then
    GoTo bitir
    End If

    kisisayisi = kisisayisi + 1
    For i = 1 To 4
    Line Input #1, satir 'döngü içinde satırları okuyacak
    ex1.Range(harfler(i) & Trim(Str(kisisayisi))).Value = satir
    Next i


    Wend

    bitir:
    ex1.ActiveWorkbook.Save
    ex1.Workbooks.Close
    Close #1

    End Sub




  • Bu sefer textimizin
    quote:

    mustafa al ahmet ankara
    mehmet ali veli samsun

    şeklinde olduğunu farzedelim.Yani her bir satırda bir kişiye ait bilgiler boşluk tuşu le ayrılmış olsun. split ile excel için a-b-c-d -e sütunlarını tire (-) ye göre ayırıyoruz. yani arada tire (-) değil de mesela ";" olsaydı komut satırı:
    harf = Split("a;b;c;d;e", ";")


    şeklinde olacaktı.
     
    harf = Split("a-b-c-d-e", "-") 'dizi gibi çalışıyor excel için

    burdaki kod satırı. Burda diğer dikkat etmemiz gerken kod
    bilgiler = Split(satir, " ") 
    kodu.

    Bu kod ile textimizdeki dataları, satırlar halinde okuyup boşluklara gelince ayırıyoruz. Kelime kelime bölüyoruz.






     
    dim harf
    Private Sub Form_Load()

    harf = Split("a-b-c-d-e", "-") 'dizi gibi çalışıyor excel için
    Open "C:\kullanici" & Trim(Str(1)) & ".txt" For Input As #1 'kullanici1 dosyasını açar
    Set ex1 = CreateObject("excel.Application") 'Open("C:\kullanici1.xls")
    ex1.Workbooks.Open ("C:\kullanici1.xls")
    kisisayisi = 0

    While Not EOF(1)

    If EOF(1) Then
    GoTo bitir
    End If

    kisisayisi = kisisayisi + 1
    Line Input #1, satir 'döngü içinde satırları okuyacak
    bilgiler = Split(satir, " ") 'satırı boşluklara gelince ayırcak

    For i = 0 To 4 'diziler 1den başlar i-1 yerine yaptık
    ex1.Range(harf(i) & Trim(Str(kisisayisi))).Value = bilgiler(i)
    Next i

    Wend

    bitir:
    ex1.ActiveWorkbook.Save
    ex1.Workbooks.Close
    Close #1

    End Sub




  • Selam arkadaşlar.

    Soru sorma linki bulamadım sayfada, buradan yazıyorum.

    Benim bir çalışma yapmam gerekiyor.
    Yardımcı olabileceklere şimdiden çok teşekkür ederim.
    Temel Korkmaz'ın kitabını da karıştırdım ama, benzer örnek bulamadım.

    TOPLAM sayfasındaki A sütununda 1000 adet stok kodu var. B ve C sütunlarına, RAPOR sayfasındaki stok kodlarına uygun olarak ADET ve TUTAR girilecek.

    RAPOR sayfasındaki A sütununda, o aya ait satış yapılan ürünlerin stok kodu, B sütununda ADET, C sütununda da TUTAR var.

    RAPOR sayfasındaki stok kodlarını tek tek TOPLAM sayfasında bulup satış adet ve tutarlarını soldaki sayfanın sütunlarına elle girmek yerine otomatik nasıl aktarabilirim?

    Şimdiden çok teşekkür ediyorum.

    Hoşçakalın.
    Erdal Demir
  • Makro yazmak için Visual Basic şart mı? C# ile aynı işi görecek bir şeyler yapılamaz mı?
  • merhaba,
    benim sorum şu olacak.
    excel ile hazırlanmış bir tablonun bir sütunu 13 karakterden oluşan rakamlar le dolu. fakat bu rakamlar birbirinden hiç ayrılmadan yzaılmış. benim isteğim; b rakamları 4.2.3.4 basamaklı olarak yazdırabilmek. mesela 1234567890123 şeklinde bir rakamı 1234.56.789.0123 olarak görünmeli. rakamlar arasında bazen harflerin olduğunu da hatırlatmam gerek snırım. şimdiden tşkler
  • Excel - Access İlişkisi

    Access kayıtlarını Excel'e kopyalama

    Access'ten, herhangi bir veri sayfası görünümünden veya veri erişim sayfası denetiminden veri kopyalayabilir ve bu verileri Excel'e yapıştırabilirsiniz. Seçtiğiniz birkaç Access kaydının statik bir anlık görüntüsünü istiyorsanız bu yöntemi kullanabilirsiniz.

    Ayrıca, bir Access tablosundan (tablo: Belirli bir konu hakkında, kayıtlar (satırlar) ve alanlarda (sütunlar) depolanan verileri topluluğu.), sorgusundan (sorgu: Query veya Access'te, veritabanında depolanan veriler hakkında sorduğunuz belirli bir soruyu yanıtlayan kayıtları bulma yolu.) formundan veya raporundan Excel çalışma kitabına veri kaydedebilirsiniz. Büyük miktardaki Access verisine ilişkin statik bir anlık görüntü istiyorsanız bu yöntemi kullanabilirsiniz.
    Not Access veritabanı her değiştiğinde Excel'deki verileri yenilemeniz (yenileme: Verileri bir dış veri kaynağından güncelleştirme. Verileri her güncelleştirmenizde, veritabanındaki bilgilerin en son sürümünü, veriler üzerinde yapılan değişikliklerle birlikte görürsünüz.) gerekmediğinde bu yöntemleri kullanın.

    Excel'e yenilenebilir Access verileri getirme

    Access veritabanı değiştiğinde çalışma sayfasındaki verileri yenilemek isterseniz;( örneğin, her ay dağıtımını yaptığınız bir Excel özetinin geçerli ayın verileriyle güncellenmesini istiyorsanız) verileri Excel'e getirmek için bir sorgu veya bir Office Veri Bağlantısı dosyası oluşturabilirsiniz. Birden fazla tablodan veri almanız gerekiyorsa bir sorgu oluşturun veya alınan verilerin kapsamını değiştirmeniz gerekip gerekmediğini düşünün. Veritabanında yalnızca bir tablodaki verilerin tümünü almak istiyorsanız bir Office Veri Bağlantısı dosyası kullanın. Verileri Excel'e dış veri aralığı (dış veri aralığı: Bir çalışma sayfasına getirilen, ancak Excel'in dışından, örneğin bir veritabanı veya metin dosyasından kaynaklanan bir veri aralığı. Excel'de verileri biçimlendirebilir veya başka verilerle yaptığınız gibi hesaplamalarda kullanabilirsiniz.) veya Özet Tablo raporu (Özet Tablo raporu: Excel'in dışındakileri de kapsayan çeşitli kaynaklardan gelen veritabanı kayıtları gibi verileri özetleyen ve çözümleyen, etkileşimli, çapraz sekmeli bir Excel raporu.) olarak döndürebilirsiniz. Bunların her ikisi de yenilenebilir.

    Excel verilerini yönetmek için Access kullanma

    Access veritabanıyla Excel verileri arasından bağlantı kurma Bir Access veritabanına tablo (tablo: Belirli bir konu hakkında, kayıtlar (satırlar) ve alanlarda (sütunlar) depolanan verileri topluluğu.) olarak Excel aralığı bağlayabilirsiniz. Aralığı Excel'de korumaya devam etmeyi planlıyor, ancak Access içinden de kullanılabilir olmasını istiyorsanız bu yöntemi kullanın. Bağlantılı Excel aralığındaki verileri Access veritabanından görüntüleyebilir ve güncelleştirebilirsiniz. Bu tür bağlantıları Excel'den değil, Access veritabanından kurun.

    Access veritabanına Excel verileri aktarma Access'te çalışıyor ve veritabanınıza bir Excel çalışma kitabından veri kopyalamak istiyorsanız, verileri Access'e aktarabilirsiniz. Excel'de tutmayı planladığınız küçük bir grup verinin kopyasını varolan bir Access veritabanına, verileri yeniden yazmadan getirmek için bu yöntemi kullanın.

    Excel aralığını Access veritabanına dönüştürme Kalıcı olarak Access veritabanına taşımak istediğiniz büyük bir Excel aralığınız varsa, Access veri yönetimi yeteneklerinden, güvenliğinden veya çok kullanıcı yeteneğinden yararlanmak için, verileri Excel'den bir Access veritabanına dönüştürebilirsiniz. Verileri Excel'den Access'e taşımak ve taşıdıktan sonra artık Access'te kullanmak ve korumak için bu yöntemi kullanın.

    Excel verilerinden Access raporu oluşturma Access raporları tasarlama konusunda bilgi sahibiyseniz ve Excel verilerinizi bu tür bir raporda özetlemek ve düzenlemek istiyorsanız, Excel aralığınızdaki verilerden bir Access raporu oluşturabilirsiniz.

    Excel verileri girmek için Access formu kullanma Excel aralığında veri girmek, bulmak ve silmek için özelleştirilmiş bir form kullanmak isterseniz, aralığınız için bir Access formu oluşturabilirsiniz. Örneğin sırası çalışma sayfanızdaki sütunların sırasından farklı olan bir Excel aralığı için giriş yapmanızı sağlayacak Access formu oluşturabilirsiniz. Bu yöntemi, Access formlarındaki belirli özelliklerin kullanılabilir olmasını istediğinizde kullanın.


    Alıntı :http://office.microsoft.com/tr-tr/excel/HP052349701055.aspx



    < Bu mesaj bu kişi tarafından değiştirildi serseri -- 15 Nisan 2008; 0:39:17 >




  • Hamit70 in problemi çok basit çözülebilir. Koda gerek yok.
    =PARÇAAL(B3;1;4)&"."&PARÇAAL(B3;5;2)&"."&PARÇAAL(B3;7;3)&"."&PARÇAAL(B3;10;4)

    ayrıca başta KodGenTR olmak üzere bir çok forum var sadece bukonular için.
  • kod yazmayı bilmeyen fakat makro kullanmak isteyen arkadaşlara önerim,
    önce yapmak istediğiniz işlemi makro olarak kaydedin daha sonra kaydettiğiniz makronun içine girerek yapılan işlemdeki kodların mantığını anlamaya çalışmalarıdır. basit bir ornek vermek gerekirse ana sayfadan diğer sayfalara buton koymayı deneyebilirsiniz.
  • excelde sizin forumda verdiğiniz büyük küçük hafr değiştir formülünü visual basicde modül açarak yapıştırıp kaydediyorum.kitap1 olarak kaydediyor ve sadece kitap1 i açtığımda bu makroyu görebiliyorum.tüm excel belgelerine bu makroyu nasıl uygulayabilirim?her excel sayfası açtığımda aynı formülü yazmam gerekmiyordur herhalde...vaktiniz olur cevaplarsanız sevinirim.teşekkürler



    < Bu mesaj bu kişi tarafından değiştirildi Lastruth -- 26 Haziran 2008; 23:32:41 >
  • Arkadaşlar aşağıdaki lvideodaki gibi excelde bir labirent hazırlamam gerekiyor. labirenti oluşturdum fakat yön tuşlarına ve imlece görev atayamıyorum. makro kaydetmem lazım yardımcı olurmusuuz? office 2007 türkçe kullanıyorum.

  • Peki arkadaslar excelde çizilmiş olan bir grafiği vb.net e aktarma olayı var mıdır var ise bunu bilen var mıdır _?

    ben oldukca denedım olmadıı..
  • sağollllll
  • Macroda Top 10 listesi hazırlamak istiyorum. Şöyleki; farklı bir sheet teki verilere bakarak, diğer bir sheet e en yüksek 10 rakamı yazdırmak istiyorum. :)
  • 
Sayfa: önceki 1234
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.