صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 11

موضوع: جستجوي ركوردهاي جديد از يك ليست متغير و ثبت آنها در يك ليست ثابت

  1. #1


    آخرین بازدید
    2024/02/10
    تاریخ عضویت
    November 2013
    نوشته ها
    51
    امتیاز
    25
    سپاس
    56
    سپاس شده
    15 در 11 پست
    سطح اکسل
    58.00 %

    جستجوي ركوردهاي جديد از يك ليست متغير و ثبت آنها در يك ليست ثابت

    با سلام خدمت دوستان
    توي يك فايل اكسلي كه براي يكي از دوستانم تهيه مي كنم به اين مسئله رسيدم و از اين قراره كه در يك ليستي كه بصورت موقت و هر روز متغير است مشخصات افراد ( در شيت ثبت اطلاعات موقت ) ثبت مي شود. حال نياز است كه اطلاعات كليه افراد در يك ليست جداگانه ( شيت بانك اطلاعات )نگهداري شود . با توجه به اينكه كاربري كه مسئول ثبت اطلاعات مي باشد خيلي با اكسل آشنايي ندارد ،( همينطور خود بنده ) كه از وي بخواهيم افرادي كه براي نخسين بار اطلاعات آنها در ليست موقت ثبت مي شود ، مشخصات آنها در شيت بانك اطلاعات وارد كند ، و قطعا احتمال بروز خطاي كاربري زياد است ، احتمال فراموشي كاربر و از اين دست مسائل ، بدنبال راهكاري هستم بگونه ايكه كدي در شيت "ثبت اطلاعات موقت" يا " بانك اطلاعات" هر كدام كه اساتيد صلاح مي دانند ، بصورت فعال ( نه بصورت ماكرو كه نياز به اجراي آن توسط كاربر باشد) باشد كه به محض اينكه ركورد جديدي ثبت شود كه در ليست بانك اطلاعات وجود ندارد ، اطلاعات اين ركورد ( يك يا چند فيلد از آن كه مد نظر است ) به صورت اتوماتیک به بانك اطلاعات اضافه گردد . البته نيازي نيست كه در بانك اطلاعات ، ركورد جديد بصورت مرتب شده سورت گردد ، در همين حد كه به انتهاي ليست بانك اطلاعات اضافه گردد كافي مي باشد.
    لینک دانلود فایل نمونه
    Download File : List_1.xlsx

    ممنون از توجه دوستان و اساتيد گرامي
    قابل ذکر اینکه بصورت دستی چنین کاری انجام شده ، فقط نیاز دارم که بصورت اتوماتیک اینکار صورت بگیرد
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2024/02/10
    تاریخ عضویت
    November 2013
    نوشته ها
    51
    امتیاز
    25
    سپاس
    56
    سپاس شده
    15 در 11 پست
    سطح اکسل
    58.00 %

    و توضیح دیگر اینکه در شیت ثبت اطلاعات موقت ، اطلاعات در هر لحظه ممکن است تغییر کند بدین معنی که احتمال تغیر کل لیست در شیت ثبت اطلاعات موقت می باشد و چنانچه ثبت اطلاعات جدید بصورت خودکار در شیت بانک اطلاعات ( بایگانی ) صورت نگیرد در حقیقت بخشی از اطلاعات را از دست داده ایم.

  4. سپاس ها (1)


  5. #3


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    نقل قول نوشته اصلی توسط arsalan135 نمایش پست ها
    با سلام خدمت دوستان
    توي يك فايل اكسلي كه براي يكي از دوستانم تهيه مي كنم به اين مسئله رسيدم و از اين قراره كه در يك ليستي كه بصورت موقت و هر روز متغير است مشخصات افراد ( در شيت ثبت اطلاعات موقت ) ثبت مي شود. حال نياز است كه اطلاعات كليه افراد در يك ليست جداگانه ( شيت بانك اطلاعات )نگهداري شود . با توجه به اينكه كاربري كه مسئول ثبت اطلاعات مي باشد خيلي با اكسل آشنايي ندارد ،( همينطور خود بنده ) كه از وي بخواهيم افرادي كه براي نخسين بار اطلاعات آنها در ليست موقت ثبت مي شود ، مشخصات آنها در شيت بانك اطلاعات وارد كند ، و قطعا احتمال بروز خطاي كاربري زياد است ، احتمال فراموشي كاربر و از اين دست مسائل ، بدنبال راهكاري هستم بگونه ايكه كدي در شيت "ثبت اطلاعات موقت" يا " بانك اطلاعات" هر كدام كه اساتيد صلاح مي دانند ، بصورت فعال ( نه بصورت ماكرو كه نياز به اجراي آن توسط كاربر باشد) باشد كه به محض اينكه ركورد جديدي ثبت شود كه در ليست بانك اطلاعات وجود ندارد ، اطلاعات اين ركورد ( يك يا چند فيلد از آن كه مد نظر است ) به صورت اتوماتیک به بانك اطلاعات اضافه گردد . البته نيازي نيست كه در بانك اطلاعات ، ركورد جديد بصورت مرتب شده سورت گردد ، در همين حد كه به انتهاي ليست بانك اطلاعات اضافه گردد كافي مي باشد.
    لینک دانلود فایل نمونه
    Download File : List_1.xlsx

    ممنون از توجه دوستان و اساتيد گرامي
    قابل ذکر اینکه بصورت دستی چنین کاری انجام شده ، فقط نیاز دارم که بصورت اتوماتیک اینکار صورت بگیرد
    طبق فایل پیوست به نظر میرسه قصد دارید اطلاعات در شیت بدون واسطه وارد بشه این روش مناسب نیست چرا که تنها رویداد در دسترس worksheet_change هست این کار رو هم برای کاربر سخت میکنه هم برای شما که قراره فایل رو آماده کنید برای ورود اطلاعت حتما باید از فرم بهره ببرید،در این فرم با فشردن کلید ثبت علاوه بر ثبت در شیت موقت یک کد فراخوانی میشه و کدملی رو در شیت بانک جستجو میکنه اگر بود پیغام میده موجوده اگر نبود ثبت می کنه و پیام میده که ثبت شد ، کار ساده هست هر کدوم از مدیران قادرند انجام بدن این کار رو




  6. #4


    آخرین بازدید
    2024/02/10
    تاریخ عضویت
    November 2013
    نوشته ها
    51
    امتیاز
    25
    سپاس
    56
    سپاس شده
    15 در 11 پست
    سطح اکسل
    58.00 %

    آقا مهدی
    با سلام و تشکر از شما
    توضیح دقیقتر در مورد شیت بانک اطلاعات موقت اینست که بخشی از اطلاعات قرار است از طریق اینترنت دریافت گردد و این اطلاعات در هر دفعه شاید چند ساعت و یا شاید چند دقیقه بعد از آپدیت شدن لیست تغییر کند برای همین لازم است این اطلاعات به محض آپدیت شدن لیست ، موارد جدید در شیت بانک اطلاعات ذخیره گردد ( به انتهای لیست بانک اطلاعات ) اضافه گردد.
    به عنوان نمونه که دقیق یادم نیست در کدوم بخش تالار بود ، دوستی کدی نوشته بودند که به محض ورود اطلاعات در آن ستون ، اطلاعات آن ستون از بالا تا آخرین ردیفی که اطلاعات ثبت شده بود سورت می شد. چیزی که مد نظر من هست چیزی شبیه به این با این تفاوت که :
    1- نیازی به سورت کردن نیست فقط کافیست که آیتمهای جدیدی که در شیت بانک اطلاعات موقت هست ( که اطلاعات از طریق اینترنت دریافت می گردد) به انتهای لیست شیت بانک اطلاعات اضافه گردد.
    2- زمانی که رکورد جدیدی در لیست شناسایی می شود ، سایر فیلدها نیز به همراه فیلد اصلی ( نظیر نام و نام خانوادگی ، نام پدر و ... ) به انتهای لیست اضافه گردد
    امیدوارم توانسته باشم منظورم را رسانده باشم
    درود و سپاس

  7. #5


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    کار کار پیچیده ای نیست. منظور جناب وطن پرست اینه که چون روی فایل تغییرات ممکنه ایجاد بشه ایونت تغییر شیت برای کد نویسی مقول نیست . حالا با اکتیو شدن یا زدن یه button بهتر میشه. اما اینطور که به نظر میرسه شما یه لیستی داری که از اینترنت وارد یه شیت میشه حالا مثلا با توجه به کد ملی میخوای ببینی اگر این کدملی ها توی شیت بانک شما نیست خودکار بره زیر اونها وارد بشه. اگر اینطور باشه بمثلا با یه حلقه for و مثلا یه if یا countif (این دومی بهتره . سرعتش بیشتره) اون کد ملی رو تو شیت بانک برسی در صورت اینکه نبود کپی و در اون شیت پیست میکنی. همین

    مورد بعدی فایل رو تو همین سایت آپلود کن دوست من
    در پناه خداوندگار ایران زمین باشید و پیروز


  8. #6


    آخرین بازدید
    2024/02/10
    تاریخ عضویت
    November 2013
    نوشته ها
    51
    امتیاز
    25
    سپاس
    56
    سپاس شده
    15 در 11 پست
    سطح اکسل
    58.00 %

    جناب اسماعيلي دقيقا همين چيزي كه شما مي فرمائيد ، مورد نياز بنده است . حالا اين كد نويسي رو چگونه بايد بنويسم اصلا سررشته اي ندارم ، چنانچه برايتان مقدور است راهنمايي كنيد . شما فرض كنيد سه ستون با عنوانهاي كد ملي ، نام و نام خانوادگي ، نام پدر كه تقريبا در هر آپديتي 600 -700 نفر (رديف ) رو شامل ميشه .
    ممنون از توجه شما

  9. #7


    آخرین بازدید
    2021/12/05
    تاریخ عضویت
    February 2010
    محل سکونت
    بوشهر
    نوشته ها
    940
    امتیاز
    718
    سپاس
    29
    سپاس شده
    863 در 365 پست
    تعیین سطح نشده است

    shamsololama به Yahoo ارسال پیام
    با درود فراوان
    با توجه به توضیحات شما و همچین توضیحات دوستان خوبم و سپاس فراوان از ایشان این کد رو برای شما نوشتم ببین همان چیزی است که مد نظر شماست یا نه
    کد PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    Dim n
    m
    For Each c In Sheet2.Range("A1:A1000")
    Application.WorksheetFunction.CountIf(Sheet1.Range("A1:a1000"), c.Value)
    Application.WorksheetFunction.CountA(Sheet1.Range("A1:a1000"))
        If 
    c.Value <> "" And c.Offset(01) <> "" And c.Offset(02) <> "" And 0 Then
        Sheet1
    .Range("A1").Offset(n0).Value c.Value
        Sheet1
    .Range("A1").Offset(n1).Value c.Offset(01).Value
        Sheet1
    .Range("A1").Offset(n2).Value c.Offset(02).Value
        
        End 
    If
    Next
    End Sub 
    فایل نیز پیوست کردم
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط ~M*E*H*D*I~ : 2014/03/02 در ساعت 13:52
    ---------------------------------------------------------------------------------------------------
    بمانیم تا کاری کنیم ،نه کاری کنیم تا بمانیم [size=x-small](دکتر شریعتی)[/size]
    shamsololama@yahoo.com
    09177733411


  10. #8


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    کار استاد شمس که درسته و هیچ حرفی من حد اقل هیچ وقت روش نمیارم
    منم یه کد مینویسم به این صورت که همه داده ها تونو بیاره از شیت موقت تو بانک و بعدش بگرده اگر تکراری وجود داشت (یعنی هر سه ستون تکراری باشن) رو پاک کنه

    کد:
    Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim lastrow As Long
    With Sheet1
    
     lastrow = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
                               
     End With
        Sheet1.Range("A2:C" & lastrow).Select
        Selection.Copy
     Sheet2.Select
        Dim m
        m = Application.WorksheetFunction.CountA(Sheet2.Range("A:A"))
        
    
        Sheet2.Range("A" & m + 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        '#####################333
    Dim s
        s = Application.WorksheetFunction.CountA(Sheet2.Range("A:A"))
        
         Sheet2.Columns("A:C").Select
        Sheet2.Range("$A$1:$C$" & s).RemoveDuplicates Columns:=Array(1, 2, 3), _
            Header:=xlYes
    If Sheet1.Range("A2").Value <> "" Then
    Sheet1.Range("A2:C" & lastrow).ClearContents
    
    End If
    Sheet1.Select
    Application.ScreenUpdating = True
    
    End Sub
    اگر فقط سرچ بر اساس کد ملی هست وپس این قسمت اینجوری میشه

    کد:
     Sheet2.Range("$A$1:$C$" & s).RemoveDuplicates Columns:=Array(1), _
            Header:=xlYes
    یعنی فقط و کد ملی ها نگاه کنه. اینو واسه یه کلید و شیت موق نوشتم شما تو هر ایونتی میونی بنویسی. در ضمن بعد از اجرا شدن شی موقت اطلاعاتش پاک میشه که واسه دور بعد حجم اطلاعات بیخودی بالا نره
    ویرایش توسط امين اسماعيلي : 2014/03/02 در ساعت 13:36
    در پناه خداوندگار ایران زمین باشید و پیروز


  11. #9


    آخرین بازدید
    2024/02/10
    تاریخ عضویت
    November 2013
    نوشته ها
    51
    امتیاز
    25
    سپاس
    56
    سپاس شده
    15 در 11 پست
    سطح اکسل
    58.00 %

    با تشکر از دوستان و اساتید گرامی : آقایان شمس العلما و اسماعیلی
    بسیار عالی بود
    دقیقا همان چیزی بود که می خواستم
    درود و سپاس

  12. سپاس ها (1)


  13. #10


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود نمونه فایل دوستمونو با توجه به یه سری موضوعات میزارم
    فايل هاي پيوست شده فايل هاي پيوست شده
    در پناه خداوندگار ایران زمین باشید و پیروز



صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. علت حجم بالاي يك فايل اكسل چيست ؟؟؟
    توسط hamidreza313 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 3
    آخرين نوشته: 2014/09/22, 01:08
  2. جستجوي ركوردهاي جديد از يك ليست متغير و ثبت آنها در يك ليست ثابت
    توسط arsalan135 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 4
    آخرين نوشته: 2014/03/01, 14:58
  3. قفل كردن يك شيت با شرط متغير
    توسط hamidreza313 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 1
    آخرين نوشته: 2013/02/05, 20:57
  4. جستجوي هوشمند در يك سلول
    توسط kourosh612 در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 4
    آخرين نوشته: 2012/05/26, 15:02
  5. جستجوي يك كلمه
    توسط hhaammiidd در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 1
    آخرين نوشته: 2011/12/31, 14:11

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

جستجو بر اساس کد ملی در اکسل و چاپ اطلات ان رکورد

رکورد ثابت و متغییر در C

کدهای مورد نیاز تابع برای جستجوی یک رکورد

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است