• DİKKAT

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

Kapalı CSV Dosyasından Veri Çekmek

Merhaba, bu işlemi nasıl yapabilirim ? Powershell ile hisselerin bilançolarını indiriyorum. (CSV olarak). İndirmiş olduğum bilançoları, ana tabloda giriş kutusundan seçtiğim hissenin bilançosunu excel sütün ve satırlara ayrılmış şekilde nasıl aktarabilirim. ?
 

Ekli dosyalar

çok teşekkür ederim. bilginize ve emeğinize sağlık :) , Excel VBA eğitimi aldığım fakat henüz eğitimin başındayım ve öğrenmeye kararlıyım.
 
Merhaba Haluk Hocam,
Hazırladığınız 43. mesajdaki dosyadaki makro muhteşem.
1- Hangi satırda hücrelere ayrılıyor?
2- .csv dosyadaki "hiçbir zaman","ara sıra"," şeklindeki yazıyı "hiçbir zaman","ara sıra"," haline de nasıl geldi anlamadım. Çok kısaca izah ederseniz çok makbule geçer.
Saygılarımla
 
Modul2 içinde yer alan, Excel'in yerleşik işlevi olan "Metin Dosyasından Veri Alma" işlevi sırasında "makro kaydet" yöntemiyle elde edilen kodlar kısaltılarak kullanıldı. Bu sırada metin dosyasında karakter encoding olarak 65001 yani "UTF-8" kullanıldı.

.
 
Sayın Haluk Hocam,
Çok teşekkür ederim. Harikasınız. Macro1 nasıl etkiledi, onu göremadim ama?
Saygılarımla
 
Macro1 calismiyor, o sadece musvedde olarak duruyor orada. Esas isi yapan kod, sayfa modulunde.

.
 
Sayın Haluk Hocam,
Tekrar teşekkür ederim. Sayfa modülündeki makroyu Hucrelere_Ayir adyla ayarladım. csv dosyadan alıyor, ama ayıramıyor. Modul2 de excel ile oluşturulan makro ile yapabiliyorum. Buna bakar mısınız, lütfen?
Saygılarımla
 

Ekli dosyalar

Tevfik Bey, bunu kullanın;

C#:
Sub Hucrelere_Ayir_HD()
    'Haluk - 09/12/2022
    'sa4truss@gmail.com
    
    Dim myFile As String
    Range("F:FZ").ClearContents
    myFile = ThisWorkbook.Path & "\" & [B1] & ".csv"
    
    With Sheets("Sayfa1").QueryTables.Add(Connection:="TEXT;" & myFile, Destination:=Sheets("Sayfa1").Range("$F$3"))
        .Name = "myTable"
        .TextFilePlatform = 65001
        .TextFileStartRow = 2
        .TextFileParseType = xlDelimited
        .TextFileCommaDelimiter = True
        .TextFileTextQualifier = xlTextQualifierSingleQuote
        .Refresh BackgroundQuery:=False
    End With
    
    Cells.Replace What:="""", Replacement:=""
  
    ThisWorkbook.Connections(1).Delete
    Sheets("Sayfa1").QueryTables(1).Delete
End Sub

.
 
Sayın Haluk Hocam,
Tekrar teşekkür ederim. Desteklediğiniz her konu ile çok farklı şeyler düşünmemi sağlyorsunuz. Bu açıdan ayrıca teşekkür ederim. Önerilerinizi uygulayarak ta daha hızla ve daha sade çalışmalar ile sonuca ulaşıyorum. Şimdi de bir okula destek için hazırlık yapıyorum.
Sadece merakımdan soruyorum. Daha önce üç farklı makro ile yaptığımı, şimdi makronuzla, csv dosyasından gelenleri F sütununa F3 ten itibaren diziyor, sonrasında da H:N arasını dosyadaki gibi düzenliyorum (bu işlem için de yine dört farklı makro çalıştırıyorum.)
Bu düzenlemeyi, bu makroya acaba ne ekleyerek yaparsınız?
Saygılarımla
 

Ekli dosyalar

Şöyle birşey olabilir;

C#:
Sub Hucrelere_Ayir_HD2()
    'Haluk - 10/12/2022
    'sa4truss@gmail.com
   
    Dim myFile As String
   
    myFile = ThisWorkbook.Path & "\" & [B1] & ".csv"
   
    With Sheets("Sayfa1").QueryTables.Add(Connection:="TEXT;" & myFile, Destination:=Sheets("Sayfa1").Range("$F$3"))
        .Name = "myTable"
        .TextFilePlatform = 65001
        .TextFileStartRow = 2
        .TextFileParseType = xlDelimited
        .TextFileCommaDelimiter = True
        .TextFileTextQualifier = xlTextQualifierSingleQuote
        .Refresh BackgroundQuery:=False
    End With
   
    Cells.Replace What:="""", Replacement:=""
   
    ThisWorkbook.Connections(1).Delete
    Sheets("Sayfa1").QueryTables(1).Delete
   
    iCount = Range("F3").CurrentRegion.Rows.Count
    jCount = Range("F3").CurrentRegion.Columns.Count
   
    For i = 3 To iCount + 2
        strAnsw = ""
        For j = 12 To jCount
            Select Case Cells(i, j)
                Case "hiçbir zaman": strAnsw = strAnsw & "A"
                Case "ara sıra": strAnsw = strAnsw & "B"
                Case "her zaman": strAnsw = strAnsw & "D"
                Case "sık sık": strAnsw = strAnsw & "C"
            End Select
        Next
        Cells(i, 12) = strAnsw
        Range(Cells(i, 13), Cells(i, 12 + jCount)) = ""
        Cells(i, 13) = "."
    Next
End Sub

.
 

Ekli dosyalar

Sayın Haluk Hocam,
İlginize çok teşekkür ederim.
Saygılarımla
 
Geri
Üst