کپی شدن اطلاعات از یک شیت به انتهای شیت دیگر بصورت مقداری(paste value)-شیت اول با تابع تکمیل میشود ردیف هایی که مقدار تابع صفر نباشد هدف است

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • armey

    • 2019/11/08
    • 142
    • 38.00

    [حل شده] کپی شدن اطلاعات از یک شیت به انتهای شیت دیگر بصورت مقداری(paste value)-شیت اول با تابع تکمیل میشود ردیف هایی که مقدار تابع صفر نباشد هدف است

    ضمن عرض ادب و احترام خدمت دوشتان عزیز و اعضای محترم

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

    1 - شیت اول با تابع تکمیل می شود هدف کپی شدن سطرهایی است که تابع در آن سطر عددی یافته و در نتیجه مخالف صفر باشد .

    2 - اطلاعت به انتهای شیت بایگانی و بصورت مقداری منتقل شود

    3- اگر بتواند در سلول اول تاریخ انجام کپی را قید کند که عالی اگر نشود هم مهم نیست

    توضیحات فایل :
    شیتهای "تخصیصی" و "رول" و "CRM"
    روزانه پر می شوند

    در شیت "ارسال" روز مقادیر از سه شیت فوق تکمیل و تجویع میشود

    ماکرو باید شیت ارسال را بررسی کنند
    تمام شیت
    هر سطری که مقدار سلول ""I"" در آن صفر نیست
    تمام آن سطر را به انتهای شیت "ارسال" بصورت مقداری کپی کند

    *شیت ارسال بایگانی و مبع تهیه فاکتور است

    کپی-ارسال-روز-با-ارسال.xlsb

    با سپاس و تجدید احترام
  • armey

    • 2019/11/08
    • 142
    • 38.00

    #2


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

    فقط در این کد نویسی
    اگر سلول a بزرگتر از 100 شود کد برایش در جا اجرا می شود

    من میخواهم کد با دستور من با کلیک انجام شود که طبیعتا متصل به یک شیپ است

    ولی اجرا برای سلول هایی باشد که سطرهایی باشد سلول a مخالف صفر باشد
    (((چون اطلاعات سلول ها با تابع عای مختلف فراخوانی میشود اگر اطلاعاتی نباشد جواب تابع صفر است و ما نیازی به آن نداریم))))

    - - - Updated - - -

    کامنت

    • armey

      • 2019/11/08
      • 142
      • 38.00

      #3
      دوستان عزیز ، اعضای محترم
      خواهشمندم اگه مقدوره و در توان هست کمک بفرمایید

      با سپاس

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        نوشته اصلی توسط armey
        دوستان عزیز ، اعضای محترم
        خواهشمندم اگه مقدوره و در توان هست کمک بفرمایید

        با سپاس
        با سلام

        کدهای نمایش داده شده در قسمت کدنویسی شیت یک را حذف نمایید و از کدهای ماژول یک استفاده نمایید

        Click image for larger version

