Tutarların yanındaki sütunlara aktarılması hk.

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
882
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
Merhaba,

A sütündaki tutarları sırasıyla "B" ve "C"' e aktarmak istiyorum, kodu çalıştırdığım zaman belli sıraya kadar yanlara aktarıyor, nasıl değişiklik yapabiliriz. istenen sayfa2'de yapılmıştır.
 

Ekli dosyalar

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
Merhaba,

A sütündaki tutarları sırasıyla "B" ve "C"' e aktarmak istiyorum, kodu çalıştırdığım zaman belli sıraya kadar yanlara aktarıyor, nasıl değişiklik yapabiliriz. istenen sayfa2'de yapılmıştır.
Buyurun.:cool:
Kod:
Sub aktar59()
Dim a, i As Long, sonsat As Long
Range("B:C").ClearContents
sonsat = Cells(Rows.Count, "A").End(xlUp).Row
For i = 3 To sonsat
    a = Split(Cells(i, "A").Value)
    Cells(i, "C").Value = a(UBound(a) - 1)
    Cells(i, "B").Value = a(UBound(a) - 2)
Next
End Sub
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Değerlerinin örneğinizdeki gibi her zaman nokta boşluk ile rakam ile mi başlıyor?
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,597
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Veriler aynı standartta ise aşağıdaki formülü kullanabilirsiniz. Formülü herhangi bir hücreye yapıştırın ve sağa doğru'da kopyalayın.

Kod:
=EĞERHATA(İNDİS(--KIRP(PARÇAAL(YERİNEKOY(KIRP($A3);" ";YİNELE(" ";255));SATIR($1:$99)*255;255));3+SÜTUN(A1)-1);"")
 

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
882
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
İliginiz için teşekkürler ekteki dosyada oldu ama original dosyada hata verdi dosyanın bir kısmın yüklerim örnekler boşluk ve rakam ile başlıyor
 

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
882
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
1 nolu mesajdaki dosya güncelledim.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,597
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Hata vermesinin sebebi 100.00,50 şeklinde olan sayı formatı. Bunu düzeltirseniz formül çalışır.
Bende muhasebeciyim, geçici vergi gelir tablosuna benziyor. Bununla ilgili kontrol çalışması mı hazırlıyorsunuz.
Kendime hazırladığım bu konu ile ilgili çalışmalarım var. Eğer istediğinizi paylaşırsanız daha çok faydam dokunur.
 
Son düzenleme:

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,104
Excel Vers. ve Dili
office2010
Merhaba,

Bu şekilde deneyiniz.

Kod:
Sub ayır()
a = Range("A4:A" & Cells(Rows.Count, 1).End(3).Row).Value
ReDim b(1 To UBound(a), 1 To 2)

For i = 1 To UBound(a)
    say = say + 1
    If a(i, 1) <> "" Then
        deg = Split(a(i, 1), " ")
        If IsNumeric(deg(UBound(deg) - 2)) Then b(say, 1) = CDbl(deg(UBound(deg) - 2))
        If IsNumeric(deg(UBound(deg) - 1)) Then b(say, 2) = CDbl(deg(UBound(deg) - 1))
    End If
Next i

Range("B4:C" & Rows.Count).ClearContents
If say > 0 Then [B4].Resize(say, 2) = b
MsgBox "İşlem tamam...", vbInformation
End Sub
 

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
882
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
Ziynettin hocam, teşekkürler, çalışıyor, tutarları yandaki sütunlara aktarırken ham haliyle kalması için değişiklik yapabiliriz

Sn.Kuvari teşekkürler,
 

Ekli dosyalar

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,104
Excel Vers. ve Dili
office2010
A sütunu verileri [B,C,D] sütunlarına ayırır.

Kod:
Sub ayir_1()
a = Range("A4:B" & Cells(Rows.Count, 1).End(3).Row).Value
ReDim b(1 To UBound(a), 1 To 3)
On Error Resume Next
For i = 1 To UBound(a)
    say = say + 1
    If a(i, 1) <> "" Then
        deg = Split(a(i, 1), " ")
        If IsNumeric(deg(UBound(deg) - 2)) Then b(say, 2) = Format(deg(UBound(deg) - 2), "#,##0.00")
        If IsNumeric(deg(UBound(deg) - 1)) Then b(say, 3) = Format(deg(UBound(deg) - 1), "#,##0.00")
        sayac = InStrRev(Trim(a(i, 1)), b(say, 2))
        b(say, 1) = Left(a(i, 1), sayac - 1)
    End If
Next i
Range("B4:C" & Rows.Count).ClearContents
If say > 0 Then [B4].Resize(say, 3) = b
MsgBox "İşlem tamam...", vbInformation
End Sub
 

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
Benim 2# nolu mesajdaki verdiğim kodlar olmadımı?
 

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
Buyurun.:cool:
Kod:
Sub Düğme2_Tıklat()
Dim a, i As Long, sonsat As Long
Range("B:C").ClearContents
sonsat = Cells(Rows.Count, "A").End(xlUp).Row
For i = 4 To sonsat
    If Cells(i, "A").Value <> "" Then
        a = Split(Cells(i, "A").Value)
        Cells(i, "C").Value = a(UBound(a) - 1)
        Cells(i, "B").Value = a(UBound(a) - 2)
    End If
Next
MsgBox "BİTTİ"
End Sub
 
Üst