PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اضافه كردن رديف



rosesefid
2014/01/22, 14:02
دوستان يه سوال فوري دارم من يه فايل دارم 7900 رديف داره ميخوام بين هر 2 رديف يه رديف خالي ايجاد كنم البته در كمترين زمان لازم چي كار كنم؟ اگر بخوام دونه دونه با كنترل رديفهارو انتخاب كنم insert كنم خيليييي طول ميكشه :grey:

Alireza
2014/01/22, 16:11
سلام
بنظرم بهتره از vba کمک بگیرید.

Nima
2014/01/22, 16:30
سلام
بنظرم بهتره از vba کمک بگیرید.


از ماکرو زیر استفاده کنید:



Sub test()
Dim j As Long, r As Range
j = 2
Set r = Range("A1")
Do
Range(r.Offset(2, 0), r.Offset(2, 0)).EntireRow.Insert
Set r = Cells(r.Row + 3, 1)
If r.Offset(1, 0) = "" Then Exit Do
Loop
End Sub

rosesefid
2014/01/25, 07:48
من تا حالا ماكرو كار نكردم ميشه بگين بايد چي كار كنم؟

Amir Ghasemiyan
2014/01/25, 09:51
من تا حالا ماكرو كار نكردم ميشه بگين بايد چي كار كنم؟

در محيط اكسل كليدهاي تركيبي Alt+f11 رو بزنيد. وارد محيطي ميشيد كه اسمش ويژوال بيسيك هست.
حالا از منوهاي بالا گزينه insert رو بزنيد و module رو انتخاب كنيد. سمت راست صفحه، قسمت سفيد رنگ بزرگي ايجاد ميشه. كدهاتون رو داخل اون قسمت بنويسيد

maziardm
2014/01/25, 11:10
با سلام و روز خوش به تمامی دوستان
امیر جان این ماژول رو نوشتیم بعد باید چی کار کنیم. من سیوش کردم و از وی بی ای اومدم بیرون. حالا باید چی کار کرد. با تشکر

khakzad
2014/01/25, 11:51
سلام
با این سوال شما یک کاربرد از paste special کشف کردم و بسیار خرسندم :friendly_wink:
یک راه قبلا وجود داشت برای اضافه کردن ردیف. ولی یک درمیون.به این شکل که کنار داده ها ستون اضافه می کردیم (من برای ستون شامل 10 عدد مثال می زنم که واضح باشه)
یک ستون اضافه می کنیم.از اولین ردیف یک سری عددی اضافه می کنیم.اینجا میشه 1 تا 10 (چون 10 ردیف داده داریم).بعد همون ها رو کپی می کنیم انتهای همون ستون.یعنی یک سری ده تایی دیگه اضافه می شه. با این تفاوت که دیگه جلوی سری دوم داده نداریم و خالی هست. حالا میایم اون ستون رو sort م یکنیم.می بینیم که اعداد مرتب شدند و ردیف های خالی یک در میون ظاهر شدند :)

حالا برای سوال شما باید اعداد رو به این شکل وارد کنیم و بعدش فقط یک سری به زیر داده ها اضافه کنیم. درسته؟ پس :
1
1
2
2
3
3
4
4
.
.
. تا اخر (تا جایی که داده هست)
و
1
2
3
4
.
.
.
پایین داده ها و sort
حالا نکته ای که مطرح هست وارد کردن داده هاست به ترتیب های مختلف.
برای حالت اول که بسیار ساده هست. با دبل کلیک و یا استفاده از series می تونید داد ها رو به ترتیب ایجاد کنید.
اما اینجا برای وارد کردن عدد به این سبک به شیوه زیر عمل کنید:
اول یکی درمیون عددد 1 و 2 وارد کنید بعد طبق شکل محدوده ابی رو انتخاب کنید و درگ کنید. تا اینجا اعداد یکی در میون داریم.حالا برای اینکه بینشون هم عدد بیاریم این کار جالب رو انجام میدیم:). اعداد رو توی یک ستون دیگه کپی کنید .بعد بیاید روی a2 کلیک کنید. کلیک راست===>paste special و گزینه skip blank رو تیک بزنید و Ok.
حالا اعداد رو به شکلی که می خوایم داریم.
2169
ادامش هم یک سری دیگه عدد می زنیم. چون یک ردیف می خوایم اضافه کنیم سری معمولی می زنیم.اگر دو تا بخوایم باید همون داده ها رو ادامه بدیم.
در نهایت به این شکل می رسیم.
2170
فقط sort مونده.

این یک روش بسیار ساده و کلی هست.برای انواع و اقسام حالت ها کاربرد داره.همچنین برای اضافه کردن ستون ها.......
امیدوارم کامل و واضح توضیح داده باشم
سوالی بود د رخدمتم

rosesefid
2014/01/29, 11:20
مرسي ولي واقعيتش خيلي سر درنياوردم!!!! :D البته توضيحات شما كامل بودها شايد من .....!!! :o
خب من الان چطوري سورت كنم كه بين هر رديف يه رديف خالي بوجود بياد؟!!!! فايل من 2335 رديف داره 23 ستون!!!!

