• DİKKAT

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

tabloyu dikey sıralama hk.

Katılım
23 Şubat 2014
Mesajlar
8
Excel Vers. ve Dili
Open Office 4.1
Excel 2007 Türkçe
Excel 2016 Türkçe
Excel 2019 Türkçe
Değerli arkadaşlar merhaba

a1 den a100 e kadar uzanan bir tablom ve bu hücrelerin altında değerler mevcut. boş ve sıfır olanlar da var.

ulaşmaya çalıştığım sonuç;

herhangi bir boş sütun yada farklı çalışma sayfasında bu değerlerin sıfır ve boş değerler elenerek dikey şekilde sıralanması.

önce a1 in sıfır ve boş değerleri hariç, sonra a2 ve a100 e kadar.

basit bir örnek ekledim.

konu hakkında yardımcı olursanız çok sevinirim. teşekkürler.
 

Ekli dosyalar

Merhaba,

Kolon Sayısı sabit midir? Yani hep A1 ile A100 arasında mı? olur.
Yoksa bazen misal A1 ile A27 arasında bazen A1 ile A8 arasında olabilir mi?
 
merhabalar

100 den fazla da olabilir.sabit değildir.
 
Merhaba,

dosyanız ektedir.

Çıkan sonucu sayfa2 de A sütununda görebilirsiniz.

Dosya indiremeyecekler için kodlar:

Kod:
Dim i As Integer
Dim x As Integer
Dim z As Integer
Dim y As Integer
Dim Sonkolon  As Integer
Dim Sonsatir As Integer
Private Sub CommandButton1_Click()
Sonkolon = Sayfa1.Cells(1, 256).End(xlToLeft).Column
Sonsatir = Sayfa2.Cells(65536, "A").End(3).Row + 1

For z = 2 To Sayfa2.Cells(65536, "A").End(3).Row + 1
Sayfa2.Cells(z, "A").Value = ""
Sonsatir = 2
Next z


For i = 1 To Sonkolon Step 1


y = Sayfa1.Cells(65536, i).End(3).Row

For x = 2 To y
If Sayfa1.Cells(x, i).Value <> "" And Sayfa1.Cells(x, i).Value <> "0" Then
Sayfa2.Cells(Sonsatir, "A").Value = Sayfa1.Cells(x, i).Value
Sonsatir = Sonsatir + 1
End If
Next x

Next i


End Sub
 

Ekli dosyalar

Merhaba.

Alternatif olsun.

Sütunlardaki satır adetinin birbirinden farklı olabileceği varsayıldı.
(aynı olması da sorun değil elbette)

Kod, mevcut sayfanızda son dolu sütundan sonra 1 sütun boş bırakıp bir sonrakine listeleme yapar.
.
Kod:
[FONT="Arial Narrow"]Sub BRN()
sonsut = [A1].End(2).Column + 2: Range(Cells(2, sonsut), Cells(65536, sonsut)).ClearContents
Cells(1, sonsut) = "LİSTE"
For sut = 1 To sonsut - 2
For sat = 2 To Cells(65536, sut).End(3).Row
If Cells(sat, sut) > 0 Then Cells(Cells(65536, sonsut).End(3).Row + 1, sonsut) = Cells(sat, sut)
Next: Next
End Sub[/FONT]
 
teşekkürler arkadaşlar,

emeğinize sağlık. excelde çalışıyor ancak şirket politikası gereği openoffice kullanıyoruz ve kodlar geçersiz kalıyor.

bu sebeple formülleme şansımız olur mu ? örn satır sayısını sbt tutarak.sütun yine değişken biçimde.
 
Tekrar merhaba.

OpenOffice ile ilgili hiçbir bilgim yok ancak net'te arama yaptığımda aşağıdaki sayfaya rastladım.
http://www.business-spreadsheets.com/vba2oo.asp

Bu bağlantı sayfasında, VBA kodlarının dönüştürüldüğü söyleniyor.
Verdiğim kod'u çevirmeyi denediğimde aşağıdaki gibi bir sonuç aldım.
İşe yarar mı bilemiyorum. Bir deneyin isterseniz.
.
Kod:
Sub BRN()
sonsut = [A1].End(2).Column + 2
getCellThisComponent.CurrentController.ThisComponent.CurrentController.ActiveSheet.getCellDim oSheet as Object[n]oSheet = ThisComponent.CurrentController.ActiveSheet[n]oSheet.getCellRangeByName($1)ByName(ByName((Cells(2, sonsut), Cells(65536, sonsut))).clearContents(com.sun.star.sheet.CellFlags.VALUE + com.sun.star.sheet.CellFlags.STRING + com.sun.star.sheet.CellFlags.DATETIME)(com.sun.star.sheet.CellFlags).Value + com.sun.star.sheet.CellFlags.STRING + com.sun.star.sheet.CellFlags.DATETIME + com.sun.star.sheet.CellFlags.ANNOTATION + com.sun.star.sheet.CellFlags.FORMULA + com.sun.star.sheet.CellFlags.HARDATTR + com.sun.star.sheet.CellFlags.STYLES + com.sun.star.sheet.CellFlags.OBJECTS + com.sun.star.sheet.CellFlags.EDITATTR)Contents
Cells(1, sonsut) = "LİSTE"
For sut = 1 To sonsut - 2
For sat = 2 To Cells(65536, sut).End(3).Row
If Cells(sat, sut) > 0 Then
Cells(Cells(65536, sonsut).End(3).Row + 1, sonsut) = Cells(sat, sut)
End If
Next
Next
End Sub
 
Ömer Bey,

Denedim kabul etmedi maalesef. Desteğiniz için teşekkür ederim hepinize.
 
Zamanınız varsa ekteki star basic dökümanına bakarak makro yazabilirsiniz.

İçinde VB - Star basic karşılaştırmalı bolca örnek var.


.
 

Ekli dosyalar

Zeki Bey,

Teşekkür ederim zaman ayırdığınız için.En kısa sürede inceleyeğim.

Ek bir soru sormam gerekir ise ; (forum sitesinde en uygun kelimelerle aradım ancak bulamadım.)

aynı tabloyu ele alırsak, örn olarak 8 değerini arıyorum ve formül kullanarak bu 8 değerinin hangi hücrede( yada tekrarlı ise hücrelerde) olduğunu adetleriyle bulabilir miyiz?

a1 de 2 tane, a46 da 1 tane gibi.

destek olabilirseniz çok sevinirim.
 
Geri
Üst