Soru Pozitif Sayıyı Negatife Dönüştürme

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
Sn. Arkadaşlar hayırlı işler.
Başka bir yerden kopyalayıp değer olarak yapıştırdığım bir POZİTİF sayıyı yapıştırdığım yerde otomatik olarak NAGATVE dönüştürecek bir çalışma var mı.
Örneğin B12 B16 satırlarına (bu daha da çoğaltılabilir) değer olarak yapıştırdığım tüm rakamlar NAGATİV.e dönüşsün.
saygılarımla iyi iyi günler
 

İSMAİL TEMİZ

Altın Üye
Katılım
5 Haziran 2021
Mesajlar
8
Excel Vers. ve Dili
Microsoft Excel 2010
Altın Üyelik Bitiş Tarihi
22-09-2024
en basit olarak şunu deneyebilirsiniz =-(b12)
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,875
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Kod:
Sub Test()
    Dim Bak As Range
    For Each Bak In Range("B12:B16")
        If Bak.Value > 0 Then Bak.Value = Bak.Value * -1
    Next
End Sub
 

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
Sayın muzaffer Bey çalışmanızda hata yok ben yanlış bilgi vermişim sanırım.
Örneğin belirleyeceğim satırları 12 15 18 19 25 30 35 diyelim satırlara değer olarak bir başka yerden yapıştırılan pozitiv rakamlar hiç bir çalıştırma yapmadan otomatik olarak önlerine eksi yazılarak NAGATİV olmasını sağlayacak bir çalışma gerekiyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

İşlemi yapacağınız sayfanızın kod bölümüne uygulayınız. Yapıştırma işlemi yaptığınızda kod devreye girecektir.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    
    For Each Rng In Range("B2:B16")
        If Rng > 0 Then Rng = -Rng
    Next
End Sub
 

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
Sub PozitifSayilariNegatifYap()
Dim satir As Integer
Dim ws As Worksheet

' İşlem yapılacak sayfa
Set ws = ThisWorkbook.Sheets("Sheet1") ' İşlem yapılacak sayfanın adını buraya yazın

' İşlem yapılacak satırların dizisi
Dim hedefSatirlar As Variant
hedefSatirlar = Array(12, 18, 25) ' İşlem yapılacak satırların numaralarını buraya ekleyin

' Hedef satırları döngüye al
For Each satir In hedefSatirlar
' Satırın her sütununu kontrol et
For Each cell In ws.Rows(satir).Cells
' Pozitif sayıları negatif yap
If IsNumeric(cell.Value) And cell.Value > 0 Then
cell.Value = -cell.Value
End If
Next cell
Next satir
End Sub
şu tür bir kod buldum ama hata veriyor, hatayı nasıl düzeltebilirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Önerdiğim kod işinize yaramadı mı?
 

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
Korhan Bey formülünüz de hata yok gayet güzel çalışıyor. Sorumu ilk başta ben yanlış sormuşum
İşlem sütunlar da değilde belirleyeceğim satırlar şeklinde revize edilirse çok güzel olacak örneğin satır 20 30 50 99 100 vb.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlgili satırlardaki bütün sütunlardaki hücreler mi kontrol edilecek?

Yeni sürümde 16.384 sütun var...

Sanırım belli bir hücre aralığı vardır.. Belirtirseniz ona göre kodu revize edebilirim.
 

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
Örneğin 6 9 13 15 satırlara yazılan tüm sayıları bana negatife çevirmesini istiyorum.POZİTİF NAGATİF.JPG
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Anlaşamadık...

Kontrol işlemi hangi sütuna kadar yapılacak?
 

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
AZ sütuna kadar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim My_Area As Range, Rng As Range
    
    On Error GoTo Son
    
    Set My_Area = Union(Range("A6:AZ6"), Range("A9:AZ9"), Range("A13:AZ13"), Range("A15:AZ15"))
    
    Application.EnableEvents = False
    
    For Each Rng In My_Area
        If IsNumeric(Rng) And Rng > 0 Then Rng = -Rng
    Next
    
Son: Application.EnableEvents = True
End Sub
 

mehmetd

Altın Üye
Katılım
15 Ekim 2004
Mesajlar
102
Excel Vers. ve Dili
Ms Office Excel 2021 tr
Altın Üyelik Bitiş Tarihi
04-02-2029
Çok teşekkür ederim Korhan Bey. Biraz uğraştırdım sizleri.
 
Üst