Behnam
2014/01/29, 11:37
اعداد رو همونجور که خانم خاکزاد گفت وارد کنید بعد همون ستون رو سورت کنید،از تب data برید ، A TO Z رو بزنید
اتفاقی که میوفته اعداد مشابه ای که تولید کردید پشت سر هم قرار میگیره و چون مثلا 1 دومی ردیفی خالی بود پس بین 1 و 2 یک ردیف خالی بوجود میاد

rosesefid
2014/01/29, 11:41
من همين كارو كردم به شكل دوم هم رسيدم ولي خب مثلا جلوي 2 اول و دوم داده دارم سورت هم كه ميكنم همه اعداد ترتيبشون درسته ديگه چيزي تغيير نميكنه

rosesefid
2014/01/29, 11:45
اينم يه قسمت از فايل من

rosesefid
2014/01/29, 11:49
واااااااااااااااااي خودم كشف كردم!!! هوراااااااااااااااااااااا ااا خيلي هم راحت اصلا نياز به اين چيزا نبود :o:rolleyes:
كافيه شماره ردف رو يه بار ديگه زير همون وارد كنيم بعد سورت كنيم!!

Behnam
2014/01/29, 11:54
ببینید دوست عزیز،مگه شما 7900 ردیف داده ندارید؟خب یه ستون اضافه کنید اول دیتاتون،تو اون ستون شماره بزنید،از 1 تا 7900،حالا این شماره ها رو کپی کنید و به انتهای همین اعداد اضافه کنید،سری دوم اعداد دیگه جلوشون خالیه،وقتی حالا سورت کنید یک در میان بین ردیف هاتون خالی میوفته،از آخر هم میتونید باز اون ستون رو پاک کنید،همین
اگه نتونستید قسمت کوچکی از فایلتون رو آپلود کنید براتون انجام بدم

rosesefid
2014/01/29, 12:04
متوجه شدم مرسي آخه توضيحات خانم خاكزاد يه كوچولو پيچيده بود الان خودم تونستم انجام بدم

Pbapba
2018/10/29, 09:42
سلام من یک چنین مشکلی دام ولی با خوندن این مطالب بازهم نتونستم حلش کنم ممنون میشم دوستان و استاتید محترم راهنمایی بکنند
من ستون دارم که در اون اعداد برای دسته ای مختلف به ترتیب نمایش داده میشه مثلا
1
2
3
1
2
3
4
1
2
1
2
3
4
5
1
....
هدف این هست که بتونم جدول شرطی برا اینها درست کنم و مشکل اینجاست که باید بعد از اتمام هرکدوم و قبل از شروع 1 بعدی یک ردیف خالی بشه برای نماش جمع قبلی ها
من اومدم و یک ستون کمکی اضافه کردم که اخرین عدد هر دسته را نشون بده الان باید چکار کنم که این دو ستون با هم یکی بشه تا بتونم عددی که در ستون نهایی هست و درستون اول نیست را خالی کنم .ببینید من باید در ستون بعدی دو تا ستون زرد را ترکیب و پشت سر هم داشته باشم
17782

iranweld
2018/10/29, 10:28
با سلام


ماکرو ذیل را در فایل پیوست چک کنید


Sub test()

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

For i = 1 To z1

If Range("A" & i) = 1 Then

k = k + 1

t = i

End If


If k > 1 And Range("A" & i) = 1 Then

z1 = z1 + 1

Rows(i & ":" & i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Range("A" & i).Interior.ColorIndex = 4

i = i + 1

End If

Next

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


For i = 1 To z2

If Range("A" & i) = 1 Then

h = i

k = k + 1

End If

If k > 0 And Range("A" & i) = "" Then


Range("A" & i) = "=Sum(A" & h & ":A" & i - 1 & ")"


End If


If k > 0 And Range("A" & i) = Range("A" & z2) Then

Range("A" & z2 + 1).Interior.ColorIndex = 4


Range("A" & z2 + 1) = "=Sum(A" & h & ":A" & z2 & ")"


End If


Next


End Sub

healthingclinic
2018/10/29, 11:00
ممنونم آقای نیما من تونستم با راهنمایی های شما از محیط ماکرو استفاده کنم

Pbapba
2018/10/29, 14:41
با سلام


ماکرو ذیل را در فایل پیوست چک کنید


Sub test()

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

For i = 1 To z1

If Range("A" & i) = 1 Then

k = k + 1

t = i

End If


If k > 1 And Range("A" & i) = 1 Then

z1 = z1 + 1

Rows(i & ":" & i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Range("A" & i).Interior.ColorIndex = 4

i = i + 1

End If

Next

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


For i = 1 To z2

If Range("A" & i) = 1 Then

h = i

k = k + 1

End If

If k > 0 And Range("A" & i) = "" Then


Range("A" & i) = "=Sum(A" & h & ":A" & i - 1 & ")"


End If


If k > 0 And Range("A" & i) = Range("A" & z2) Then

Range("A" & z2 + 1).Interior.ColorIndex = 4


Range("A" & z2 + 1) = "=Sum(A" & h & ":A" & z2 & ")"


End If


Next


End Sub

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