• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro İle Hücreyi İçerisindeki Rakamı Ayır ve Sil

  • Konbuyu başlatan Konbuyu başlatan ormann
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Merhabalar; ekli örnek dosyada aşağıdaki makro ile Q8 hücresine başlangıç tarihini R8 hücresine bitiş tarihini yazdığımda Q9 hücresine Meşçere adını Q10 hücresine de tarihi yazdığımda 19 uncu satırlardan başlayarak gerekli yerlere tarih ve meşçere adı yazılıyor. Benim istediğim aynı makro ile Q9 hücresine yazmış olduğum Meşçere adının (-) işaretinin silinip işaretten sonraki sayının J sütununa yazdırabilir miyiz ?
 
Aşağıdaki kodu deneyin:

PHP:
Sub mescereata()
    Range("I" & 18 + [Q8] & ":" & "I" & 18 + [R8]) = Left([Q9], WorksheetFunction.Find("-", [Q9]) - 1)
    Range("D" & 18 + [Q8] & ":" & "D" & 18 + [R8]) = [Q10]
    Range("J" & 18 + [Q8] & ":" & "J" & 18 + [R8]) = Right([Q9], Len([Q9]) - WorksheetFunction.Find("-", [Q9]))
    MsgBox "Meşçere Atama İşlemi Tamam.", vbInformation
End Sub
 
Yusuf bey çok teşekkür ederim. Q9 hücresindeki veri sadece Knc3 var ise hata veriyor. Eğer ( -sayı ) ve sonrası yoksa Knc3 yazması gerekirken hata veriyor .Bakar mısınız_
 
Aynı anda iki şart da olacak diye belirtmemiştiniz :)

Aşağıdaki gibi deneyin:

PHP:
Sub mescereata()

If Len([Q9]) = Len(Replace([Q9], "-", "")) Then
    Range("I" & 18 + [Q8] & ":" & "I" & 18 + [R8]) = [Q9]
    Range("D" & 18 + [Q8] & ":" & "D" & 18 + [R8]) = [Q10]
    Range("J" & 18 + [Q8] & ":" & "J" & 18 + [R8]).ClearContents
Else
    Range("I" & 18 + [Q8] & ":" & "I" & 18 + [R8]) = Left([Q9], WorksheetFunction.Find("-", [Q9]) - 1)
    Range("D" & 18 + [Q8] & ":" & "D" & 18 + [R8]) = [Q10]
    Range("J" & 18 + [Q8] & ":" & "J" & 18 + [R8]) = Right([Q9], Len([Q9]) - WorksheetFunction.Find("-", [Q9]))
End If
MsgBox "Meşçere Atama İşlemi Tamam.", vbInformation

End Sub
 
Çok teşekkür ederim
 
Geri
Üst