Skip to main content

AccessTr.neT


Sınav Değerlendirme

ercansahiner61
ercansahiner61
46
3090

Sınav Değerlendirme

Çözüldü #1
Benim yaptığım makroda sıralama sayfasındaki veriler her satır için listeye aktar butonuna basıldığında yatay olarak satır satır aktarılıyor.
Benim yapmak istediğim; Her satırda 12, Her sütunda sayfa başına 38 kayıt olacak şekilde tümünü birden ana liste makro sayfasına aktaracak bir makro nasıl yazabiliriz..(toplam dosya no adedi 60.000 olacak şekilde yapılması gerekiyor) Ayrıca bu işlemi dolaylı formülü ile yapmamız mümkün olabilirmi.???  şimdiden teşekkür ediyorum.

makro konusunda yetersizim. bunu makro kaydet komutu ile yaptım, gerekli düzenlemeyi yapıp gönderebilirseniz memnun olurum....
.rar Düşüm listesi xlsm.rar (Dosya Boyutu: 134,37 KB | İndirme Sayısı: 7)
Son Düzenleme: 05/02/2021, 01:10, Düzenleyen: ercansahiner61.
Cevapla
#2
lütfen soruları sorular kısmında açalım
diğer yerlere açtığınız konular dikkatten kaçabilir
aşağıdaki yordamı dener misiniz?
Sub ListeAktar()
Dim SonStr As Long
Dim Sht As Worksheet
Dim ShtHdf As Worksheet
Dim Dizi() As Variant
Set Sht = ThisWorkbook.Worksheets("ANA LİSTE")
Set ShtHdf = ThisWorkbook.Worksheets("SIRALAMA")
SonStr = Sht.Cells(Sht.Rows.Count, "A").End(xlUp).Row
StrSay = (SonStr - 1) \ 12 + 1
ReDim Dizi(StrSay, 12)
i = 0
For StrX = 2 To SonStr Step 12

For StnY = 0 To 12
Dizi(i, StnY) = Sht.Cells(StrX + StnY, 1)
Next StnY
i = i + 1
Next StrX
ShtHdf.Range("A2").Resize(UBound(Dizi, 1), UBound(Dizi, 2)) = Dizi
MsgBox "bitti"
End Sub
Cevapla
#3
ÇOK TEŞEKKÜR EDERİM İSTEDİĞİM ŞEKİLDE OLMUŞ ANCAK KLAVUZ ÇİZGİLERİ OLMADIĞI İÇİN ÇIKTIDA KARIŞIK GÖZÜKÜYOR, VERİ KADAR (SAYFA ADEDİ KADARD) BİÇİMLENDİRME HÜCRELERE ÇİZGİBİÇİMİ YAPTIRABİLİRMİYİZ. TAMAMINI YAPTIM BU KEZ SAYFA SAYISINI ARTIRDI.
Cevapla
#4
kastettiğiniz şeyi anlamadım
sayfa ayarları Excel üzerinde ayarlanmıyor mu?
Cevapla
#5
aşağıdaki kod daha hızlı dizi yöntemiyle yapıldı
@feraz hocama saygılar))
Sub ListeAktarDz()
Dim SonStr As Long
Dim Sht As Worksheet
Dim ShtHdf As Worksheet
Dim Dizi() As Variant
Dim DiziKynk() As Variant
Set Sht = ThisWorkbook.Worksheets("ANA LİSTE")
Set ShtHdf = ThisWorkbook.Worksheets("SIRALAMA")
SonStr = Sht.Cells(Sht.Rows.Count, "A").End(xlUp).Row
StrSay = (SonStr - 1) \ 12 + 1
ReDim Dizi(StrSay, 12)
DiziKynk = Sht.Range("A2:A" & SonStr)

i = 0
For StrX = LBound(DiziKynk) To UBound(DiziKynk)
    Dizi(((StrX - 1) \ 12), (StrX - 1) Mod 12) = DiziKynk(StrX, 1)
Next StrX
ShtHdf.Range("A2").Resize(UBound(Dizi, 1), UBound(Dizi, 2)) = Dizi

MsgBox "bitti"
End Sub
Cevapla
#6
(05/02/2021, 21:22)berduş yazdı: aşağıdaki kod daha hızlı dizi yöntemiyle yapıldı
@feraz hocama saygılar))
Sub ListeAktarDz()
Dim SonStr As Long
Dim Sht As Worksheet
Dim ShtHdf As Worksheet
Dim Dizi() As Variant
Dim DiziKynk() As Variant
Set Sht = ThisWorkbook.Worksheets("ANA LİSTE")
Set ShtHdf = ThisWorkbook.Worksheets("SIRALAMA")
SonStr = Sht.Cells(Sht.Rows.Count, "A").End(xlUp).Row
StrSay = (SonStr - 1) \ 12 + 1
ReDim Dizi(StrSay, 12)
DiziKynk = Sht.Range("A2:A" & SonStr)

i = 0
For StrX = LBound(DiziKynk) To UBound(DiziKynk)
    Dizi(((StrX - 1) \ 12), (StrX - 1) Mod 12) = DiziKynk(StrX, 1)
Next StrX
ShtHdf.Range("A2").Resize(UBound(Dizi, 1), UBound(Dizi, 2)) = Dizi

MsgBox "bitti"
End Sub

Konuyu pek inceleyemdim lakin koda bakınca SIRALAMA sayfası A sütun temizlenmemiş abey Img-grin
Dizi kodları her derde dermandır Img-grin
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task