Hücre İçinde Geçiyorsa -YARDIM-

Katılım
31 Aralık 2007
Mesajlar
19
Excel Vers. ve Dili
Office 2010 - Türkçe
Merhaba excel ustalarım, çalıştığım programdan txt formatında dosya çekiyorum bu dosyayı bir excel sayfasına yapıştırıyorum, eğer ile yapmaya çalıştım ama excel bir cümlenin içinde geçen (eşittir yada eşit değil gibi seçenek sunuyor) gibi şans vermiyor, en azından ben bulamadım. Örnekteki dosyada A sütununda "SEGMENT-" arayıp (- den sonraki rakam değişiyor) eğer hücrenin içinde geçiyorsa Sayfa 2 ye örnekteki gibi Sayfa 1 den hücreleri getirtmek istiyorum. Satır sayısı çektiğim dosyaya göre değişiyor. Şimdiden teşekkürler...
 

Ekli dosyalar

İ

İhsan Tank

Misafir
merhaba
sorunuzu ve örnek dosyadan bir şey anlamadım
ama bir şey önereceğim bir deneyin
SEGMENT-0000 yazan hüce A1 olsun
=EĞER(ESAYIYSA(MBUL("SEGMENT-";A1);A1;"")
tarzında bir formül deniyebilirsiniz.
örnek dosyada tam olarak ne yapmak istediğinizi anlatırsanız belki yardımcı olabilirim
 
Katılım
31 Aralık 2007
Mesajlar
19
Excel Vers. ve Dili
Office 2010 - Türkçe
İlginiz için teşekkürler İhsan Bey,

Ekteki dosyayı biraz daha düzelttim, Sayfa 2 ye hangi hücreyi kontrol edip hangi hücreyi yazması gerektiğini yazmaya çalıştım, inşallah daha anlaşılır olmuştur. Tekrar teşekkürler.
 

Ekli dosyalar

İ

İhsan Tank

Misafir
İlginiz için teşekkürler İhsan Bey,

Ekteki dosyayı biraz daha düzelttim, Sayfa 2 ye hangi hücreyi kontrol edip hangi hücreyi yazması gerektiğini yazmaya çalıştım, inşallah daha anlaşılır olmuştur. Tekrar teşekkürler.
Sayfa2 A2 hücresine
Kod:
=EĞER(ESAYIYSA(MBUL("SEGMENT-";[COLOR="Red"]Sayfa1!$A6[/COLOR]));[COLOR="red"]Sayfa1!$A6[/COLOR];"")
Sayfa2 A3 hücresine
Kod:
=EĞER(ESAYIYSA(MBUL("SEGMENT-";[COLOR="red"]Sayfa1!$A19[/COLOR]));[COLOR="red"]Sayfa1!$A19[/COLOR];"")
Sayfa2 A4 hücresine
Kod:
=EĞER(ESAYIYSA(MBUL("SEGMENT-";[COLOR="red"]Sayfa1!$A32[/COLOR]));[COLOR="red"]Sayfa1!$A32[/COLOR];"")
bu formülleri yazın mavi yerleri kendinize göre ayarlayınız
 
Katılım
31 Aralık 2007
Mesajlar
19
Excel Vers. ve Dili
Office 2010 - Türkçe
Merhaba bu şekilde formülleri elle doldurunca oldu, fakat çektiğim dosyada yüzlerce satır oluyor (ben örnek olsun diye birkaç satır yazmıştım). Bunu nasıl halledebilirim acaba?
 
İ

İhsan Tank

Misafir
sorunuz net değil
tam olarak ne yapmak istiyorsunuz
SEGMENT- leri bir sütuna mı almak istiyorsunuz
 
Katılım
31 Aralık 2007
Mesajlar
19
Excel Vers. ve Dili
Office 2010 - Türkçe
Kusura bakmayın İhsan Bey, yapmak istediğimi tam olarak ifade edemedim galiba. İstediğim çıktıyı verdiğiniz formülleri kullanarak ekteki dosyada Sayfa3'e yazmaya çalıştım. Çektiğim dosyada ne kadar satır olacağı değişken, ne kadar koşula uyan satır varsa onları kontrol edip yazdırmak istiyorum. İnşallah daha anlaşılır olabilmiştir.
 

Ekli dosyalar

İ

İhsan Tank

Misafir
Kusura bakmayın İhsan Bey, yapmak istediğimi tam olarak ifade edemedim galiba. İstediğim çıktıyı verdiğiniz formülleri kullanarak ekteki dosyada Sayfa3'e yazmaya çalıştım. Çektiğim dosyada ne kadar satır olacağı değişken, ne kadar koşula uyan satır varsa onları kontrol edip yazdırmak istiyorum. İnşallah daha anlaşılır olabilmiştir.
merhaba
formülle bu dosya kasılır bundan dolayı makro yazdım
boş bir module kopyalayın ve deneyin
module oluşturmayı bilmiyorsanız tıklayın resimli anlatım mevcut
kayıt yaparken mutlaka makro içerebilen dosya şeklinde kayıt yapmalısısınız
tıklayın detay burada
Kod:
Option Explicit
Sub sütunlaştır()
Dim ts, kaplan
Dim a, b, c, d, e, f, g, h, ı
a = 2: b = 2: c = 2: d = 2: e = 2
f = 2: g = 2: h = 2: ı = 2
kaplan = MsgBox("Verileri Çıkartıyorum", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
Sheets("Sayfa2").Range("A:I").ClearContents
For ts = 1 To Sheets("Sayfa1").Cells(65536, "A").End(xlUp).Row
If InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "SEGMENT-", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(a, "A") = Sheets("Sayfa1").Cells(ts, "A")
a = a + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "INDEX", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(b, "B") = Sheets("Sayfa1").Cells(ts, "A")
b = b + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "CODE -1-", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(c, "C") = Sheets("Sayfa1").Cells(ts, "A")
c = c + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "CODE -2-", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(d, "D") = Sheets("Sayfa1").Cells(ts, "A")
d = d + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "CODE -3-", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(e, "E") = Sheets("Sayfa1").Cells(ts, "A")
e = e + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "IDENTIFICATION", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(f, "F") = Sheets("Sayfa1").Cells(ts, "A")
f = f + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "CODE -4-", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(g, "G") = Sheets("Sayfa1").Cells(ts, "A")
g = g + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "CODE -5-", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(h, "H") = Sheets("Sayfa1").Cells(ts, "A")
h = h + 1
ElseIf InStr(1, Sheets("Sayfa1").Cells(ts, "A"), "NUMBER", _
vbTextCompare) Then
Sheets("Sayfa2").Cells(ı, "I") = Sheets("Sayfa1").Cells(ts, "A")
ı = ı + 1
End If
Next
MsgBox "Verileri Çıkarttım", vbInformation, "Bitiş"
End Sub
 
Katılım
31 Aralık 2007
Mesajlar
19
Excel Vers. ve Dili
Office 2010 - Türkçe
Teşekkürler İhsan Bey, ellerinize, bilginize sağlık.
 
Üst