ارتباط دو sheet در اکسل

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • AmirAkbar

    • 2014/02/06
    • 118

    #16
    منظورتون اینجوریه ؟
    فایل های پیوست شده

    کامنت

    • naser1357

      • 2015/02/19
      • 89

      #17
      به همین منوال اما نیاز به ماکروش دارم

      نوشته اصلی توسط AmirAkbar
      منظورتون اینجوریه ؟
      سلام
      مرسی از لطفتون دقیقا به همین منوال با این تفاوت که ممکن اطلاعات چند ستون مختلف شیت 2 در شیت 1 کپی شوند

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

      کامنت

      • naser1357

        • 2015/02/19
        • 89

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

        کامنت

        • AmirAkbar

          • 2014/02/06
          • 118

          #19
          دوست عزیز .. اگر با فرمول بخوای من در خدمتم .. ولی با کد متاسفانه کدنویسیم زیاد خوب نیست ..!
          البته سعی کردم کاری انجام بدم .. الان کد زیر مقادیری که همنام باشند (تو هر دو شیت یکی باشند) رو میاره .. ولی شرط دوم دستور if رو (که اگه اسم وجود نداشت پیغامی صادر کنه) رو نمیدونم چرا برنمی گردونه ..

          مگه اینکه استادان گرامی مثل جناب ابوتراب وقت داشه باشند و بگن مشکل کجاست..
          کد:
          Sub LookupNcompare()
          
          Dim Range1 As Range, Range2 As Range, Strng As String
          Dim lastrow1 As Long, lastrow2 As Long
          
          lastrow1 = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
          lastrow2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
          
          Set Range1 = Sheets("Sheet1").Range("A4", "a" & lastrow1)
          Set Range2 = Sheets("Sheet2").Range("A4", "a" & lastrow2)
          
          Application.ScreenUpdating = False
          Dim i As Long
            For i = 1 To lastrow1
             For Each c In Range2
               
              If c <> "" And c.Value = Range1.Cells(i).Value Then
              Range1.Cells(i, 2) = Sheets("Sheet2").Cells(c.Row, 3)
              
              ElseIf c <> "" And c.Value <> Range1.Cells(i).Value Then
              
             ' MsgBox c
              
              End If
           Next
          Next
          Application.ScreenUpdating = True
          
          End Sub

          کامنت

          چند لحظه..