Çözüldü Hücredeki Değere Göre Sayfalar Oluşturma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

sepulastura

Normal Üye

Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar

A sütununda alt alta aşağıdaki gibi veriler olsun. burada aaa.bbb olanları B sütununda karşısına ok yazsın. Makro ile böyle bir şeyii nasıl yapabilirim bigilerinizi rica ederim
aaa.bbb.ccc.ddd
aaa.bbb.ddd.ccc
aaa.ccc.bbb.ddd
aaa.bbb.ccc.xxx

Yani yukarıaki verilere göre makroyu çalıştıracak olursak aşağıdaki şekilde olacak
A1 Hücresi = aaa.bbb.ccc.ddd B1 Hücresi = ok
A2 Hücresi =aaa.bbb.ddd.ccc B2 Hücresi = ok
A3 Hücresi =aaa.ccc.bbb.ddd B3 Hücresi = bir şey yazmayacak
A4 Hücresi =aaa.bbb.ccc.xxx B4 Hücresi = ok
 
Merhabalar;
İlgili sayfanın kod bölümüne aşağıdaki kodları ekleyiniz.
-A sütununda aaa.bbb ile başlayan hücrelerin karşısına OK yazar.
VBA:
Görüntülemek için giriş yapmalısınız.
(5 satır)
 
  • Beğen
Tepkiler: ysb
Verdiğim kod'da aaa.bbb metni için "İLE BAŞLAR" şeklinde işlem yapmak için;
If InStr(1, veri(v, 1), "aaa.bbb") > 0 Then kısmında > 0 yerine = 1 olarak değiştirmeniz gerekir.
Verdiğim kod'da "İÇERİR" şeklinde işlem yapılmaktadır.

Bilginize.
 
Merhabalar

İlginiz ve desteğiniz için çok teşekkür ederim.

Gönderdiğiniz kodlardan Ben kendime göre aşağıdaki gibi bir düzenek oluşturdum. Gayet güzel çalışıyor. yalnız ikinci bir ihtiyaç daha hasıl oldu. eğer ayrı bir makro halinde veya bu makroya entegre ederek onuda yapabilirsem çok güzel olacak.

Şimdi diğer makro ihtiyacım şu şekilde
aşağıdaki kod düzeneğinde belirli verilere göre G sütununa Veri1, Veri2, Veri3 yazdırdım.

Tabi A, dan G sütununa kadar her satırda veri var.

G sütununa gelen verilere göre ayrı ayrı sheetler oluşsun istiyorum. Buradaki kod düzeneğinde Veri1, Veri2, Veri3 diye ayrı 3 sheet açılacak demektir.

Sonra bu sheetlere Veri1 e tekabül eden verileri satır satır Veri1 sheetine aktarsın istiyorum. Veri2 ye denk gelenler Veri2 ye Veri3 e denk gelenler Veri3e aktarılacak.

ama tabi Ana sheette ilk satır sabit başlık verileri var. bu verilerde Veri1 Veri2 Veri3 e gitmiş olacak.

Bilgi ve yardımlarınızı rica ederim

Kod:
Görüntülemek için giriş yapmalısınız.
(10 satır)
 
  • Beğen
Tepkiler: ysb
Merhaba.
Herbir sayfa için 1'den fazla satırlık aktarılacak veri satırı olacak şekilde, ana sayfada örnek veriler ve buna göre oluşturulmuş yeni sayfalarla bu sayfalara kopyala yapıştır yaparak verilerin aktarılmış halini bir örnek belge (örnek belge hazırlama konusunda cevabımın altındaki İMZA bölümündeki açıklamaları okuyunuz) üzerinden açıklama yazarak yüklerseniz, gereksiz karşılıklı yazışma olmadan hızlı ve doğru sonuca ulaşmanız kolaylaşacaktır.
Verdiğiniz son koddaki seçenek sayısını (örneğinizde bu sayı 3) da netleştirirseniz iyi olur.
 
Üstadım Merhaba

