1. sayfa (Toplam 1 sayfa)

Toplama İşlemi Sorunu !!!

Gönderilme zamanı: 06 Ara 2022, 00:14
gönderen aydin_dundar
Yıl 2023 olmuş hala daha en basit bir toplama işlemini bile yapamıyor !!!
Bu nedir ya !!!
Yaşım 54, 30 senedir bilgisayar kullanıyorum, programcılık dahil, Unix, Linux işletim sistemleri dahil, hala daha çıktığınız yerdesiniz ya !!!
Lütfen geliştirin kendizi artık !!!
Eke gönderiyorum dosyayı, toplama yaptırabilene aşk olsun !!!

Re: Toplama İşlemi Sorunu !!!

Gönderilme zamanı: 06 Ara 2022, 13:26
gönderen aydin_dundar
Bari nokta virgül (. ,) nasıl topluca değiştirilir onu söyleyin yoksa tek tek hesap makinasıyla toplama yapacağım !!!

Re: Toplama İşlemi Sorunu !!!

Gönderilme zamanı: 06 Ara 2022, 13:28
gönderen aydin_dundar
Sorun şu ki; noktayı farklı algılıyor hazretleri, o yüzden hepsinin virgül olmasını istiyor. Bu nedir ya, biri virgül ister, biri nokta ister, böyle saçmalık mı olur, sayıysa sayıdır kardeşim daha ne istiyorsun !!!

Re: Toplama İşlemi Sorunu !!!

Gönderilme zamanı: 07 Ara 2022, 13:35
gönderen Hamurcu
Düzenle menüsünden Bul ve Değiştir ile tüm nokta (.) ları virgül (,) ile değişebilirsiniz.

Re: Toplama İşlemi Sorunu !!!

Gönderilme zamanı: 24 Eyl 2023, 22:00
gönderen Seyyar Diyari

Kod: Tümünü seç

REM  **** Ondalık ayracı noktayken aralığı toplar  ****
Function NoktaylaTopla(range) As STRING
 Dim row, col As Integer
 Dim cell, newcell, newresult, This As STRING
 Dim result As Double
 result = 0
 For row = LBound(range, 1) To UBound(range, 1)
 	For col = LBound(range, 2) To UBound(range, 2)
		cell = range(row, col)
		newcell = ""
 		For NoktaVirgul = LEN(cell) to 1 STEP -1
 			This = MID(cell, NoktaVirgul, 1)
	 		If This = "." Then 
 				newcell = "," + newcell
 			Else 
 				newcell = This + newcell
	 		End If 		
 		Next
 		cell = CDbl(newcell)
		If IsNumeric(cell) = True Then
			result = result + CDbl(cell)
		Else
		End If
 	Next
 Next
 For VirgulNokta = LEN(CStr(result)) to 1 STEP -1
 	This = MID(CStr(result), VirgulNokta, 1)
	If This = "," Then 
 		newresult = "." + newresult
 	Else 
 		newresult = This + newresult
	End If 		
 Next
 NoktaylaTopla = newresult
End Function
83'lüyüm bu sorun çok kadim bir sorun; noktaları virgül yapmadan çözülebiliyor. Yukarıdaki kodu dosyaya ekleyin; excel'de de çalışacağını sanıyorum NoktaylaTopla() isimli bir Kullanıcı Tanımlı Fonksiyon; Aralıkta, küsuratı noktayla ayrılmış olan girdileri toplayıp sonucu yine noktayla ayırarak veriyor; programın ayarları aynı kalıyor, Bul/Değiştir tekrarları yapmak gerekmiyor. LibreOffice'ten .ods kaydedecekseniz; makro düzenleme basic penceresinden dosya ismi altındaki module kaydetmeniz gerekir; Excel'de makro içerebilen biçimde kaydetmeniz lazım. Şimdi bazılarınız niye aylar sonra cevap verdin diyebilirsiniz; aslında 23 Ekim 2020'de vermişim bu sorunun cevabını (viewtopic.php?f=6&t=1388) Şimdi biraz konuya uygun hale getirip tekrar söylemiş gibi oldum.