Sayfayı 100'er satırlık csv dosyalara bölerek kaydetme (Excel Macrosu var)

Sayfayı 100'er satırlık csv dosyalara bölerek kaydetme (Excel Macrosu var)

#2641 İleti | mountain_human | 22 May 2020, 09:45

Çok büyük bir sayfayı 100'er satırlık csv dosyalara bölerek kaydetme.
İyi günler,

Elimde her ay 7-12 bin satırlık fatura dosyaları oluyor. Bunları ana programa aktarırken ana program en fazla 101 satırlık csv dosya kabul ediyor. Her bölümün ilk satırının da sabit bir başlık satırı olması gerekiyor. Her bir dosyaya ardıl numaralar vermek gerekiyor.

Örnek;

- Elimde 10000 (on bin) satırlık mayıs.ods dosyası var.

- İlk satırında (başlık satırı) Tarih, Açıklama, FaturaNo, Tutar, Matrah, KDV gibi sütun başlıkları var. (Dosya bölündüğünde bu satırın tüm csv dosyalarının ilk satırlarında sabit olarak yer alması gerekiyor.)

- mayıs.ods dosyasını 100'er satırlık bölümlere ayırıp ilk satırlarına ana dosyanın ilk satırındaki başlığı ekleyerek;

şubat-001.csv
şubat-002.csv
...
...
...
şubat-099.csv
şubat-100.csv

biçiminde bölen bir makro gerekiyor.


Şimdi gelelim soruna:

Bu makroyu Excel forumlarından yardımla elde ettim. Ancak makro LibreOffice’de çalışmıyor. Bizim de tüm bilgisayarlarımız Linux (ubuntu ve pardus) ve parasını vermediğimiz programı kullanmamız yasak (yani excel kullanamıyoruz).

Sub CSV()
'
' CSV Makro
'

'
isim = [B5]
belge = ThisWorkbook.Path & "\" & isim & ".csv"
Range("B3").Select
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B4").Select
Selection.Copy
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("C4").Select
Sheets("3").Select
Sheets("3").Copy
ActiveWorkbook.saveas Filename:=belge, _
FileFormat:=xlCSV, CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWindow.Close
Sheets("2").Select <---Hatalı görünen satır
Range("C4").Select
Selection.ClearContents
End Sub

Macro
BASIC Çalışma zamanı hatası
‘1’
Type: com.sun.star.container.NoSuchElementException
Message:

Hatası veriyor ve iş yapmıyor.

Yardımlarınız için şimdiden teşekkürler, saygılar.
mountain_human
 
İleti: 3
Kayıt: 12 Mar 2020, 11:34
İşletim Sisteminiz: Ubuntu 18.04
LibreOffice Sürümü: 6.0.7.3

Calc - Hesap Tablosu

Kimler çevrimiçi

Kayıtlı kullanıcılar: Kayıtlı kullanıcı yok

cron