makrodan trim koduna rağmen hücre içerisinde boşluk atma

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
herkese merhabalar
ekteki excelde barkod uygulamasından gelen verilerden b sütunundaki verileri satır açıp dağıtıyorum ancak koddan gelen veri de sanki hücre içerisinde alt gr + enter işlemi yapmış gibi hücrenin üzerine geldiğim zaman formül çubugunda boşluk görünmektedir.

nerede hata yapıyorum yardımcı olabilir misiniz?

Sub MetinDuzenleme()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim cell As Range
Dim metin As String
Dim ilkYildizIndex As Long
Dim ikinciYildizIndex As Long

Set ws = ThisWorkbook.Sheets("Mal Kabul")

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' A sütunundaki son satırı bulun

For i = 1 To lastRow
metin = ws.Cells(i, 2).Value ' b sütunundaki metni alın
ws.Cells(i, 5).Value = ws.Cells(i, 3).Value
ws.Cells(i, 1).NumberFormat = "00000"
' İlk yıldızın ve ikinci yıldızın indekslerini bulun
ilkYildizIndex = InStr(1, metin, "*")
ikinciYildizIndex = InStr(ilkYildizIndex + 1, metin, "*")
artiIndex = InStr(1, metin, "+")
If ilkYildizIndex > 0 Then
' * varsa
ws.Cells(i, 2).Value = Mid(metin, ilkYildizIndex + 1, ikinciYildizIndex - ilkYildizIndex - 1) ' B sütununa yaz
ws.Cells(i, 3).Value = Left(metin, ilkYildizIndex - 1) ' C sütununa yaz
ws.Cells(i, 4).Value = Mid(metin, ikinciYildizIndex + 1) ' D sütununa yaz
ElseIf InStr(1, metin, "+") > 0 Then
' + varsa
ilkYildizIndex = InStr(1, metin, "+")
ikinciYildizIndex = InStr(ilkYildizIndex + 1, metin, "+")
ws.Cells(i, 2).Value = Left(metin, ilkYildizIndex - 1) ' B sütununa yaz
ws.Cells(i, 3).Value = Mid(metin, ilkYildizIndex + 1, ikinciYildizIndex - ilkYildizIndex - 1) ' C sütununa yaz
ws.Cells(i, 4).Value = Mid(metin, ikinciYildizIndex + 1) ' D sütununa yaz
Else


End If

Next i
ws.Columns("H:I").Delete
End Sub



 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
İlgili satırda kırmızı renkli değişiklikleri yaptıktan sonra deneyiniz..
Rich (BB code):
metin = Replace(ws.Cells(i, 2).Value, Chr(10), "") ' b sütunundaki metni alın
 

mahmyt

Altın Üye
Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
16-03-2026
üstad allah razı olsun 2 saattir araştırıyordum. chr(10) işlemi alt dizileri kaldırıp yeni satır mı oluşturuyor tam olarak yanlışsam düzeltebilir misiniz. teşekkürler.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,135
Excel Vers. ve Dili
2007 Türkçe
Allah hepimizden razı olsun,
Chr() işlevi karakter koduna göre karakter oluşturmak için kullanılır. Excel'deki DAMGA formülünün Vba karşılığı diyebiliriz. Dosyanızdaki veride Alt+Enter ile oluşturduğumuz şekilde yeni satır karakterleri bulunmaktaydı. Bunun karakter kodu da 10'dur. Yukarıda paylaştığım kodla bu karakterlerin silinmesi sağlanıyor.
Umarım yeterince açıklayabilmişimdir.
İyi çalışmalar...
 
Üst