دوستان من یک فایل دارم که یک سری مشتری دارم که می خوام در شیت منطقه بندی توی هر ستون شماره مشتری هر منطفه رو وارد کنه...
جدا کردن مشتریان بر اساس منطقه(آدرس)
Collapse
X
-
با سلام
این ماکرو را تست بفرمایید
کد PHP:Sub test()
Z1 = Sheet1.Cells(Sheet1.Rows.Count, "B").End(xlUp).Row
K1 = Application.WorksheetFunction.CountA(Sheet2.Range("2:2"))
For I = 2 To Z1
For J = 1 To K1
If Sheet1.Range("D" & I).Value = Sheet2.Cells(2, J).Value Then
Z2 = Sheet2.Cells(Sheet2.Rows.Count, J).End(xlUp).Row + 1
Sheet2.Cells(Z2, J).Value = Sheet1.Range("B" & I).Value
End If
Next: Next
End Sub
فایل های پیوست شده -
سلام استاد:با سلام
این ماکرو را تست بفرمایید
کد PHP:Sub test()
Z1 = Sheet1.Cells(Sheet1.Rows.Count, "B").End(xlUp).Row
K1 = Application.WorksheetFunction.CountA(Sheet2.Range("2:2"))
For I = 2 To Z1
For J = 1 To K1
If Sheet1.Range("D" & I).Value = Sheet2.Cells(2, J).Value Then
Z2 = Sheet2.Cells(Sheet2.Rows.Count, J).End(xlUp).Row + 1
Sheet2.Cells(Z2, J).Value = Sheet1.Range("B" & I).Value
End If
Next: Next
End Sub
مثه همیشه کار خوددته....
فقط یک مشکل داره اونم اینکه ماکرو کدهای تکراری رو هم اضافه می کنه یعنی برای هر بار اجرا کدهای قدیم و جدید رو ثبت می کنه....
ممنون استاد اگر برطرف نمایید عالیهکامنت
-
با سلام
کد اصلاح شد
کد PHP:Sub test()
Z1 = Sheet1.Cells(Sheet1.Rows.Count, "B").End(xlUp).Row
K1 = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
LR = Sheet2.UsedRange.Rows.Count
Sheet2.Range(Cells(3, 1), Cells(LR, K1)).ClearContents
For I = 2 To Z1
For J = 1 To K1
If Sheet1.Range("D" & I).Value = Sheet2.Cells(2, J).Value Then
Z2 = Sheet2.Cells(Sheet2.Rows.Count, J).End(xlUp).Row + 1
Sheet2.Cells(Z2, J).Value = Sheet1.Range("B" & I).Value
End If
Next: Next
End Sub
کامنت
-
با سلام
این فایل هم ببینید.فایل های پیوست شده[SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]کامنت
-
سلام استاد :
آقا من ماکرو رو گذاشتم ...اما فکر کنم ستون و سطرش رو دقیق نزدم(کار نکرد)....توی شیت 2 دکمه بروزرسانی رو گذاشتم که برای اجرای ماکرو است ...
می خوام اطلاعات از شیت 1 به شیت 2 در جدول فروشگاها بر اساس منطقه قرار بگیرند...
استاد لطفا در مورد کد هم راهنمایی بفرمایید که در صورت تغیر سطر یا ستون...چی رو باید در کد عوض کنم؟
ممنونفایل های پیوست شدهکامنت
-
-
سلام
اول باید تو یه ستون تیبلی درست کنی و نام مناطق خودت رو اونجا بنویسی(به ترتیب) بعد به تعداد مناطق ستون تشکیل بده و نام هر چی که مربوط به منطقه مورد نظرته زیرش بنویس سپس از طریق دیتا ولیدیشن لیستی درست کن و اول آدرس مناطق رو که سورت کردی بهش بده -بعد یکی یکی ستونها رو انتخاب کن(با نام سر ستون) بعد از انتخاب برو تو قسمت فرمول و name manager رو انتخاب کن بر روی دکمه جدید کلیک کن -خود بخود نام سرستون و منطقه انتخاب شده اضافه میشه-اینکا رو برای همه ستونهات انجام بده -نهایتا تو سلولی که میخوای انتخاب کنی بازم از گزینه دیتا ولیدیشن -لیست انخاب کن و اینبار در قسمت انتخاب سلولها فرمول indirect v رو بنویس و توی پرانتز جلوی فرمول آدرس سلولی رو بده که در بالا توضیح دادم و لیست کرده بودی نمونه فایل رو برات گذاشتمفایل های پیوست شدهکامنت




کامنت