Excel de sütun da ki + değeri - Negatife çevirme hk.

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
Arkadaşlar merhabalar
VBA da Excel sayfasına kaydettiğim [ Sheets("Sorgu2").Range("L2:p100") ] deki değerleri, Nasıl bir kod la, O sütunlardaki (+) Pozitif değerleri, (-) Negatife çevirebilirim.
İlgilenen kardeşlerimize şimdiden teşekkürlerimi iletir , Herkese sağlıklı günler dileği ile Selamlar.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Direkt hücre biçimlendirmeden
L2:p100 aralığını seçip
isteğe uyarlanmış
-0,00;-0,00;

yaparsanız tüm pozitif değerler negatife dönüşür
Virgül formatını istediğiniz gibi ayarlayabilirsiniz.

Mesala aşağıdaki gibi de olabilir.
-0;-0;0
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Negatife çevirmek istediğin alanı seçtikten sonra;

Kod:
Sub negatif()

Dim hcr As Range
For Each hcr In Selection
If IsNumeric(hcr.Value) Then
hcr.Value = -1 * (hcr.Value)
End If
Next hcr

End Sub
kodu çalıştırınız.
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
Direkt hücre biçimlendirmeden
L2:p100 aralığını seçip
isteğe uyarlanmış
-0,00;-0,00;

yaparsanız tüm pozitif değerler negatife dönüşür
Virgül formatını istediğiniz gibi ayarlayabilirsiniz.

Mesala aşağıdaki gibi de olabilir.
-0;-0;0
Teşekkürler Ömer Faruk bey kardeşim sayeniz de bu yolu da öğrenmiş oldum.
Ama bu yol Sabit sayfa satırı olarak kalıyor, Aynı "Sorgu2" sayfasını başka verilerde de kullanıyorum, bu işlemi formül yada Kod la yapabilir miyiz.
Sağlıklı günler dileği ile Selamlar.
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025

Dim x As Long


Dim y As Byte


Dim st As Byte


Dim hcr As Range


st = 1


 

For x = 2 To 1000000


If Sheets("FaturaHareketleri").Range("A" & x).Value = "" Then Exit For


If Sheets("FaturaHareketleri").Range("A" & x).Value = LstFaturalar.List(LstFaturalar.ListIndex, 0) Then ' Burası Fatura kodu


st = st + 1


For y = 1 To 17


Sheets("Sorgu2").Cells(st, y).Value = Sheets("FaturaHareketleri").Cells(x, y).Value


( ? ? ? )


Sheets("Sorgu2").Cells(st, y).Value = Sheets("FaturaHareketleri").Cells(x, y).Value * -1 ' Burada *-1 kullanırsam Sayısal verileri (-) yapıyor, ama [ Bu formüle "FaturaHareketleri" sayfasın dan X in "A:p" ye kadar kaç satırı varsa "Sorgu2" sayfasına getiriyor ] B sütununda ki değerler Tarih olduğun dan B sütununu bozuyor. ( ? ? ? ) olan satıra nasıl bir kod yazarsak B sütununu tekrar tarih olarak düzeltiriz. Yada B sütununa ( X in satır sayısı kadar ) =BUGÜN() Tarihini getirirsek daha iyi olacak.


Not: "Sorgu2" sayfasına X in satıları ne kadarsa "FaturaHareketleri" sayfasından gelecek A dan : P ye kadar, bunun I dan P ye kadarını (-) çevirecek, B sütunun, kaç satır ise arık. B sütununu { =BUGÜN() } yapacak veya [ FrmFatura.TxtDtTarihi.Value ] alacak. Başa bir kod da olabilir.


If IsNumeric(hcr.Value) Then


hcr.Value = -1 * (hcr.Value)


End If


Next hcr


 

Next


End If


Next

 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
Teşekkürler Tahsin bey kardeşim
sanırım yanlış uyguladım Prosödür olduğunu yeni fark ettim tekrar deneyeceğim.
Ben aşağıdaki kod ları Kullanıyordum.

Dim x As Long
Dim y As Byte
Dim st As Byte
st = 1
For x = 2 To 1000000
If Sheets("FaturaHareketleri").Range("A" & x).Value = "" Then Exit For
If Sheets("FaturaHareketleri").Range("A" & x).Value = LstFaturalar.List(LstFaturalar.ListIndex, 0) Then ' Burada ("A" & x) Fatura kodu A Sütununda
st = st + 1
For y = 1 To 17
Sheets("Sorgu2").Cells(st, y).Value = Sheets("FaturaHareketleri").Cells(x, y).Value
( ? ? ? )
Sheets("Sorgu2").Cells(st, y).Value = Sheets("FaturaHareketleri").Cells(x, y).Value *-1' Burada *-1 kullanırsam Sayısal verileri (-) yapıyor, ama
[ Bu formüle "FaturaHareketleri" sayfasın dan X in "A
dan P ?" ye kaç satırı varsa "Sorgu2" sayfasına getiriyor ] B sütununda ki değerler Tarih olduğun dan B sütununu bozuyor. ( ? ? ? ) olan satıra nasıl bir kod yazarsak B sütununu tekrar tarih olarak düzeltiriz. Yada B sütununa ( X in satır sayısı kadar ) =BUGÜN() Tarihini getirirsek daha iyi olacak.

Not: "Sorgu2" sayfasına x in satıları ne kadar ise "FaturaHareketleri" sayfasından gelecek A dan : P ye kadar, bunun I dan P ye kadarını (-) çevirecek, B sütunun, kaç satırı var ise artık.
B sütununu {
=BUGÜN() } yapacak Ya da [ FrmFatura.TxtDtTarihi.Value ] alacak.
Başa bir kod da olabilir


Next
End If
Next

Tekrar alakanız için Sağ olun, sağlıklı günler dileği ile Selamlar.
 
Son düzenleme:

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Örnek dosya olursa daha sağlıklı çözümler gelir.
 
Üst