• DİKKAT

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

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

Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
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:
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)
 
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:
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?
 
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:
Ç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)
 
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
 
Geri
Üst