Name:	Untitled.png
Views:	1
Size:	99.3 کیلو بایت
ID:	139022
        فایل های پیوست شده

        کامنت

        • armey

          • 2019/11/08
          • 142
          • 38.00

          #5
          نوشته اصلی توسط iranweld
          با سلام

          کدهای نمایش داده شده در قسمت کدنویسی شیت یک را حذف نمایید و از کدهای ماژول یک استفاده نمایید

          [ATTACH=CONFIG]23090[/ATTACH]

          نوشته اصلی توسط iranweld
          با سلام

          کدهای نمایش داده شده در قسمت کدنویسی شیت یک را حذف نمایید و از کدهای ماژول یک استفاده نمایید

          [ATTACH=CONFIG]23090[/ATTACH]
          بسیار بسیار بسیار
          سپاسگذارم دوست عزیز بابت لطفتون

          جسارتا دوتا سوال داشتم
          (قصور از خودم بود سوال رو درست تشریح نکردم )

          در کد ارائه شده شما :
          کد:
          Sub TEST()
          
          Z = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
          K = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row + 1
          
          
          For I = 1 To Z
          
          
          If IsNumeric(Sheet1.Range("A" & I).Value) And Sheet1.Range("A" & I).Value >= 100 Then
          
          
          Sheet1.Range(I & ":" & I).Select
          Selection.Cut
          Sheets("Sheet2").Select
          
          
              Rows(K & ":" & K).Select
              ActiveSheet.Paste
              Range("A" & K).Select
              
             Sheets("Sheet1").Select
             Range("A" & I).Select
          
          
          'MsgBox "OK"
          End If
          Next
          
          
          
          
          End Sub
          • اگر بخواهیم در سطر

          کد:
          If IsNumeric(Sheet1.Range("A" & I).Value) And Sheet1.Range("A" & I).Value >= 100 Then
          بگویم بررسی کن
          اگر سلول A حاوی مقدار بود سطر را کپی کن
          کد:
          Value >= 100 Then
          رو به
          =""
          تغییر دادم ولی نشد .

          • بجای کات دادن یعنی منتقل کردن به شیت بعدی کپی کند یعنی اطلاعات شیت اول کپی شود((شیت یک دارای فرمول است و اطلاعات باید کپی شود ))




          • مقدوره کد جایگزینی رو لطف بفرمایید

          اطلاعاتی که به شیت یک منتقل می شود از سامانه ایی است که "ی" و "ک" را عربی می نویسد. میخواهم کدی باشد که با انجامش "ی" و "ک" عربی رو به فارسی تغییر بده
          چون در شیت یک فرمول دارم و با حروف عربی به مشکل بر میخورم بعد از کپی کردن سورس اطلاعات دکمه تعریف شده رو بزنم جایگزینی انجام بشه.

          کامنت

          • iranweld

            • 2015/03/29
            • 3341

            #6
            نوشته اصلی توسط armey
            بسیار بسیار بسیار
            سپاسگذارم دوست عزیز بابت لطفتون

            جسارتا دوتا سوال داشتم
            (قصور از خودم بود سوال رو درست تشریح نکردم )

            در کد ارائه شده شما :
            کد:
            Sub TEST()
            
            Z = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
            K = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row + 1
            
            
            For I = 1 To Z
            
            
            If IsNumeric(Sheet1.Range("A" & I).Value) And Sheet1.Range("A" & I).Value >= 100 Then
            
            
            Sheet1.Range(I & ":" & I).Select
            Selection.Cut
            Sheets("Sheet2").Select
            
            
                Rows(K & ":" & K).Select
                ActiveSheet.Paste
                Range("A" & K).Select
                
               Sheets("Sheet1").Select
               Range("A" & I).Select
            
            
            'MsgBox "OK"
            End If
            Next
            
            
            
            
            End Sub
            • اگر بخواهیم در سطر

            کد:
            If IsNumeric(Sheet1.Range("A" & I).Value) And Sheet1.Range("A" & I).Value >= 100 Then
            بگویم بررسی کن
            اگر سلول A حاوی مقدار بود سطر را کپی کن
            کد:
            Value >= 100 Then
            رو به
            =""
            تغییر دادم ولی نشد .

            • بجای کات دادن یعنی منتقل کردن به شیت بعدی کپی کند یعنی اطلاعات شیت اول کپی شود((شیت یک دارای فرمول است و اطلاعات باید کپی شود ))




            • مقدوره کد جایگزینی رو لطف بفرمایید

            اطلاعاتی که به شیت یک منتقل می شود از سامانه ایی است که "ی" و "ک" را عربی می نویسد. میخواهم کدی باشد که با انجامش "ی" و "ک" عربی رو به فارسی تغییر بده
            چون در شیت یک فرمول دارم و با حروف عربی به مشکل بر میخورم بعد از کپی کردن سورس اطلاعات دکمه تعریف شده رو بزنم جایگزینی انجام بشه.
            با سلام

            کد جایگزین

            کد PHP:
            If  Sheet1.Range("A" I) <> "" Then 
            کد تغییر حروف عربی "ی" و "ک" به فارسی


            کد:
            Sub test()
            
              
                
                For Each cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
                    cell.Value = WorksheetFunction.Trim(cell)
                Next cell
                
                Cells.Replace What:=ChrW(1610), Replacement:=ChrW(1740), LookAt:=xlPart, SearchOrder _
                    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
                Cells.Replace What:=ChrW(1603), Replacement:=ChrW(1705), LookAt:=xlPart, SearchOrder _
                    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
                    
                Next
                
             
            
            
            End Sub

            کامنت

            • armey

              • 2019/11/08
              • 142
              • 38.00

              #7
              نوشته اصلی توسط iranweld
              با سلام

              کد جایگزین

              کد PHP:
              if  sheet1.range("a" i) <> "" then 
              کد تغییر حروف عربی "ی" و "ک" به فارسی


              کد:
              sub test()
              
                
                  
                  for each cell in activesheet.usedrange.specialcells(xlcelltypeconstants)
                      cell.value = worksheetfunction.trim(cell)
                  next cell
                  
                  cells.replace what:=chrw(1610), replacement:=chrw(1740), lookat:=xlpart, searchorder _
                      :=xlbyrows, matchcase:=false, searchformat:=false, replaceformat:=false
                  cells.replace what:=chrw(1603), replacement:=chrw(1705), lookat:=xlpart, searchorder _
                      :=xlbyrows, matchcase:=false, searchformat:=false, replaceformat:=false
                      
                  next
                  
               
              
              
              end sub


              بزرگوار خیلی لطف کردید
              • موارد منتقل میشوند هدفم اینه کپی بشند


              علت اینه که شیت اول در فایل اصلی فرمول داره وقتی با کد شما منتقل میشوند اینور فرمولهام بهم میخوره

              شرط باید این رو بگه
              در شیت جاری
              در ستون "a" هر سلولی که پر بود یا مخالف صفر بود کل سطر کپی شود به انتهای شیت 2
              ملاحظات : با این کار سطر اول هم کپی میشه (سرتیتر)
              اومدم یه ستون کمکی ایجاد کردم با فرمول if
              گفتم اگر سلول مورد نظر دیتا داشتد 1 بزاره نداشت خالی باشه
              به کد شما هم بررسی ستون کمکی رو دادم
              هدف انجام شد
              فقط الان مشکل اینه سطر هایی رو که پیدا میکنه کات میده به شیت مقصد باید کپی کنه یعنی سطر از شیت اول پاک نشود

              - - - Updated - - -

              نوشته اصلی توسط iranweld
              با سلام

              کد جایگزین

              کد PHP:
              If  Sheet1.Range("A" I) <> "" Then 
              کد تغییر حروف عربی "ی" و "ک" به فارسی


              کد:
              Sub test()
              
                
                  
                  For Each cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
                      cell.Value = WorksheetFunction.Trim(cell)
                  Next cell
                  
                  Cells.Replace What:=ChrW(1610), Replacement:=ChrW(1740), LookAt:=xlPart, SearchOrder _
                      :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
                  Cells.Replace What:=ChrW(1603), Replacement:=ChrW(1705), LookAt:=xlPart, SearchOrder _
                      :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
                      
                  Next
                  
               
              
              
              End Sub


              بزرگوار خیلی لطف کردید
              • موارد منتقل میشوند هدفم اینه کپی بشند


              علت اینه که شیت اول در فایل اصلی فرمول داره وقتی با کد شما منتقل میشوند اینور فرمولهام بهم میخوره

              شرط باید این رو بگه
              در شیت جاری
              در ستون "A" هر سلولی که پر بود یا مخالف صفر بود کل سطر کپی شود به انتهای شیت 2
              ملاحظات : با این کار سطر اول هم کپی میشه (سرتیتر)
              اومدم یه ستون کمکی ایجاد کردم با فرمول IF
              گفتم اگر سلول مورد نظر دیتا داشتد 1 بزاره نداشت خالی باشه
              به کد شما هم بررسی ستون کمکی رو دادم
              هدف انجام شد
              فقط الان مشکل اینه سطر هایی رو که پیدا میکنه کات میده به شیت مقصد باید کپی کنه یعنی سطر از شیت اول پاک نشود

              کامنت

              • iranweld

                • 2015/03/29
                • 3341

                #8
                این کد cut را به copy تغییر بدید
                Click image for larger version

