Soru Hücre Birleştirme Hakkında Yardım

Katılım
10 Aralık 2021
Mesajlar
2
Excel Vers. ve Dili
excel 2016
Merhabalar ekteki tablodaki 3 hücreli excel calişmasında d hücresine a b c hücrelerindeki adreslerinin birleştirmesini istiyorum bunu nasil yapabilirim
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

=A1 & " " & B1 & " " & C1
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu şekilde bana uymuyor programa aktarma yapcam, veri aktarımı da makrodan otomatik yapıp " d" sutuna vermesini istiyorum, formül oldugu zaman muhasebe programı görmüyor çünkü
Dosyanız eklenmemiş. Ancak anladığım kadarıyla Necdet beyin önerisini aşağıdaki gibi makro koduna çevirebilirsiniz.

Kod:
sub birlestir()

Range("D1")=Range("A1")&" "&Range("B1")&" "&Range("C1")

end sub
 

TUNCA ERSİN

Altın Üye
Katılım
18 Ağustos 2021
Mesajlar
131
Excel Vers. ve Dili
Office Professional plus 2016 Tr
Altın Üyelik Bitiş Tarihi
18-08-2026
Dosyanız eklenmemiş. Ancak anladığım kadarıyla Necdet beyin önerisini aşağıdaki gibi makro koduna çevirebilirsiniz.

Kod:
sub birlestir()

Range("D1")=Range("A1")&" "&Range("B1")&" "&Range("C1")

end sub
hocam bunu 2. satır ile 8000. satır arasında yapmak gerekir ise nasıl yapabiliriz. b de saat var c den de soldan 3 harf alacak. yardımcı olur musunuz hocam. teşekkür ederim.
 
Katılım
20 Şubat 2012
Mesajlar
242
Excel Vers. ve Dili
office2007 Türkçe
Deneyiniz...


Kod:
Sub Birlestironi()
Dim sayfa As Worksheet
Set sayfa = ActiveSheet
sonsat = sayfa.Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Dim sonuc As String
For i = 2 To sonsat 'satır
    For j = 1 To 2 'sütun adedi
      For k = 3 To 3 'sütun adedi
        If sayfa.Cells(i, j) <> "" Then
            If sonuc <> "" Then
                sonuc = sonuc & sayfa.Cells(i, j).Text & Left(sayfa.Cells(i, k).Text, 3)
            Else
                sonuc = sonuc & sayfa.Cells(i, j).Text
            End If
        End If
    Next
    sayfa.Cells(i, 4) = sonuc
Next
sonuc = ""
Next
End Sub
 

TUNCA ERSİN

Altın Üye
Katılım
18 Ağustos 2021
Mesajlar
131
Excel Vers. ve Dili
Office Professional plus 2016 Tr
Altın Üyelik Bitiş Tarihi
18-08-2026
Deneyiniz...


Kod:
Sub Birlestironi()
Dim sayfa As Worksheet
Set sayfa = ActiveSheet
sonsat = sayfa.Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Dim sonuc As String
For i = 2 To sonsat 'satır
    For j = 1 To 2 'sütun adedi
      For k = 3 To 3 'sütun adedi
        If sayfa.Cells(i, j) <> "" Then
            If sonuc <> "" Then
                sonuc = sonuc & sayfa.Cells(i, j).Text & Left(sayfa.Cells(i, k).Text, 3)
            Else
                sonuc = sonuc & sayfa.Cells(i, j).Text
            End If
        End If
    Next
    sayfa.Cells(i, 4) = sonuc
Next
sonuc = ""
Next
End Sub
hocam bunu kendime uygulamayamadım.
A2 den A 8000 birleştirecek.

F2 ile F8000 saat
H2 ile H8000 ilk üç harf
J2 ile J8000 ilk üç harf
A2ile A8000 arasına birleşecek.

F saat &H ilk üç harf & J ilk üç harf
A sutunu F sutunu H sutunu J sutunu

08:30 MER ADA.

   

1 Şubat 2022 Salı

08:30​

-

MERSİN

 

ADANA

 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
hocam bunu 2. satır ile 8000. satır arasında yapmak gerekir ise nasıl yapabiliriz. b de saat var c den de soldan 3 harf alacak. yardımcı olur musunuz hocam. teşekkür ederim.
Eğer soruya soru eklemeyecekseniz bunu 2 şekilde yapabilirsiniz.

1. Yöntem :

Kod:
=A2&METNEÇEVİR(B2;"ss:dd")&SOLDAN(C2;3)
yazar sonuna kadar kopyalarsınız.
Sonra D sütununu seçip kopyala / değer yapıştır ile formülden kurtarırsınız.

2. Yöntem Makro ile :

Kod:
Sub Makro1()
    
    Dim i As Long
    
    Application.ScreenUpdating = False
    
    For i = 2 To Cells(Rows.Count, "A").End(3).Row
        Range("D" & i) = Cells(i, "A") & Format(Cells(i, "B"), "hh:mm") & Left(Cells(i, "C"), 3)
    Next i
    
    Application.ScreenUpdating = True
    
End Sub
 
Katılım
20 Şubat 2012
Mesajlar
242
Excel Vers. ve Dili
office2007 Türkçe
Doğru anlamış isem:

Birleştirme yeri A sütununda olacak. (F saat &H ilk üç harf & J ilk üç harf )

Buna göre Necdet Bey'in formülünde biraz oynama yaparsak sanırım işlem tamam olacak.


Kod:
Sub M2()
    
    Dim i As Long
    
    Application.ScreenUpdating = False
    
    For i = 2 To Cells(Rows.Count, "E").End(3).Row
        Range("A" & i) = Format(Cells(i, "F"), "hh:mm") & " " & Left(Cells(i, "H"), 3) & " " & Left(Cells(i, "J"), 3) & "."
    Next i
    
    Application.ScreenUpdating = True
    
End Sub
 

TUNCA ERSİN

Altın Üye
Katılım
18 Ağustos 2021
Mesajlar
131
Excel Vers. ve Dili
Office Professional plus 2016 Tr
Altın Üyelik Bitiş Tarihi
18-08-2026
Doğru anlamış isem:

Birleştirme yeri A sütununda olacak. (F saat &H ilk üç harf & J ilk üç harf )

Buna göre Necdet Bey'in formülünde biraz oynama yaparsak sanırım işlem tamam olacak.


Kod:
Sub M2()
   
    Dim i As Long
   
    Application.ScreenUpdating = False
   
    For i = 2 To Cells(Rows.Count, "E").End(3).Row
        Range("A" & i) = Format(Cells(i, "F"), "hh:mm") & " " & Left(Cells(i, "H"), 3) & " " & Left(Cells(i, "J"), 3) & "."
    Next i
   
    Application.ScreenUpdating = True
   
End Sub
Hocam teşekkür ederim. elinize ve emeğinize sağlık
 
Üst