تالار گفتگوی تخصصی متا

مرجع فنی و مهندسی متا => مرجع آفیس Office => سایر مباحث و فعالیتهای کامپیوتر => مرجع کامپیوتر => مرجع اکسل Excel => نويسنده: کـوکـبـی در ۳۰ فروردین ۱۳۸۹ - ۰۸:۰۴:۴۰

عنوان: اعداد تکراری دراکسل و دریافت اخطار
رسال شده توسط: کـوکـبـی در ۳۰ فروردین ۱۳۸۹ - ۰۸:۰۴:۴۰
با سلام

اگر بخواهیم چند شیت داشته باشیم و عددی را (هرعدددراصل شماره موبایل می باشد) وارد کنیم می توان کاری کرد که در صورت تکراری بودن اخطار دریافت کنیم؟؟
عنوان: پاسخ : اعداد تکراری دراکسل و دریافت اخطار
رسال شده توسط: marjan post zadeh در ۱ خرداد ۱۳۸۹ - ۱۴:۳۶:۴۱
سلام برای سوال شما جوابی نیست چون برای اکسل اندیس تعریف نشده وفقط برای تک سلول می توان از شرط استفاده کرد که وقت گیره
عنوان: پاسخ : اعداد تکراری دراکسل و دریافت اخطار
رسال شده توسط: A.Ehsani در ۱ خرداد ۱۳۸۹ - ۱۴:۴۳:۱۴
سلام

به نظر من با نوشتن دستورات بیسیک اکسل میشود این کار رو کرد ولی هم چنان که استاد گرامی فرمودند اکسل برای این کار ساخته نشده و این کار رو به راحتی با اکسس انجام دهید خیلی بهتر است.
عنوان: پاسخ : اعداد تکراری دراکسل و دریافت اخطار
رسال شده توسط: b721947 در ۳۱ شهریور ۱۳۹۴ - ۱۵:۴۶:۴۲
با سلام

از کد زیر استفاده کنید. در هر شیتی، در هر سلولی و هر مقداری که وارد کنید در صورت تکراری بودن، پیغام خطایی حاوی رفرنس تکرار آن را دریافت خواهید کرد:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim ws As Worksheet, Found As Range
    Dim str As String, FirstAddress As String
    Dim DupAddress As String, foundNum As Integer
    str = Target.Value
    If str = "" Then Exit Sub
    For Each ws In ThisWorkbook.Worksheets
        With ws
            Set Found = .UsedRange.Find(what:=str, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
           
            If Not Found Is Nothing Then
                FirstAddress = Found.Address
                Do
                    foundNum = foundNum + 1
                    If Found.Address <> Target.Address Then
                        DupAddress = DupAddress & .Name & " " & Found.Address & vbCrLf
                    End If
                    Set Found = .UsedRange.FindNext(Found)
                Loop While Not Found Is Nothing And Found.Address <> FirstAddress
            End If
        End With
    Next ws
    If Len(DupAddress) Then
        Range(Target.Address).Select
        MsgBox "Duplicate Value:  """ & str & """ " & vbCr & DupAddress, vbOKOnly, "Duplicate Error!"
    End If
End Sub

با احترام