Name:	Untitled.png
Views:	1
Size:	16.7 کیلو بایت
ID:	139080

                - - - Updated - - -

                و برای اینکه از سطر خاصی شروع بکار کنه عدد یک را به شماره سطر مورد نظر تغییر بدید

                Click image for larger version

Name:	Untitled.png
Views:	1
Size:	23.7 کیلو بایت
ID:	139081

                کامنت

                • armey

                  • 2019/11/08
                  • 142
                  • 38.00

                  #9









                  خطای کدجایگزینی عربی با فارسی

                  - - - Updated - - -

                  کد:
                  [COLOR=#333333]Sub test()[/COLOR]
                    
                      
                      For Each cell In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
                          cell.Value = WorksheetFunction.Trim(cell)
                      Next cell
                      
                  
                      Cells.Replace What:=ChrW(1610), Replacement:=ChrW(1740), LookAt:=xlPart, SearchOrder _
                          :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
                      Cells.Replace What:=ChrW(1603), Replacement:=ChrW(1705), LookAt:=xlPart, SearchOrder _
                          :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
                          
                      Next
                      
                   
                  
                   [COLOR=#333333]End Sub[/COLOR]
                  Last edited by armey; 2021/10/25, 12:28.

                  کامنت

                  • armey

                    • 2019/11/08
                    • 142
                    • 38.00

                    #10
                    نوشته اصلی توسط iranweld
                    این کد cut را به copy تغییر بدید


                    - - - Updated - - -

                    و برای اینکه از سطر خاصی شروع بکار کنه عدد یک را به شماره سطر مورد نظر تغییر بدید
                    انتقال--ارسال-روز-به-ارسال-کل-و-جایگزینی-حروف-عربی.xls

                    انتقال--ارسال-روز-به-ارسال-کل-و-جایگزینی-حروف-عربی.xls


                    ویرایش شده بر اساس کمک های شما

                    کامنت

                    • iranweld

                      • 2015/03/29
                      • 3341

                      #11
                      فایل پیوست را بررسی کنید
                      فایل های پیوست شده

                      کامنت

                      چند لحظه..