Skip to main content

AccessTr.neT


Çıkartma İşlemi

Çıkartma İşlemi

Çözüldü #1
Function K_TOPLA(Alan As Range, Optional Kriter As Boolean = True) As Double
Dim Veri As Range

Application.Volatile True

With CreateObject("VBScript.RegExp")
.IgnoreCase = True
.Global = True
.Pattern = "[^\d-,]+"


For Each Veri In Alan
If IsNumeric(.Replace(Veri, "")) Then
If Kriter = True Then
K_TOPLA = K_TOPLA + .Replace(Veri, "")
Else
K_TOPLA = K_TOPLA + 1
End If
End If
Next
End With
End Function

Bu gördüğünüz kod içinde her hangi bir hücre içerisine yazılacak olan PÇ2 veya PÇ1 gibi sayı fark etmeksizin ama sadece PÇ nin yanında olacak rakamları saymayacak şekilde nasıl düzenlerim.
Cevapla
#2
Çalışmanızı ekleyip daha ayrıntılı 1 açıklama yapar mısınız?
Cevapla
#3
(28/12/2021, 11:31)berduş yazdı: Çalışmanızı ekleyip daha ayrıntılı 1 açıklama yapar mısınız?

Kavaklıdere sayfasında ilk 3 4 personelde PÇ2 PÇ3 PÇ4 PÇ5 yazıyor K_TOPLA(D2:AH2;1) diye formül oluşturdum bunda ise mesai hesaplamak için yaptım AS sütununda FMS fazla mesai yeri var oraya PÇ Yazılan Mesaileri eklemek istemiyorum çünkü PÇ fazla mesai farklı hesaplandığı için onun yeri ayrı oraya zaten yazıyor. FMS Bölümünde PÇ hesaplamasın geri kalanları hesaplasın istiyorum.
.rar Aralık 2021.rar (Dosya Boyutu: 34,02 KB | İndirme Sayısı: 3)
Cevapla
#4
PÇ harflerini almasın sadece sayıları mı alsın istiyorsunuz acaba eğer öyleyse Kavaklıdere sayfasında boş bir hücreye bu formülü yazıp deneyebilirisiniz.

=PARÇAAL(H2;3;10)
Cevapla
#5
(06/01/2022, 22:51)lemoncher2 yazdı: PÇ harflerini almasın sadece sayıları mı alsın istiyorsunuz acaba eğer öyleyse Kavaklıdere sayfasında boş bir hücreye bu formülü yazıp deneyebilirisiniz.

=PARÇAAL(H2;3;10)
PÇ ile birlikte sayıları da orada almasın istiyorum.
Cevapla
#6
Sanırım bu sefer anladım ne yapmak istediğinizi

Modülünüzde bulunan kodu aşağıdaki ile değiştirirmisiniz.

Kod:
Function K_TOPLA(Alan As Range, Optional Kriter As Boolean = True) As Double
    Dim Veri As Range

    Application.Volatile True

    With CreateObject("VBScript.RegExp")
        .IgnoreCase = True
        .Global = True
        .Pattern = "[^0-9 /[PÇ]+"
        

        For Each Veri In Alan
            If IsNumeric(.Replace(Veri, "")) Then
                If Kriter = True Then
                    K_TOPLA = K_TOPLA + .Replace(Veri, "")
                Else
                    K_TOPLA = K_TOPLA
                End If
            End If
        Next
    End With
End Function

Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task