• DİKKAT

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

hücre başına sabit ve değişken eklemek

Katılım
25 Eylül 2006
Mesajlar
611
Excel Vers. ve Dili
Windows-XP_TR
Ofis-2003_TR
Selam arkadaşlar,
İki sorum olacak;
1-Ekteki dosyamda sarı hücrelere hangi sayı girilirse girilsin ama sonuç olarak bu sayı hep eksi olarak gürünsün.
2-Aynı dosyada mavi hücrelere hangi metin girilirse girilsin sonuçta 01-,02-,03-şeklinde artan şekilde başlayıp devam etsin.
 

Ekli dosyalar

Selamlar,

Ekteki örnek dosyayı incelermisiniz.

Kullanılan kodlar;

Sayfa1 Kod bölümündeki kodlar;

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SAY As Long
    On Error GoTo Son
    If Intersect(Target, [A:B]) Is Nothing Then Exit Sub
    If Target.Column = 1 And IsNumeric(Target) And Target > 0 Then
    Application.EnableEvents = False
    Target = Target * -1
    Application.EnableEvents = True
    End If
    If Target.Column = 2 And Not IsEmpty(Target) Then
    SAY = WorksheetFunction.CountA(Columns(2))
    If SAY > 0 Then
    Application.EnableEvents = False
    Target = Format(SAY, "0000-") & Target
    Application.EnableEvents = True
    End If
    End If
Son:
End Sub
 

Ekli dosyalar

Sn.Korhan hocam,
Emeğinize sağlık,çok teşekkürler..
Saygılar,
 
Sn.Korhan hocam,
konu çözüldü ama üzülerek birşey daha soracağım;
-A sütunundaki işleme bir şart verebilirmiyiz?
(Örn:C sütununda şöyle bir metin var olduğunu öngörürsek;NARENCİYE (-)
C sütunundaki metnin sonunda (-) böyle bir ifade varsa sayıyı eksiye dönüştürsün.
 
Selamlar,

Bu durumda istediğiniz koşulu eklersek kod aşağıdaki şekilde olacaktır. Denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SAY As Long
    On Error GoTo Son
    If Intersect(Target, [A:B]) Is Nothing Then Exit Sub
    If Target.Column = 1 And IsNumeric(Target) And Target > 0 Then
    [COLOR=red]If InStr(1, Cells(Target.Row, "B"), "(-)") Then[/COLOR]
    Application.EnableEvents = False
    Target = Target * -1
    Application.EnableEvents = True
    End If
    End If
    If Target.Column = 2 And Not IsEmpty(Target) Then
    SAY = WorksheetFunction.CountA(Columns(2))
    If SAY > 0 Then
    Application.EnableEvents = False
    Target = Format(SAY, "0000-") & Target
    Application.EnableEvents = True
    End If
    End If
Son:
End Sub
 
Sn.Korhan hocam,
Sorumu eksik sorduğum ve sizi yeni zahmetlere soktuğum için bağışlayın lütfen..
Çok teşekkür ediyorum..
Saygılar,
 
Sn.Korhan Ayhan
Merhaba,hocam kolon 2'ye ait makroyu (B sütunu) ayırıp başka sayfada kullanmam gerekti.Uygulamada önce herşey normaldi fakat B sütununda yazdıklarımdan birkaç hücre silince makro tekrar çalışmadı.Nerde hata yaptığımı anlayamadım.Yardımcı olursanız çok memnun olurum..
 
Günaydın,
Korhan hocam, 7 nolu mesajımı sanırım göremediniz.
 
Sn.KORHAN AYHAN
Yukarıdaki kodu aşağıdaki şekilde ayırdım.Ama bu şekilde olunca sonuç 7. mesajımdaki gibi bir sorunla karşılaşıyorum.Aslında ben her iki makroyu birbirinden ayırmak istiyorum.Ama nerede hata yaptığımı bulamıyorum.


Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim SAY As Long
On Error GoTo Son
If Target.Column = 2 And Not IsEmpty(Target) Then
SAY = WorksheetFunction.CountA(Columns(2))
If SAY > 0 Then
Application.EnableEvents = False
Target = Format(SAY, "0000-") & Target
Application.EnableEvents = True
End If
End If
Son:
End Sub
 
Selamlar,

Örnek dosya üzerinde oluşan hatayı ve yapmak istediğiniz tarif edermisiniz.
 
Hocam örnek dosyam ektedir.Ben bu sütunlarda hata oluşmasın istiyorum.
 

Ekli dosyalar

Sn.KORHAN AYHAN
Umarım sorumda anlaşılmayan birşey yoktur.Yalnız birşey hatırlatmak isterim;o da hücreleri tek tek değil de aynı anda birkaç hücre silince makro çalışmıyor.
Sayfa1 de yapılmak istenen: B sütununa metin yazıldığında metnin başına artan şekilde sayılar otomatik yazılsın.
Sayfa2 de yapılmak istenen : A sütununa hangi sayı yazılırsa yazılsın eğer C sütunundaki metnin sonunda (-) ifade varsa sayının başına "-" koysun.
 
Selamlar,

Kodun içindeki Son: ibaresinden sonra Application.EnableEvents = True yazarak kodu deneyin.
 
Selamlar,

Kodun içindeki Son: ibaresinden sonra Application.EnableEvents = True yazarak kodu deneyin.

Sn.Korhan Ayhan
Kodlar şimdi istediğim gibi çalışıyor.Yardımlarınız için çok teşekkür ederim.
Saygılar
 
Geri
Üst