sıralama

Katılım
22 Ağustos 2022
Mesajlar
40
Excel Vers. ve Dili
2016
iyi geceler arkadaşlar



örnek dosya yükledim.

a deki isimlerin karşılıgında b sutununda negatıf ve pozıtıf sayılar var , sutun uzunlugu değişken

bunları pozıtıf olanlarını buyukten kucuge E VE F sütununa,

negatif olanları KÜÇÜKTEN BÜYÜĞE h ve ı sütunlarına yazdırmak istiyorum.

vba olarak yardımcı olabılırmısınız .


emeğinize sağlık

 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Google Sheets ile kolayca yapılabilir;

E2 ve H2 hücrelerine yazılan formüller ilgili tabloyu hazırlar....

İşiniz bittikten sonra da MS Excel formatında dosyayı bilgisayara indirebilirsiniz.



.
 
Katılım
22 Ağustos 2022
Mesajlar
40
Excel Vers. ve Dili
2016
Google Sheets ile kolayca yapılabilir;

E2 ve H2 hücrelerine yazılan formüller ilgili tabloyu hazırlar....

İşiniz bittikten sonra da MS Excel formatında dosyayı bilgisayara indirebilirsiniz.



.

Haluk hocam

excel 2016 kullanıyorum . diğer kodlarımının içine ekleyeceğimden google sheet bana yaramaz

sanırım yazdıgınız formuller bende yok .tam bilmiyorum ama dediğiniz exceli indirdim ekran görünütüsü ekledim

vba olarak yazabılırmısınız

 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroyu deneyin:

PHP:
Sub sayilar()
Range("E2:I" & Rows.Count).ClearContents

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select * from [Sayfa1$A1:B" & son & "] where f2>0 order by F2 desc "
Set rs = con.Execute(sorgu)
[E2].CopyFromRecordset rs

sorgu = "select * from [Sayfa1$A1:B" & son & "] where f2<0 order by F2 asc "
Set rs = con.Execute(sorgu)
[H2].CopyFromRecordset rs
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Yusuf Beyin kodunun biraz daha kısaltılmış şekli;

C#:
Sub Test()
    Dim objConn As Object
    
    Range("E2:H" & Rows.Count).ClearContents
    
    Set objConn = CreateObject("ADODB.Connection")
    objConn.Open "Provider=MICROSOFT.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0;HDR= No'"
    
    [E2].CopyFromRecordset objConn.Execute("Select F1, F2 From [Sayfa1$A1:B] Where F2>0")
    [H2].CopyFromRecordset objConn.Execute("Select F1, F2 From [Sayfa1$A1:B] Where F2<0")
    
    objConn.Close
    Set objConn = Nothing
End Sub
.
 
Katılım
22 Ağustos 2022
Mesajlar
40
Excel Vers. ve Dili
2016
Yusuf Beyin kodunun biraz daha kısaltılmış şekli;

C#:
Sub Test()
    Dim objConn As Object
   
    Range("E2:H" & Rows.Count).ClearContents
   
    Set objConn = CreateObject("ADODB.Connection")
    objConn.Open "Provider=MICROSOFT.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties='Excel 12.0;HDR= No'"
   
    [E2].CopyFromRecordset objConn.Execute("Select F1, F2 From [Sayfa1$A1:B] Where F2>0")
    [H2].CopyFromRecordset objConn.Execute("Select F1, F2 From [Sayfa1$A1:B] Where F2<0")
   
    objConn.Close
    Set objConn = Nothing
End Sub
.
Aşağıdaki makroyu deneyin:

PHP:
Sub sayilar()
Range("E2:I" & Rows.Count).ClearContents

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select * from [Sayfa1$A1:B" & son & "] where f2>0 order by F2 desc "
Set rs = con.Execute(sorgu)
[E2].CopyFromRecordset rs

sorgu = "select * from [Sayfa1$A1:B" & son & "] where f2<0 order by F2 asc "
Set rs = con.Execute(sorgu)
[H2].CopyFromRecordset rs
End Sub

teşekkür ederim , emeğinize sağlık ...
 
Üst