Soru datayı komuta dönüştürme

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
737
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Arkadaşla kod birleştirmeleri nasıl yapabilirim? DATA sayfasında yaklaşık 1000 satır olacaktır.

Teşekkürler.
 

Ekli dosyalar

Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Yeni bir modüle ekleyin aşağıdaki kodları modüle kopyalayın.

Kod:
Public Function Data_Komut(Aralik As Range) As String   
    Dim Bak As Range
    Dim Komut As String
    For Each Bak In Aralik
        If Komut = "" Then
            Komut = "[""" & Bak.Text & """"
        Else
            Komut = Komut & ", """ & Bak.Text & """"
        End If
    Next
    Data_Komut = "{Sheet1_.Teyit Metni} like " & Komut & "]"
End Function
Excele yeni bir Kullanıcı Tanımlı Formül eklemiş olduk.

Kullanımı:
Sonucun hangi hücrede dönmesini istiyorsanız aşağıdaki formülü oraya kopyalayın.

Kod:
=Data_Komut(DATA!A1:A6)
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Google E tablolarda yapmak isterseniz.
Kod:
="{Sheet1_.Teyit Metni} like [""" & TEXTJOIN(""",""";1;A2:A) & """]"
TextJoin Office 365 ve Excel 2019 da var ama bende olmadığı için deneme şansım yok.
 
Son düzenleme:

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
737
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba.

Yeni bir modüle ekleyin aşağıdaki kodları modüle kopyalayın.

Kod:
Public Function Data_Komut(Aralik As Range) As String  
    Dim Bak As Range
    Dim Komut As String
    For Each Bak In Aralik
        If Komut = "" Then
            Komut = "[""" & Bak.Text & """"
        Else
            Komut = Komut & ", """ & Bak.Text & """"
        End If
    Next
    Data_Komut = "{Sheet1_.Teyit Metni} like " & Komut & "]"
End Function
Excele yeni bir Kullanıcı Tanımlı Formül eklemiş olduk.

Kullanımı:
Sonucun hangi hücrede dönmesini istiyorsanız aşağıdaki formülü oraya kopyalayın.

Kod:
=Data_Komut(DATA!A1:A6)

Çok teşekkürler hocam. =Data_Komut(DATA!A1:A424) bazen =Data_Komut(DATA!A1:A4000)'de olacak her seferinde elle değiştirmemek için komut DATA'daki satır sayısını tespit edemezmi acaba?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Power Query,
Kod:
let
    Kaynak = Excel.CurrentWorkbook(){[Name="Tablo1"]}[Content],
    Metin = Table.TransformColumnTypes(Kaynak,{{"Sütun1", type text}}),
    Sütun1 = Metin[Sütun1],
    Concat= "{Sheet1_.Teyit Metni} like [""" & Text.Combine(List.Transform(Sütun1, each _), """,""")& """]"
in
Concat
test.gif
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Çok teşekkürler hocam. =Data_Komut(DATA!A1:A424) bazen =Data_Komut(DATA!A1:A4000)'de olacak her seferinde elle değiştirmemek için komut DATA'daki satır sayısını tespit edemezmi acaba?
Aşağıdaki kod ile olur.

Kod:
Public Function Data_Komut(Aralik As Range) As String
    Dim Bak As Range
    Dim Komut As String
    For Each Bak In Worksheets(Aralik.Parent.Name).Range(Cells(Aralik.End(xlUp).Row, Aralik.Column).Address & ":" & Cells(Aralik.End(xlDown).Row, Aralik.Column).Address)
        If Komut = "" Then
            Komut = "[""" & Bak.Text & """"
        Else
            Komut = Komut & ", """ & Bak.Text & """"
        End If
    Next
    Data_Komut = "{Sheet1_.Teyit Metni} like " & Komut & "]"
End Function
İsterseniz formülü aşağıdaki gibi de kullanabilirsiniz.

Kod:
=Data_Komut(DATA!A:A)
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Function komutOlustur(rng As Range)
    For Each elem In rng.Cells
        If Not IsEmpty(elem) Then lst = lst & """,""" & elem.Value
    Next elem
    komutOlustur = "{Sheet1_.Teyit Metni} like [""" & Mid(lst, 4) & """]"
End Function
 
Üst