• DİKKAT

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

veri içinde arama

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Merhabalar,

"150*869038594582"
verisinin içinde "*" işaretinin durumunu sorgulayan kodu,

Vba içerisinde worksheetfunction. ile birlikte kullanılan kodlar hariç
nasıl bulabilirim?

hücredeki gibi "Characters(Start:=x, Length:=1)" ile denedim olmadı
 
Sorunuz net anlaşılmıyor.

İstediğiniz çözüme bu şekilde erişebiliyor musunuz?

Kod:
[FONT="Trebuchet MS"][SIZE="2"]Sub Emre()
    veri = "150*869038594582"
    ara = "*"
    MsgBox ara & " karakteri " & [COLOR="Red"]InStr[/COLOR](1, veri, ara) & ". karakter"
End Sub[/SIZE][/FONT]
 
Sorunuz net anlaşılmıyor.

İstediğiniz çözüme bu şekilde erişebiliyor musunuz?

Kod:
[FONT="Trebuchet MS"][SIZE="2"]Sub Emre()
    veri = "150*869038594582"
    ara = "*"
    MsgBox ara & " karakteri " & [COLOR="Red"]InStr[/COLOR](1, veri, ara) & ". karakter"
End Sub[/SIZE][/FONT]

Evet aynen budur :)
Fakat bu fonksiyonu daha önce görmüştüm fakat uyarlayamadım.
Fonksiyonun analamı nedir?
Ortanca formulu gibi birşey mi?
 
Ortanca formülü Matematiksel bir formüldür. Konumuzun bu formülle ilgisi yoktur. ;)
InStr Metin formüllerinden Bul ile aşağı yukarı aynı şekilde çalışır.

Aşağıda anlayacağınız biçimde belirtmeye çalışayım.

InStr(1, veri, ara)
InStr(1.karakterden aramaya başla, burada ara, bunu ara)

Bu fonksiyon bize neyi sağlar?

Aranan bir karakter veya metnin, dizi içerisinde var olup olmadığını, aynı zamanda da var ise kaçıncı karakterde olduğunu bize verir.


İyi günler.
 
Teşekkürler.

Kod:
CreateObject("scripting.dictionary")
Yazılmış bir makaleniz ya da paylaşımınız var mıdır?
 
Bunu görmüştüm ama ben ona baktım o bana baktı :)

Chromedan Türkçeye çevirdim daha kötü oldu.
Az çok ingilizce bilgim var fakat gerçekten birşey anlamadım.
Ayı yazıyı bizim anlyacağımız dile çevirseler(niz) süper olurdu :)
 
Tahmin edebiliyorum. :D
O kadar vaktim olsa, yazmaya başladığım Excel & VBA (Makro) Kitabını bitirirdim. :)
Forumda bu konuda güzel çözümleri olan arkadaşlardan destek alabilirsiniz.

İyi akşamlar.
 
Bir faydam dokunuyorsa ne mutlu bana :)

Saygılar
 
Murat bey ,
Bu kodlar epey işimi gördü fakat ilerlemem gerekiyor :)
Kod:
Sub Kapalıdan_Al()
    Dim Con As Object, Rs As Object, Sorgu As String
    Set Con = CreateObject("Adodb.Connection")
    Set Rs = CreateObject("Adodb.RecordSet")
        Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
        ThisWorkbook.Path & "\Kapalı_Dosya.xlsx" & ";extended properties=""excel 12.0;hdr=no"""
        Sorgu = "Select * from [Sayfa1$] where f1 ='Murat'"
        Rs.Open Sorgu, Con, 1, 1
        Range("A1").CopyFromRecordset Rs
        Rs.Close: Con.Close
    Set Con = Nothing: Set Rs = Nothing: Sorgu = ""
End Sub

Buradaki kodlarda kapalı olan dosyadan "murat" a eşit olan satırları inanılmaz hızlı bir şekilde çekiyor.
Bu aşamada mesela komple satırı değilde "murat" a eşit olan satırdaki istediğimiz bir sutundaki veriyi nasıl alabiliriz?
Ya da "murat" yoksa eğer kapalı dosyaya eklemeyi yapabilirmiyiz?
Ya da diyelim ki var ama ben o satırın 3. sütunundaki veriyi değiştirmek istiyorum ?

Çok bunalttım ama baktım ki bunlar sizin için devede kulak kalıyor :)
 
Geri
Üst