نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: auto filter در vba

  1. #1


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    auto filter در vba

    سلام
    sheet1 حاوی اطلاعات زیر هست.(در واقع دیتا بیس)
    قصدم اینکه در یوزر فرم هر کس کد ماشین و ماه رو که زد بیاد اطلاعات مربوط به اون ماشین و اون ماه رو در sheet2 قرار بده.
    از چه فرمولی استفاده کنم؟
    ممنون میشم راهنمایی بکنید.




    [size=medium][align=center]
    فایل مورد نظر:
    http://www.4shared.com/file/_bLIV-SM/auto_filter_esyoo.html[/align][/size]
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2023/08/14
    تاریخ عضویت
    March 2010
    محل سکونت
    تهران
    نوشته ها
    2,034
    امتیاز
    4508
    سپاس
    2,467
    سپاس شده
    4,096 در 1,241 پست
    سطح اکسل
    85.00 %

    khakzad به Yahoo ارسال پیام

    RE: auto filter در vba

    سلام
    حتما باید از طریق Vba انجام بشه؟
    چون به راحتی میتونید از فرمول vlookup استفاده کنید.
    به این صورت که با if شماره گذاری کنید ماشین 1000 رو در ماه 1 و بعد اون اعداد رو vlookup کنید!!!

  4. #3


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    بله دوست عزیز
    اتفاقا همین کاری رو که شما میگید رو کردم.
    ولی اطلاعاتم به بالای 30000 رکورد میرسه و حجم فایل و محاسبات فوق العاده بالا میره

    من با ضبط ماکرو از فیلتر هم نتونستم کاری بکنم.مشکلم در تعریف این دو سلول زیر بود.
    Columns("A:D").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$D$1000").AutoFilter Field:=1, Criteria1:="g1", _
    Operator:=xlAnd
    ActiveSheet.Range("$A$1:$D$1000").AutoFilter Field:=2, Criteria1:="h1", _
    Operator:=xlAnd
    Selection.Copy
    Sheets("Sheet2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("Sheet1").Select
    End Sub

  5. #4


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    مشکل رو حل کردم. به این شکل:
    Columns("A:D").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$D$1000").AutoFilter Field:=1, Criteria1:=Range("g1"), _
    Operator:=xlAnd
    ActiveSheet.Range("$A$1:$D$1000").AutoFilter Field:=2, Criteria1:=Range("h1"), _
    Operator:=xlAnd
    Selection.Copy
    Sheets("Sheet2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Sheets("Sheet1").Select
    End Sub[hr]
    حالا مشکل بعدی رو میگم!
    همان طور که توی عکس پست اول می بینید
    تاریخ 88/01/01در sheet1 تبدیل شده به ماه 1 در sheet2
    این رو با vba چطور انجام بدم؟
    اصلا این کار خوبی هست؟

    من یک گزارش ماهانه می خوام.ولی ممکنه بعضی وقت ها یک بازه زمانی هم به من داده بشه مثلا از88/01/25 تا 88/02/19

    ممنون میشم در این مورد من رو راهنمایی بفرمایید.

  6. #5


    آخرین بازدید
    2015/03/28
    تاریخ عضویت
    March 2010
    نوشته ها
    113
    امتیاز
    15
    سپاس
    8
    سپاس شده
    17 در 13 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    میشه لطفاً نمونه فایل رو هم ضمیمه کنین

  7. #6


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    سلام
    دوست عزیز نمونه فایل در پست اول موجود هست.

    خوب این قسمت رو هم فهمیدم.
    ولی مشکلم اینکه اگر رنج b1 تا b1000 روبه عنوان تاریخ در نظر بگیرید و رنج e1 تا e1000 رو به عنوان ماه در نظر بگیرید. اون وقت باید کد زیر درست عمل بکنه که نمیکنه!
    For i = 1 To 1000
    Range("sheet1.cells(i,5)") = Mid(Range("sheet1.cells(i,2)"), 4, 2)
    Next

  8. #7


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

    shamsololama به Yahoo ارسال پیام

    RE: auto filter در vba

    نقل قول نوشته اصلی توسط esyoo
    سلام
    دوست عزیز نمونه فایل در پست اول موجود هست.

    خوب این قسمت رو هم فهمیدم.
    ولی مشکلم اینکه اگر رنج b1 تا b1000 روبه عنوان تاریخ در نظر بگیرید و رنج e1 تا e1000 رو به عنوان ماه در نظر بگیرید. اون وقت باید کد زیر درست عمل بکنه که نمیکنه!
    For i = 1 To 1000
    Range("sheet1.cells(i,5)") = Mid(Range("sheet1.cells(i,2)"), 4, 2)
    Next
    کدی که نوشتین range رو از کد حذف کن بصورت زیر تا اجرا بشه

    Sheet1.Cells(i, 5) = Mid(Sheet1.Cells(i, 2), 4, 2)[hr]
    با درود فراوان

    برای استفاده در یوزرفورم بالا که مثال زده بودی می توانی برای یافتن موارد مورد نظر و انتقال آنها به شیت 2 از کد زیر استفاده کنی که برای استفاده برابر با نیاز خود می توانی آن را تغییر دهی
    و با ایم فرض نوشتم که Textbox1 و Textbox2 را در یوزرفرم دارید

    Private Sub CommandButton1_Click()

    With Sheet1.Range("a1:a4000")
    Set c = .Find(TextBox1.Text, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
    firstAddress = c.Address
    Do

    If Mid(c.Offset(0, 1), 4, 2) = TextBox2.Text Then

    n = n + 1
    Sheet2.Range("A1").Offset(n, 0).Value = c
    Sheet2.Range("A1").Offset(n, 1).Value = TextBox2.Text
    Sheet2.Range("A1").Offset(n, 2).Value = c.Offset(0, 2).Value
    Sheet2.Range("A1").Offset(n, 3).Value = c.Offset(0, 3).Value
    End If
    Set c = .FindNext(c)
    Loop While Not c Is Nothing And c.Address <> firstAddress
    End If

    End With

    End Sub

  9. #8


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    با سلام
    این خط کد نمی دونم چرا نتیجه محاسبات رو در سلول های مورد نظر اعمال نمی کنه!
    Sheet1.Cells(i, 5) = Mid(Sheet1.Cells(i, 2), 4, 2)[hr]
    مشکل حل شد.
    Private Sub CommandButton1_Click()
    For i = 1 To 1000
    If Mid(Cells(i, 1), 4, 1) = "0" Then
    Cells(i, 2) = Mid(Cells(i, 1), 5, 1)
    ElseIf Mid(Cells(i, 1), 4, 1) = "1" Then
    Cells(i, 2) = Mid(Cells(i, 1), 4, 2)
    End If
    Next
    End Sub

  10. #9


    آخرین بازدید
    2015/03/28
    تاریخ عضویت
    March 2010
    نوشته ها
    113
    امتیاز
    15
    سپاس
    8
    سپاس شده
    17 در 13 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    سلام eysoo عزیز
    قصد یادگیریه دیگه
    اگه با تغییراتی که در کدها میدین لطف کنین فایلها رو هم ضمیمه کنین آماتورهایی مثل من هم متوجه میشن دارین چیکار میکنین و این کدها رو کجا باید گذاشت.
    مرسی

  11. #10


    آخرین بازدید
    2016/07/05
    تاریخ عضویت
    March 2010
    نوشته ها
    151
    امتیاز
    41
    سپاس
    9
    سپاس شده
    28 در 15 پست
    تعیین سطح نشده است

    RE: auto filter در vba

    سلام
    من خودم هنوز آماتور آماتور(2 تا آماتور) هستم! شکسته بندی نفرمایید.
    خدمت شما.
    http://www.4shared.com/file/cGowQHwv/mid.html


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

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

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

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

  1. فرم auto filter پویــــــــــــــا
    توسط امیر رضا دهقان در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 2
    آخرين نوشته: 2013/01/03, 21:19
  2. Auto filter in vba with a textbox
    توسط safaei.mehdi@mapnablade.com در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 6
    آخرين نوشته: 2012/09/03, 15:09
  3. Filter
    توسط mrexcel در انجمن آموزش ابزارهاي اكسل
    پاسخ ها: 3
    آخرين نوشته: 2012/06/24, 00:10
  4. کاربرد auto correct
    توسط mrexcel در انجمن آموزش ساير موضوعات در اكسل
    پاسخ ها: 0
    آخرين نوشته: 2011/03/20, 10:58
  5. مشکل درauto number
    توسط esyoo در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 3
    آخرين نوشته: 2010/08/20, 10:48

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

فیلتر با vba exceliran.com

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

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

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