PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] اجرای دستور شرطی برای پیدا کردن یک مقدار و نوشتن آن در شیت جدید به همراه سلول متناظرش



pnuha
2018/01/14, 20:05
سلام
دوستان ارجمند در صورت امکان پاسخگوی مشکل مطروحه باشند.
پیشاپیش از محبت یکایک شما سپاسگزارم

فایل اکسلی برای درک مبحث پیوست گردیده است.

در شیت اول 3 ستون داریم
ستون اول معرف سال هست
ستون دوم معرف روز هست (که بعضا تا 365 و بعضا تا 366) روز می باشد.
ستون سوم متغیر مورد نظر ما

هدف این هست که در ستون سوم اعدادی که بالاتر از عدد 10 هستند را پیدا کرده و سلول های متناظر آن یعنی سال و روز (ستون اول و دوم) نیز بدست بیایند. و در ستون دیگر درج شوند (مثلا ستون سال در ستون 5 و ستون روز در ستون 6 و متغیر ما که بیشتر از 10 است در ستون 7 درج شود)

و در نهایت اعداد به دست آمده با توجه به ماتریس بندی که در شیت دوم هست درج شوند.
که بر اساس سال تفکیک شده اند

pnuha
2018/01/17, 01:52
در صورت امکان دوستان پاسخ بدهند.

iranweld
2018/01/17, 08:05
با سلام

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

مقدار عدد مورد نظر خود را در این قسمت اصلاح نمایید Sheet1.Range("C" & I) >= 10




Sub test()

z1 = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row

K1 = Application.WorksheetFunction.CountA(Sheet2.Range("2:2"))

Application.ScreenUpdating = False

Sheet2.Range("A3:A500").ClearContents

For J = 1 To K1 Step 2

K = 3

For I = 2 To z1

If Sheet1.Range("A" & I) = Sheet2.Cells(1, J) And Sheet1.Range("C" & I) >= 10 Then


Sheet2.Cells(K, J) = Sheet1.Range("B" & I)

Sheet2.Cells(K, J + 1) = Sheet1.Range("C" & I)

K = K + 1

End If

Next

Next

Application.ScreenUpdating = True

Sheet2.Select

End Sub

pnuha
2018/01/17, 11:15
بی نهایت سپاسگزارم؛ لطف کردید.

pnuha
2018/01/17, 11:22
ببخشید یک سوال چطور میتوان در ماکرو فوق دستور داد که سلول های خالی در محاسبات درج نشوند؟

iranweld
2018/01/17, 11:25
ببخشید یک سوال چطور میتوان در ماکرو فوق دستور داد که سلول های خالی در محاسبات درج نشوند؟

در ماکرو اعداد بیشتر یا مساوی 10 وارد شیت بعدی میگردد منظور شما از سلولهای خالی چیست؟

pnuha
2018/01/17, 14:28
بله در شرط فوق صحیح هست ولی اگر شرط را به داده های 0 و کمتر تغییر دهم متاسفانه سلول های خالی نیز در نتیجه مشاهده می شوند