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

موضوع: جابه جایی بین شیت های قفل شده

  1. #1


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    جابه جایی بین شیت های قفل شده

    با سلام
    من ی کد دارم که میتونین برای اموزش هم استفاده کنین که کل اون ردیف رو به شیتی که هم نام با سلول مورد نظر باشه انتقال میده
    حالا شیت های من رمزشون 123 هست و میخوام این کد با اینکه شیت ها پروتکت شدن هم کارشو کنه اما هر کدی میزنم ارور میده نمیدونم مشکل از کجاست
    کد:
    Sub sabt()
    '
    ' Macro2 Macro
    '
    Dim c As Range
    For i = 1 To Sheets.Count
        For Each c In Sheet1.Range("I3")
            If c.Value = Sheets(i).Name Then
        Range("A3:H3").Select
        Selection.Copy
        Sheets(i).Activate
        Range("A3").Select
        Selection.Insert Shift:=xlDown
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Range("A3").Select
        Sheets("ËÈÊ").Select
        Range("A3:G3,I3").Select
    Selection.ClearContents
    Range("A3").Select
            End If
        Next c
    Next i
    End Sub
    ممنونم میشم ی راه حلی نشون بدین
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.


  2.  

  3. #2


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    کد:
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
    کد میزنم به این گیر میده


  4. #3


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

    با درود
    خب وقتی شیتت پروتکت باشه همینه مشکل با select پیدا میکنی- شمو کد وارد شدن رمز رو که تو پست های اموزشی هم گذاشتی بزار اول کد هات بعد کد قفل شدن خودکارشونم بزار اخر کد هات حل میشه
    در پناه خداوندگار ایران زمین باشید و پیروز

  5. سپاس ها (1)


  6. #4


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    از قبل هم گذاشتم منظورتون این حالتیه؟
    کد:
    Sub sabt()
    ActiveSheet.Unprotect "123"
    Dim c As Range
    For i = 1 To Sheets.Count
        For Each c In Sheet1.Range("I3")
            If c.Value = Sheets(i).Name Then
        Range("A3:H3").Select
        Selection.Copy
        Sheets(i).Activate
        Range("A3").Select
        Selection.Insert Shift:=xlDown
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Range("A3").Select
        Sheets("ËÈÊ").Select
        Range("A3:G3,I3").Select
    Selection.ClearContents
    Range("A3").Select
            End If
        Next c
    Next i
    ActiveSheet.Protect "123"
    End Sub

    اما گزینه
    کد:
    Selection.Insert Shift:=xlDown
    مشکل پیدا میکنه


  7. #5


    آخرین بازدید
    2023/05/03
    تاریخ عضویت
    January 2012
    محل سکونت
    استان اردبیل / شهرستان پارس آباد (مغان)
    نوشته ها
    1,213
    امتیاز
    2633
    سپاس
    1,399
    سپاس شده
    2,089 در 665 پست
    سطح اکسل
    73.00 %

    Javid Mokhtari به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط absorkhi نمایش پست ها
    از قبل هم گذاشتم منظورتون این حالتیه؟
    کد:
    Sub sabt()
    ActiveSheet.Unprotect "123"
    Dim c As Range
    For i = 1 To Sheets.Count
        For Each c In Sheet1.Range("I3")
            If c.Value = Sheets(i).Name Then
        Range("A3:H3").Select
        Selection.Copy
        Sheets(i).Activate
        Range("A3").Select
        Selection.Insert Shift:=xlDown
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Range("A3").Select
        Sheets("ËÈÊ").Select
        Range("A3:G3,I3").Select
    Selection.ClearContents
    Range("A3").Select
            End If
        Next c
    Next i
    ActiveSheet.Protect "123"
    End Sub

    اما گزینه
    کد:
    Selection.Insert Shift:=xlDown
    مشکل پیدا میکنه
    با سلام.
    خب برادر من ، شیت های شما که قفل است و فرض کنید شما در شیت اول قرار دارید و شما در خط اول نوشتید ActiveSheet.Unprotect "123 این یعنی فقط شیت اول از قفل ازاد می شود و می توانید در ان شیت عملیات انجام دهید این از این.وقتی وارد حلقه می شوید کد Sheets("ËÈÊ").Select را نوشتید پس شیت فعال Sheet("ËÈÊ هستش ولی شما کدی برای Unprotect کردن شیت EEE ننوشته اید بخاط همین کدها خطا می دهد.
    من فلسفه حلقه
    For Each رو نفهمیدم که تو کد بالا به چه دردی می خوره.کد اضافه زیاد نوشتید.
    ویرایش توسط Javid Mokhtari : 2014/07/27 در ساعت 03:35
    دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
    بیش از 60 جلسه آموزش ویدئویی رایگان

    شرکت در دوره:

    https://javidsoft.ir/courses/




  8. #6


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    فلسفه این کد در این هست که اگه در شیت 1 در سلول خاصی هر متنی بنویسی تمام اون ردیف رو به شیت هم نام سلول مورد نظر انتقال میده
    پس برای هر شیتی که از رنج فلان تا رنج فلان هر متنی مطابق شیت های اکسل بود اطلاعات رو به اون شیت اضافه کن
    و برای اینکه در ماژول تعریف بشه و برای هر شیت جداگانه قرار نگیره این حالت هست تا هرجا خواستم با ی call فراخوانی کنم
    ویرایش توسط ali.b : 2014/07/27 در ساعت 09:10


  9. سپاس ها (1)


  10. #7


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    در ضمن بابات اون نکته ای که گفتین ممنونم بله اشتباه من درست همون نکته بوده که اصلا یادم رفته بود اون کار رو انجام بدم
    ممنونم


  11. سپاس ها (1)


  12. #8


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    591
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    بعدش با مشکل کپی برخوردم که وقتی فایل هنگامی که به وارد کردن پسورد میرسه خودکار اون کپی که از قبل کرده بود از کار می افته
    بنابراین فراید کپی از شیت و سلول های مرجع رو به بعد از فراخوانی پسورد انتقال دادم
    یعنی به این حالت شد
    کد:
    Sub sabt()
    ActiveSheet.Unprotect "123"
    Dim c As Range
    For i = 1 To Sheets.Count
        For Each c In Sheet1.Range("I3")
            If c.Value = Sheets(i).Name Then
        Sheets(i).Activate
        ActiveSheet.Unprotect "123"
        Sheet1.Range("A3:H3").Copy
        Range("A3").Select
        Selection.Insert Shift:=xlDown
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Range("A3").Select
        ActiveSheet.Protect "123"
            End If
        Next c
    Next i
        Sheets("ËÈÊ").Select
        Range("A3:G3,I3").Select
    Selection.ClearContents
    Range("A3").Select
    ActiveSheet.Protect "123"
    End Sub


  13. #9


    آخرین بازدید
    2023/05/03
    تاریخ عضویت
    January 2012
    محل سکونت
    استان اردبیل / شهرستان پارس آباد (مغان)
    نوشته ها
    1,213
    امتیاز
    2633
    سپاس
    1,399
    سپاس شده
    2,089 در 665 پست
    سطح اکسل
    73.00 %

    Javid Mokhtari به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط absorkhi نمایش پست ها
    فلسفه این کد در این هست که اگه در شیت 1 در سلول خاصی هر متنی بنویسی تمام اون ردیف رو به شیت هم نام سلول مورد نظر انتقال میده
    پس برای هر شیتی که از رنج فلان تا رنج فلان هر متنی مطابق شیت های اکسل بود اطلاعات رو به اون شیت اضافه کن
    و برای اینکه در ماژول تعریف بشه و برای هر شیت جداگانه قرار نگیره این حالت هست تا هرجا خواستم با ی call فراخوانی کنم
    فلسفه For each بررسی چندین محدوده بصورت گام به گام است.ولی وقتی محدوده شما فقط یک سلول است دیگه به For each نیازی نیست.یعنی کد
    کد PHP:
     For Each c In Sheet1.Range("I3")
            If 
    c.Value Sheets(i).Name Then 
    با کد
    کد PHP:
            If Sheet1.Range("I3") = Sheets(i).Name Then 
    هیچ فرقی ندارد.
    دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
    بیش از 60 جلسه آموزش ویدئویی رایگان

    شرکت در دوره:

    https://javidsoft.ir/courses/



  14. #10


    آخرین بازدید
    2023/05/03
    تاریخ عضویت
    January 2012
    محل سکونت
    استان اردبیل / شهرستان پارس آباد (مغان)
    نوشته ها
    1,213
    امتیاز
    2633
    سپاس
    1,399
    سپاس شده
    2,089 در 665 پست
    سطح اکسل
    73.00 %

    Javid Mokhtari به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط absorkhi نمایش پست ها
    بعدش با مشکل کپی برخوردم که وقتی فایل هنگامی که به وارد کردن پسورد میرسه خودکار اون کپی که از قبل کرده بود از کار می افته
    بنابراین فراید کپی از شیت و سلول های مرجع رو به بعد از فراخوانی پسورد انتقال دادم

    [/CODE]
    این مسلم است که پس از کپی کردن، هر عملی در شیت باعث لغو شدن عمل کپی می شود.
    کد PHP:
    Dim c As Range
    For 1 To Sheets.Count 
           
    If Sheet1.Range("I3") = Sheets(i).Name Then 
           Sheet1
    .Unprotect "123"  
          
    Sheets(i).Unprotect "123"  
      
    Sheets(i).Rows("3:3").Insert Shift:=xlDown
        Sheet1
    .Range("A3:H3").Copy
        Sheets
    (i).Activate
        Sheets
    (i).Range("A3").Select
        ActiveSheet
    .Paste
        Application
    .CutCopyMode False
            Sheet1
    .Protect "123"
            
    Sheets(i).Protect "123"
            
    End If
    Next i 
    بقیه کدهایی که میخواین رو اضافه کنید.اما به اولویت عمل دقت کنید.
    دوره های آموزش رایگان اکسل از صفر تا پیشرفته بصورت تصویری
    بیش از 60 جلسه آموزش ویدئویی رایگان

    شرکت در دوره:

    https://javidsoft.ir/courses/




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

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

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

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

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

  1. راهنمایی ؟ کپی کردن خودکار از یک شیت به شیت دیگردر اکسل؟
    توسط zareeijavad در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 12
    آخرين نوشته: 2020/10/09, 20:28
  2. پاسخ ها: 15
    آخرين نوشته: 2015/01/17, 20:03
  3. پاسخ ها: 4
    آخرين نوشته: 2014/07/17, 00:02

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

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

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

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

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

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