aşağıdaki linkte örnek dosyamı yükledim.

NOT : bu sheet sayısı 3 le sınırlı değil. bu sheet sayısı getireceğim veriye göre değişebilir. ki ekteki örnekte ise 4 verili örnek hazırladım bu sefer.

Teşekkür ederim ilginiz için tekrardan

https://***/o67mz128ccc4/ornek.rar.html
 
Belgenize bakacağım.
Bir şeyi hatırlatayım size; forumumuzda örnek belge eklemek için harici dosya siteleri kullanılmasına lüzum yok.
Örnek belgelerinizi doğrudan foruma yükleyebilirsiniz.
 
İsteğinizi anladım.
Sayfa E sütunundaki metinsel verinin SOLDAN 6 karaktere (nokta işaretleriyle birlikte 8) göre,
herbir farklı veri için sayfa oluşturulup, aynı olanları oluşturulacak sayfaya aktarmak istiyorsunuz.

Burada karşılaşılabilecek sorun yada açıklamaya muhtaç kısımlar şunlar;
-- yeni sayfaların ADLANDIRILMASI için öngördüğünüz VERİ1, VERİ2 şeklindeki yapı (yeni sayfaları aaa.bbb, bbb.ccc gibi de adlandırabilirsiniz)
-- sayfalar oluşturulup veriler aktarıldıktan sonra, Sayfa1'deki listeye yeni veri eklenip ekenmeyeceğini de ifade ederseniz iyi olur.
Zira Sayfa1'e yeni satırlar eklenmesi gibi bir durum varsa; bir önceki aşamada Veri1, Veri2.... gibi oluşturulmuş durumda olan sayfaların durumu net değil.
.
 
şu an için veri1 veri2 şeklinde sheetler oluşturulması yeterli benim için

yani ekstra veri gelebilir sonrasında tabi. ama bunu sıfır tek sheetli sayfada çalıştırıcam yine.

yani ben verilerimi çekince sheet1 e koyacağım. makromu düzenleyip ona göre verileri getireceğim. sonra oluşan verilere göre sheetler açılıp o sheetlere ilgili veriler dağılacak

dediğim gibi bu örnekte 15 satırlı veri1,veri2,veri3,veri4 şeklinde hazırladım ama E sütununda ileride ddd.fff.ggg. ile başlayan bir verilerim olacak bunada Veri5 yazsın diyeceğim. sonrasında mesela xxx.yyy.zzz ile başlayan veriler olacak bunada Veri6 diyeceğim.

ama her seferinde sıfır excelle çalışacağım hiç sheet yok tek bir sheet orada bütün veriler var. ben makroyu çalıştırıcam ve veriler makrolarıma göre gelecek

ha örneğin şu olabilir. ben bu örnekte 4 ayrı veri dağıtmışım. mesela fff.ggg.hhh diye başlayan verilerde olabilirdi ama ben bu şekil başlayanlar için bir verix yazmamışsam zaten karşılığını boş bıraksın ve zaten boş olanlar içinde bir sheet oluşmasın


biraz karışık anlattım işyerinde hızlıca yazdım ama eğer anlamadığınız nokta varsa iletirseniz sevinirima
 
Bu örneği uyguladım. fakat hiç bir sonuç alamadım.

10 tane Veri sayfası oluşturdu. bunu niye yapıyor ki? benim elimde şu an aslında 9 ayrı veri getirmesi lazım.

kendi dosyama benzer örnek dosyayı bu iletiye ekliyorum. ip bilgisi var diye eklememiştim ama farkediyor mu bilemedim
 

Ekli dosyalar

  • ornek.rar
    10.3 KB · Görüntüleme: 6
12 numaralı cevapta verdiğim kodda küçük düzenleme yaptım ve sayfa isimleri de artık Sayfa1'in F sütunundan alınıyor.
Sayfayı yenileyerek önceki kod cevabımı kontrol edip, yeni halini deneyiniz.

