Sayfa 2/2 İlkİlk 12
Arama sonucu : 13 madde; 9 - 13 arası.

Konu: Excelde Makro Menüsü

  1. #9
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,698
    merhaba,

    1 excell dosyası yaptım, bunu eğer kendim manuel farklı kaydet CSV olarak kaydet dediğimde istediğim oluyor
    kayıt yaparken değerlerin arasına ";" koyarak kaydediyor ve yine excell de aç dediğimde sanki excelmiş gibi sutunlara yerleşmiş şekilde açılıyor.

    ama sorunum şu,
    makro ile kaydetmek istiyorum o zaman değerlerin arasına "," koyarak kayıt yapıyor istediğim şekilde açamıyor ve okutamıyorum.

    notepat.exe görüntüsü ile

    istediğim sonuç


    AKBNK;0;0;H;E;70;10;E;8;1;3;E
    ARCLK;0;0;H;E;60;15;E;2;1;2;E
    ASELS;0;0;H;E;60;10;E;3;1;2;E
    BIMAS;0;0;H;E;60;10;E;1;1;2;E
    EKGYO;0;0;H;E;60;10;E;24;2;2;E
    EREGL;0;0;H;E;60;10;E;3;1;2;E
    FROTO;0;0;H;E;60;10;E;1;1;2;E



    makro ile yaparsam elde ettiğim sonuç

    AKBNK,0,0,H,E,70,10,E,8,1,3,E
    ARCLK,0,0,H,E,60,15,E,2,1,2,E
    ASELS,0,0,H,E,60,10,E,3,1,2,E
    BIMAS,0,0,H,E,60,10,E,1,1,2,E
    EKGYO,0,0,H,E,60,10,E,24,2,2,E
    EREGL,0,0,H,E,60,10,E,3,1,2,E
    FROTO,0,0,H,E,60,10,E,1,1,2,E




    makro aşağıda

    Kod:
    Sub KAYDET()
    '
    ' KAYDET Makro
    '
    ' Klavye Kısayolu: Ctrl+ÜstKrkt+B
    '
        ActiveWorkbook.Save
        Range("A1:L60").Select
        Selection.Copy
        Workbooks.Add
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ActiveWorkbook.SaveAs Filename:="D:\Listeler\Vdl_Spot_O.Csv", _
            FileFormat:=xlCSV, CreateBackup:=False
        ActiveWorkbook.Save
        ActiveWindow.Close
        Range("A1").Select
    End Sub

    makro ile kaydederken ";" olarak yaptırmanın bir yolu var mıdır?

    FileFormat:=xlCSVMSDOS, olarak denedim onda da sonuç bozuk.

    windows bölgesel ayarlardan ayraç ";" olmalı demişler baktım orası doğru (hatta tersini yapıyor diye "," olarakta denedim) olmuyor.
    Bear_Bull
    @BearBull26

  2.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    merhaba,

    1 excell dosyası yaptım, bunu eğer kendim manuel farklı kaydet CSV olarak kaydet dediğimde istediğim oluyor
    kayıt yaparken değerlerin arasına ";" koyarak kaydediyor ve yine excell de aç dediğimde sanki excelmiş gibi sutunlara yerleşmiş şekilde açılıyor.

    ama sorunum şu,
    makro ile kaydetmek istiyorum o zaman değerlerin arasına "," koyarak kayıt yapıyor istediğim şekilde açamıyor ve okutamıyorum.


    makro ile kaydederken ";" olarak yaptırmanın bir yolu var mıdır?


    Sn bear bull
    Biraz karmaşık bir konu.

    2 farklı yol denedim.
    ikiside istediğiniz gibi çalışıyor.





    Kod:
    Sub KAYDET()
    '
    ' KAYDET Makro
    '
    ' Klavye Kısayolu: Ctrl+ÜstKrkt+B
    '
        ActiveWorkbook.Save
        Range("A1:L60").Select
        Selection.Copy
        Workbooks.Add
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Range("a1") = Application.WorksheetFunction.Text****(";", True, Range("A1:L1"))
        Range("b1:m1").ClearContents
        ActiveWorkbook.SaveAs FileName:="C:\Users\ilkera\Desktop\Vdl_Spot_O.Csv", _
        FileFormat:=xlCSV, CreateBackup:=False
        ActiveWorkbook.Save
        ActiveWindow.Close
        Range("A1").Select
    End Sub

    Kod:
    Option Explicit
     
    Sub SaveAsDelimitedFile(Rng As Range, _
      FileName As String, _
      Optional ColDelimiter As String = ";", _
      Optional RowDelimiter As String = vbCrLf)
     
      Dim hFile As Long
      Dim vData As Variant
      Dim nRow As Long, nCol As Long
       
      On Error GoTo SaveAs_Err
       
      hFile = FreeFile()
      Open FileName For Output As #hFile
       
      vData = Rng.Value2
      For nRow = 1 To UBound(vData, 1)
        For nCol = 1 To UBound(vData, 2) - 1
          Print #hFile, vData(nRow, nCol); ColDelimiter;
        Next
        Print #hFile, vData(nRow, nCol); RowDelimiter;
      Next
     
      Close #hFile
       
    SaveAs_Exit:
      Exit Sub
       
    SaveAs_Err:
      MsgBox Err.Description, vbCritical
      Resume SaveAs_Exit
       
    End Sub
     
    Sub TestSaveAs()
      SaveAsDelimitedFile Range("A1:L60"), "myfile.csv"
    End Sub

  3. #11
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,698
    Sn Kandırıldım çok teşekkürler

    1. makroyu çalıştıramadım
    Range("a1") = Application.WorksheetFunction.Text****(";", True, Range("A1:L1")
    bu satırdaki **** lardan kaynaklı muhtemelen.

    2. makroyu kullandım ve çok işime yaradı tekrar teşekkür ederim.
    emeğinize sağlık,
    Eskişehir'e yolunuz düşerse Çibörek+Ayran ısmarlamak borcum olsun.
    Bear_Bull
    @BearBull26

  4.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    Sn Kandırıldım çok teşekkürler

    1. makroyu çalıştıramadım
    Range("a1") = Application.WorksheetFunction.Text****(";", True, Range("A1:L1")
    bu satırdaki **** lardan kaynaklı muhtemelen.

    2. makroyu kullandım ve çok işime yaradı tekrar teşekkür ederim.
    emeğinize sağlık,
    Eskişehir'e yolunuz düşerse Çibörek+Ayran ısmarlamak borcum olsun.
    Sn bear bull memnuniyet duyarım.
    Edirne de de benim misafirim olun lütfen.


    1. kısımdaki *** ları yapıştırırken fark etmedim. Kusura bakmayın.

    Gönderiyi Editlemek durumunda kalıyorum. Tekrar ** gösteriyor.

    o alan "t e x t j o i n" olacak.
    Son düzenleme : Kandirildim; 17-10-2022 saat: 08:30.

  5. excell ile ilgili bir takım sorunlar bende de var.

Sayfa 2/2 İlkİlk 12

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •