Araç Servis Takip Programı (AST-v.2) foruma eklenmiştir. 
http://www.excelce.net/forum/index.php?topic=1656.0

Gönderen Konu: VBA ile İlgili Kısa Bir Soru  (Okunma sayısı 10041 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #15 : 19 Mayıs 2020, 18:32:44 »
DOSYA ADI KISMINI DEĞİŞTİRDİM "C:\Users\XXXX\Desktop\me" CSV LERİN İÇİNDE OLDUĞU KLASÖRÜN ADINI YAPIYORUM AMA ORDA HATA VERİYOR CSVLER ME KLASÖRÜNDE

Tamamen büyük harfle yazmayalım lütfen.

"C:\Users\XXXX\Desktop\me" yi "C:\Users\XXXX\Desktop\me\" şeklinde yapar mısınız?


Alıntı
While dosyaadi <> ""
  Bu da bir döngüdür. Dosya bulamayana kadar devam eder.

Döngü çeşitlerini internetten araştırabilirsiniz.

Örnekler: http://excelvba.net/viewtopic.php?f=63&t=625
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı mermer

  • Excelce Onbaşı
  • **
  • İleti: 16
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mehmet ER
  • Doğum Yılınız: 1986
  • İl / İlçe: İZMİR
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #16 : 19 Mayıs 2020, 21:15:01 »
üstat şöyle bir uayrı alıyorum nerde hata yapıyrum ki :(

« Son Düzenleme: 19 Mayıs 2020, 21:17:47 Gönderen: mermer »

Çevrimdışı mermer

  • Excelce Onbaşı
  • **
  • İleti: 16
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mehmet ER
  • Doğum Yılınız: 1986
  • İl / İlçe: İZMİR
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #17 : 19 Mayıs 2020, 22:29:05 »
ÜSTAT kodun çalışan son şekli elimden bu kadar geldi bir exel sayfasında bul değiştirle ARCLK isimlerini  vestl bosh vs yapıp alt altalta copy paste yapacam kodları başka çarem kalmadı :( 367 tane csv var biarz uğraştıracak ama olsun başka çarem kalmadı

Çevrimdışı mermer

  • Excelce Onbaşı
  • **
  • İleti: 16
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mehmet ER
  • Doğum Yılınız: 1986
  • İl / İlçe: İZMİR
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #18 : 19 Mayıs 2020, 22:30:01 »
Sub TT()
ThisWorkbook.Sheets.Add.Name = "ARCLK"
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("ARCLK")
Application.Workbooks.Open ("C:\Users\xxxxx\Desktop\me\ARCLK.csv")
Sheets("ARCLK").Range("A1").CurrentRegion.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, Semicolon:=True
Sheets("ARCLK").Rows("2:2").Insert Shift:=xlDown
Sheets("ARCLK").Rows("3:3").Insert Shift:=xlDown
Sheets("ARCLK").Cells(2, 1) = "Hisse Adı"
Sheets("ARCLK").Cells(3, 1) = "Para Birimi"
Sheets("ARCLK").Range("B2:AW2") = "ARCLK"
Sheets("ARCLK").Range("B3:AW3") = "TL"
Sheets("ARCLK").Range("A1").CurrentRegion.Copy
sh.Range("A1").PasteSpecial xlPasteValues, Transpose:=True
Workbooks("ARCLK.csv").Save
Workbooks("ARCLK.csv").Close
End Sub

Çevrimdışı mermer

  • Excelce Onbaşı
  • **
  • İleti: 16
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mehmet ER
  • Doğum Yılınız: 1986
  • İl / İlçe: İZMİR
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #19 : 29 Mayıs 2020, 00:41:59 »
Kodu biraz daha geliştirirsek:

Kod: [Seç]
   Dim dosyaadi As String
    dosyaadi = Dir("C:\Excelce\")
    While dosyaadi <> ""  'Klasör içinde dosya ara
        Application.Workbooks.Open "C:\Excelce\" & dosyaadi  ' Sırayla dosyaları aç
        ThisWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = dosyaadi 'Açılan dosya adında sayfa ekle
        dosyaadi = Dir
       
    Wend

üstat sayende hallettim :) yaptığım hata \ iki tane doysa yolunun 1. sine \ imleci koymak ikincisine koymamakmış Çok sağol Allah ne muradın  varsa versin aklıma geldikçe hep duacınım beni büyük bir yüketn kurtardın

Yukarıdaki şekilde, klasördeki dosyaları sırayla açıyor ve mevcut dosyamızda o isimde bir sayfa ekliyoruz.


Aşağıdaki koda ise sizin kodların entegre edilmesi örneğini görebilirsiniz:
Kod: [Seç]
   Dim dosyaadi As String
   
    dosyaadi = Dir("C:\Excelce\")
    While dosyaadi <> ""  'Klasör içinde dosya ara
        Application.Workbooks.Open "C:\Excelce\" & dosyaadi  ' Sırayla dosyaları aç
       
        'Sizin yaptırdığınız işlemler:
        ActiveSheet.Range("A1").CurrentRegion.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, Semicolon:=True
        ActiveSheet.Rows("2:2").Insert Shift:=xlDown
        ActiveSheet.Rows("3:3").Insert Shift:=xlDown
        ActiveSheet.Cells(2, 1) = "ÜRÜN ADI"
        ActiveSheet.Range("B2:AW2") = "ARCLK"
        ActiveSheet.Range("A1").CurrentRegion.Copy
               
        ThisWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = dosyaadi 'Açılan dosya adında sayfa ekle
        ThisWorkbook.Sheets(dosyaadi).Range("A1").PasteSpecial xlPasteValues, Transpose:=True
       
        Workbooks(dosyaadi).Close , False 'açtığımız dosyayı kaydetmeden kapatıyoruz
        dosyaadi = Dir
       
    Wend

Bu arada, daha sağlıklı kontrol için örnek csv'lerden bir tane ekleyebilir misiniz?

Çevrimdışı mermer

  • Excelce Onbaşı
  • **
  • İleti: 16
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mehmet ER
  • Doğum Yılınız: 1986
  • İl / İlçe: İZMİR
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #20 : 29 Mayıs 2020, 00:46:04 »
üstat sayende hallettim :) yaptığım hata \ iki tane doysa yolunun 1. sine \ imleci koymak ikincisine koymamakmış Çok sağol Allah ne muradın  varsa versin aklıma geldikçe hep duacınım beni büyük bir yüketn kurtardın

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: VBA ile İlgili Kısa Bir Soru
« Yanıtla #21 : 30 Mayıs 2020, 15:58:30 »
Yardımcı olabildiğime sevindim.
Çalışmalarınızda başarılar.  :cicek1
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)