Yine hatalı sonuç aldığınızı düşünürseniz, elle sayfalar oluşturmak yerine, kod tarafından oluşturulmuş sayfalar duruyorken
belgenin bir kopyasını foruma yükleyip HATALI durumun ne olduğuna dair kısa net açıklama yazarsanız iyi olur.
 
Üstadım birebir dosyamı yolladım. Kod hala bana Veri1 Veri2 diye sheetler oluşturuyor. Ben gönderdiğim dosyada F sütununa web, London, Amsterdam gibi bilgiler yazmışım. yani E sütununda 192.168.214 görünce F sütununa web yazacak. yani son noktadan sonraki veri önemli değil 192.168.214 görünce web yazacak 172.32.39 görünce london yazacak.

Algoritma şu şekilde
1-A dan E ye kadar verilerim var
2- E sütununda xxx.xxx.xxx.xxx şeklinde verilerim var
3- F sütununa bu E sütunundaki xxx.xxx.xxx verilerine göre veri yazacak
4- F sütununa veriler yazılınca F sütunundaki verilere bakacak neler var (web var, london var, amsterdam var gibi)
5- buradaki verilere göre bir tane web sheet i bir tane london sheet i bir tane amsterdam sheeti oluşacak
6- sonra F sütununda web verisi olan A F aralığındaki verileri web sheetine aktaracak, london verisi olan satırları london sheet ine aktaracak.

sizin kodda xxx.xxx.xxx verisine göre F sütununa veri yazmıyor. standart veri1 veri2 yazıyor.. sonra da veri1 ile veri10 arası sheetler oluşturuyor. F sütuınunda oluşan verilere göre sheet oluşturmuyor. oluşan bu sheetlerede veriler dağılmıyor.
 
ben örnek dosyamı tekrardan düzenledim ve daha açıklayıcı ve olmasını istediğim şekilde bu linkte gönderiyorum. tekrardan yardımlarınızı rica ederim
 

Ekli dosyalar

  • ornek.rar
    11.6 KB · Görüntüleme: 4
Siz IP bilgisinden hareketle konum tespiti yapılmasını mı istiyorsunuz acaba?
Eğer öyleyse benim çözüm bulmam güç, zira web'den bilgi çekme konusunda tecrübem yeterli değil malesef.
 
hayır üstadım. o ipler bana ait ip ler. ben belirli ip aralıklarına belirli veriler gelsin istiyoru hepsi bu.

şöyle düşünün
abcdefghıjkl burada 11 karakterli yazı var ben burada ilk 8 karaktere bakacağım ve ona göre bir yan sütuna karşısına sabit bir veri yazdıracağım

abcdefghıjkl verisinde abcdefghı görünce karşılığına london yazmak gibi
yine bir altsatırda abcdefghımno var diyelim zaten yine ilk sekiz karaktere bakacak abcdefghı yı buldumu yine yanına london yazacak

istediğim böyle buna benzer bişey benim verilerim ip den ibaret sadece

hatta ahmetrasim arkaşım bunu aşağıdaki kod düzeneğinde yapmıştı.
Sub ornek()
For x = 1 To Range("A" & Rows.Count).End(3).Row
If Cells(x, "A") Like "aaa.bbb*" Then Cells(x, "B") = "OK"
Next x
End Sub

bende bu kodu geliştirip aşağıdaki gibi yazdırmıştım. ama sonrasında işte bu oluşan veriler için sheetler açıp yanlarındaki verileri ilgili sheetlere dağıtsın istedim
Sub ornek()
For x = 2 To Range("E" & Rows.Count).End(3).Row
If Cells(x, "E") Like "aaa.bbb.ccc*" Then Cells(x, "G") = "london"

If Cells(x, "E") Like "bbb.ccc.ddd*" Then Cells(x, "G") = "web"

If Cells(x, "E") Like "ccc.ddd.fff*" Then Cells(x, "G") = "amsterdam"

Next x
End Sub
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
21
Geri
Üst