-
- Destek
-
-
Özel Arama
![]() |
Sub ToplaFormulGoster()
For i = 1 To Range("a65536").End(3).Row
Cells(i, "c").Value = Cells(i, "a").Value & " + " & Cells(i, "b").Value & " = " & Cells(i, "a").Value + Cells(i, "b").Value
Next i
End Sub
Function ToplaFormulGoster(ByVal ilksayi As Double, ByVal ikincisayi As Double) As String
ToplaFormulGoster = CStr(ilksayi) & " + " & CStr(ikincisayi) & " = " & CStr(ilksayi + ikincisayi)
End Function
=ToplaFormulGoster(A1;B1)
düşünceli yazdı:Tarkan Bey, çok teşekkür ediyorum. Ellerinize sağlık.![]()
Şu sorumunda cevabı var mı acaba;
Aynı zamanda; F Sütununda rakam girdikçe D sütununda ki (formül sonucunun döndürüldüğü) sayıdan " < "yada "=" olması durumunda birinci sayıdan " >" olması durumunda artan kısmın ikinci sayıdan eksiltmesini sağlayabilirmiyim.
Function KullanilanIzniEksilt(ByVal KullanilanIzin As Integer, _
ByVal DevredenIzin As Integer, _
ByVal HakEdilenIzin As Integer) As String
Dim toplamizinhakedis As Integer
toplamizinhakedis = DevredenIzin + HakEdilenIzin
Select Case KullanilanIzin
Case Is > toplamizinhakedis
KullanilanIzniEksilt = "Hakedişi geçiyor"
Case Is = toplamizinhakedis
KullanilanIzniEksilt = "= 0"
Case Is < toplamizinhakedis
If KullanilanIzin <= DevredenIzin Then
KullanilanIzniEksilt = DevredenIzin - KullanilanIzin & " + " & HakEdilenIzin & " = " & _
toplamizinhakedis - KullanilanIzin
ElseIf KullanilanIzin > DevredenIzin And (KullanilanIzin - DevredenIzin < HakEdilenIzin) Then
KullanilanIzniEksilt = "0 + " & toplamizinhakedis - KullanilanIzin & _
" = " & toplamizinhakedis - KullanilanIzin
End If
End Select
End Function
Function ToplaFormulGoster(ByVal ilksayi As Double, ByVal ikincisayi As Double) As String
ToplaFormulGoster = CStr(ilksayi) & " + " & CStr(ikincisayi) & " = " & CStr(ilksayi + ikincisayi)
End Function
Function ToplaFormulGoster(ByVal ilksayi As Double, ByVal ikincisayi As Double, ByVal Para As Integer, ByVal Metod As Integer) As String
If Para < 0 Or Para > 2 Then
MsgBox "Para hatalı tanımlanmış"
ToplaFormulGoster = "Hata"
GoTo Son
End If
If Metod < 0 Or Metod > 3 Then
MsgBox "Metod hatalı tanımlanmış"
ToplaFormulGoster = "Hata"
GoTo Son
End If
Select Case Para
Case 0
PP = "TL"
Case 1
PP = "USD"
Case 2
PP = "EU"
End Select
Select Case Metod
Case 0
MM = " + "
Case 1
MM = " - "
Case 2
MM = " x "
Case 3
MM = " / "
End Select
ToplaFormulGoster = CStr(ilksayi) & PP & MM & CStr(ikincisayi) & PP & " = " & CStr(ilksayi + ikincisayi) & " " & PP
Son:
End Function
Function Dörtİşlem(ByVal ilksayi As Double, ByVal ikincisayi As Double, _
Optional ByVal Hane As Integer = 0, Optional ByVal Metod As Integer = 0, Optional ByVal Birim As Integer = 1) As String
If ilksayi Like 0 And ikincisayi Like 0 Then Dörtİşlem = "": GoTo çık
If Hane < 0 Then MsgBox "Hane sayısı geçersiz." & vbNewLine & "Pozitif tamsayı girin", _
vbExclamation + vbOKOnly, "Dört İşlem Uyarı": Dörtİşlem = "Hata": GoTo çık
Select Case Birim
Case 1: Pb = "TL"
Case 11: Pb = ChrW(8378)
Case 2: Pb = "USD"
Case 22: Pb = "$"
Case 3: Pb = "EU"
Case 33: Pb = "€"
Case Else: MsgBox "Para birim kodu tanımsız." & vbNewLine & "Fonksiyon yardımını kullanın", _
vbExclamation + vbOKOnly, "Dört İşlem Uyarı": Dörtİşlem = "Hata": GoTo çık
End Select
Select Case Metod
Case 0: Md = " + ": sonuç = ilksayi + ikincisayi
Case 1: Md = " - ": sonuç = ilksayi - ikincisayi
Case 2: Md = " x ": sonuç = ilksayi * ikincisayi
Case 3: Md = " / ": sonuç = ilksayi / ikincisayi
Case Else: MsgBox "Metod numarası geçersiz." & vbNewLine & "Fonksiyon yardımını kullanın", _
vbExclamation + vbOKOnly, "Dört İşlem Uyarı": Dörtİşlem = "Hata": GoTo çık
End Select
Dörtİşlem = CStr(ilksayi) & Pb & Md & CStr(ikincisayi) & Pb & " = " & CStr(Round(sonuç, Hane)) & " " & Pb
çık:
End Function
Public Sub DefineFunction()
Dim sFunctionName As String
Dim sFunctionCategory As String
Dim sFunctionDescription As String
Dim aFunctionArguments() As String
ReDim aFunctionArguments(1 To 5)
Fdesc = "Dört işlem formül göster" & vbNewLine & _
"Verileri boş bırakırsanız varsayılan değerlere göre hesaplanır." & vbNewLine & _
"Değerler bir tamsayı, başvurular bir hücre, bir formül ya da bir ad tanımı olabilir." & vbNewLine & _
vbTab & "Yazan: Miraç CAN"
D1 = "İlk sayıyı girin." & vbNewLine & _
"Değer bir tamsayı, başvurular bir hücre, bir formül ya da bir ad tanımı olabilir."
D2 = "İkinci sayıyı girin." & vbNewLine & _
"Değer bir tamsayı, başvurular bir hücre, bir formül ya da bir ad tanımı olabilir."
D3 = "Virgülden sonra basamak sayıyı girin." & vbNewLine & _
"Boş bırakılırsa varsayılan olarak ""0"" alınır."
D4 = "Metod numarasını girin." & vbNewLine & _
"Boş bırakılırsa varsayılan olarak ""+"", ""Toplama"" işlemi alınır." & vbNewLine & _
"0-Toplama, 1-Çıkarma, 2-Çarpma, 3-Bölme işlemini ifade eder."
D5 = "Para birimi kodunu girin." & "Boş bırakılırsa varsayılan olarak ""TL"" alınır." & vbNewLine & _
"1-TL, 2-USD, 3-EU para birimini ifade eder." & vbNewLine & _
"11-" & ChrW(8378) & ", 22-$, 33-€ para birimi simgelerini ifade eder."
sFunctionName = "Dörtİşlem"
sFunctionDescription = Fdesc
sFunctionCategory = "Miraç CAN"
aFunctionArguments(1) = D1
aFunctionArguments(2) = D2
aFunctionArguments(3) = D3
aFunctionArguments(4) = D4
aFunctionArguments(5) = D5
Application.MacroOptions Macro:=sFunctionName, _
Description:=sFunctionDescription, _
Category:=sFunctionCategory, _
ArgumentDescriptions:=aFunctionArguments
End Sub
düşünceli yazdı:Emeğinize sağlık.Teşekkür ederim.
Ben bu kodları çalıştıramadım.
Kodların birini modüle diğerini sayfa kaynağına kopyaladım başarılı olamayınca ters sırayla tekrar denedim lakin sonuç alamadım. Bir açıklama eklerseniz memnun olurum. İyi çalışmalar.
Miraç CAN yazdı:Örnek dosya ektedir.
düşünceli yazdı:Miraç CAN yazdı:Örnek dosya ektedir.
Bu kadarını beklemiyordum doğrusu. Çok teşekkür ederim. İşimi fazlası ile görür. Binlik ayırıcı olarak, 00,00 ₺ (200,00 ₺ gibi) eklenebilirse dahada şık olur. Tabii bu benim düşüncem. Fikir olarak sundum. Elinize, yüreğnize, emeğinize sağlık. İyi çalışmalar.
Function Dörtİşlem(ByVal ilksayi As Double, ByVal ikincisayi As Double, _
Optional ByVal Hane As Integer = 0, Optional ByVal Metod As Integer = 0, Optional ByVal Birim As Integer = 1) As String
If ilksayi Like 0 And ikincisayi Like 0 Then Dörtİşlem = "": GoTo çık
If Hane < 0 Then MsgBox "Hane sayısı geçersiz." & vbNewLine & "Pozitif tamsayı girin", _
vbExclamation + vbOKOnly, "Dört İşlem Uyarı": Dörtİşlem = "Hata": GoTo çık
If Hane = 0 Then hn = "##,##0" Else hn = "##,##0." & Application.Rept(0, Hane)
Select Case Birim
Case 1: Pb = "TL"
Case 11: Pb = ChrW(8378)
Case 2: Pb = "USD"
Case 22: Pb = "$"
Case 3: Pb = "EU"
Case 33: Pb = "€"
Case Else: MsgBox "Para birim kodu tanımsız." & vbNewLine & "Fonksiyon yardımını kullanın", _
vbExclamation + vbOKOnly, "Dört İşlem Uyarı": Dörtİşlem = "Hata": GoTo çık
End Select
Select Case Metod
Case 0: Md = " + ": sonuç = ilksayi + ikincisayi
Case 1: Md = " - ": sonuç = ilksayi - ikincisayi
Case 2: Md = " x ": sonuç = ilksayi * ikincisayi
Case 3: Md = " / ": sonuç = ilksayi / ikincisayi
Case Else: MsgBox "Metod numarası geçersiz." & vbNewLine & "Fonksiyon yardımını kullanın", _
vbExclamation + vbOKOnly, "Dört İşlem Uyarı": Dörtİşlem = "Hata": GoTo çık
End Select
Dörtİşlem = CStr(Format(ilksayi, hn)) & Pb & Md & CStr(Format(ikincisayi, hn)) & Pb & " = " & CStr(Format(sonuç, hn)) & " " & Pb
çık:
End Function
Forum Kullanıcı Tanımlı Fonksiyonlar ( KTF )
Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir