macro ile hücredeki değerin solundaki veriyi almak

Katılım
3 Mart 2011
Mesajlar
15
Excel Vers. ve Dili
2007 türkce
Merhaba,
excelde A sütununda alt alta isimler ve E sütununda değerler var, bu değerlerden 10 dan büyük olanların solundaki isimleri H sütünuna alt alta sıralamak istiyorum makro konusunda yardım edebilir misiniz?
örn.
A sutunu | E Sütunu
ahmet - 5
kadir - 15
mehmet - 7
hasan - 27
ayse - 11
olduğunu varsayalım makroyu çalıştırdığımda H sütunu
kadir
hasan
ayşe şeklinde olsun.
 
Katılım
3 Mart 2011
Mesajlar
15
Excel Vers. ve Dili
2007 türkce
Merhaba,
excelde A sütununda alt alta isimler ve E sütununda değerler var, bu değerlerden 10 dan büyük olanların solundaki isimleri H sütünuna alt alta sıralamak istiyorum makro konusunda yardım edebilir misiniz?
örn.
A sutunu | E Sütunu
ahmet - 5
kadir - 15
mehmet - 7
hasan - 27
ayse - 11
olduğunu varsayalım makroyu çalıştırdığımda H sütunu
kadir
hasan
ayşe şeklinde olsun.
örnek dosya
http://dosya.co/ds043wa7dbex/hucrenin_solundan_kosullu_veri_almak.xlsx.html
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Sayfa1 ve 2.Satırdan itibaren olduğu varsayılmıştır.
Kod:
Sub solal()
Dim s1 As Worksheet: Dim i As Integer
Set s1 = Sheets("Sayfa1")
son = s1.Cells(65336, "E").End(3).Row
sat = 2
For i = 2 To son
If s1.Range("E" & i) > 10 Then
s1.Range("H" & sat) =s1.Range("A" & i)
sat = sat + 1
End If
Next i
End Sub
 
Katılım
3 Mart 2011
Mesajlar
15
Excel Vers. ve Dili
2007 türkce
Sayfa1 ve 2.Satırdan itibaren olduğu varsayılmıştır.
Kod:
Sub solal()
Dim s1 As Worksheet: Dim i As Integer
Set s1 = Sheets("Sayfa1")
son = Cells(65336, "E").End(3).Row
sat = 2
For i = 2 To son
If s1.Range("E" & i) > 10 Then
s1.Range("H" & sat) =s1.Range("A" & i)
sat = sat + 1
End If
Next i
End Sub[/cpde]

Tek kelimeyle müthişsiniz, yazdığım soruyu okurken çözüm cevabınız geldi :), çok teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Alternatif,Buyurun.:cool:
Kod:
Sub soldaki59()
Dim sh As Worksheet, sonsat As Long, hcr As Range
Set sh = Sheets("Sayfa1")
Range("H:H").ClearContents
sonsat = sh.Cells(Rows.Count, "E").End(xlUp).Row
sat = 1
For Each hcr In sh.Range("E1:E" & sonsat)
    If hcr.Value > 10 Then
        sh.Cells(sat, "H").Value = hcr.Offset(0, -4).Value
        sat = sat + 1
    End If
Next
End Sub
 
Katılım
3 Mart 2011
Mesajlar
15
Excel Vers. ve Dili
2007 türkce
Alternatif,Buyurun.:cool:
Kod:
Sub soldaki59()
Dim sh As Worksheet, sonsat As Long, hcr As Range
Set sh = Sheets("Sayfa1")
Range("H:H").ClearContents
sonsat = sh.Cells(Rows.Count, "E").End(xlUp).Row
sat = 1
For Each hcr In sh.Range("E1:E" & sonsat)
    If hcr.Value > 10 Then
        sh.Cells(sat, "H").Value = hcr.Offset(0, -4).Value
        sat = sat + 1
    End If
Next
End Sub
Size de çok teşekkür ederim, emeğinize sağlık
 
Katılım
3 Mart 2011
Mesajlar
15
Excel Vers. ve Dili
2007 türkce
Sayfa1 ve 2.Satırdan itibaren olduğu varsayılmıştır.
Kod:
Sub solal()
Dim s1 As Worksheet: Dim i As Integer
Set s1 = Sheets("Sayfa1")
son = s1.Cells(65336, "E").End(3).Row
sat = 2
For i = 2 To son
If s1.Range("E" & i) > 10 Then
s1.Range("H" & sat) =s1.Range("A" & i)
sat = sat + 1
End If
Next i
End Sub
Merhaba bu koda biraz ilave yaparak H sütununa alt alta sıralanan isimleri maksimum 12 isimle sınırlayabilirmiyiz? birde E sütunundaki değerlere bakılarak A sütunundan alınan isimler 12 isimden fazla ise H sütununa sadece sıradan 12 ismi yazıp fazlası içinde "sayıyı aştınız" gibi bir uyarı mesajı verdirebilirmiyim.
teşekkürler
 
Katılım
3 Mart 2011
Mesajlar
15
Excel Vers. ve Dili
2007 türkce
Alternatif,Buyurun.:cool:
Kod:
Sub soldaki59()
Dim sh As Worksheet, sonsat As Long, hcr As Range
Set sh = Sheets("Sayfa1")
Range("H:H").ClearContents
sonsat = sh.Cells(Rows.Count, "E").End(xlUp).Row
sat = 1
For Each hcr In sh.Range("E1:E" & sonsat)
    If hcr.Value > 10 Then
        sh.Cells(sat, "H").Value = hcr.Offset(0, -4).Value
        sat = sat + 1
    End If
Next
End Sub
Merhaba makroyu biraz geliştirmeme yardımcı olurmusunuz,
Merhaba bu koda biraz ilave yaparak H sütununa alt alta sıralanan isimleri maksimum 12 isimle sınırlayabilirmiyiz? birde E sütunundaki değerlere bakılarak A sütunundan alınan isimler 12 isimden fazla ise H sütununa sadece sıradan 12 ismi yazıp fazlası içinde "sayıyı aştınız" gibi bir uyarı mesajı verdirebilirmiyim.
teşekkürler
 
Üst