Note: The other languages of the website are Google-translated. Back to English

كيفية إدراج صف تلقائيًا بناءً على قيمة الخلية في إكسيل؟

doc-insert-row-on-value-1
افترض أن لديك نطاقًا من البيانات ، وتريد إدراج صفوف فارغة تلقائيًا أعلى أو أسفل قيمة معينة في Excel ، على سبيل المثال ، صفوف الإدراج التلقائي تحت قيمة الصفر كما هو موضح أدناه لقطة الشاشة. في Excel ، لا توجد طريقة مباشرة لحل هذه المهمة ، ولكن يمكنني تقديم رمز ماكرو لك لإدراج الصفوف تلقائيًا بناءً على قيمة معينة في Excel.
قم بإدراج صف أدناه بناءً على قيمة الخلية باستخدام VBA

أدخل صفًا أعلاه بناءً على قيمة الخلية باستخدام Kutools for Excel فكرة جيدة 3

لإدراج صف بناءً على قيمة الخلية عن طريق تشغيل VBA ، يرجى القيام بالخطوات التالية:

1. صحافة ALT + F11 مفاتيح في وقت واحد ، و ميكروسوفت فيسوال باسيك للتطبيقات نافذة تخرج.

2. انقر إدراج > وحدة، ثم الصق رمز VBA أدناه إلى ظهرت وحدة نافذة.

فبا: إدراج صف أدناه بناءً على قيمة الخلية.

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.Offset(1, 0).EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

3. انقر F5 مفتاح أو يجري زر ، ينبثق مربع حوار ، وحدد العمود الذي يحتوي على صفر. انظر لقطة الشاشة:
doc-insert-row-on-value-2

4. انقر OK. ثم سيتم إدراج الصفوف الفارغة تحت قيمة الصفر.
doc-insert-row-on-value-3

معلومه- سرية:

1. إذا كنت تريد إدراج صفوف بناءً على قيمة أخرى ، فيمكنك التغيير 0 إلى أي قيمة تريدها في VBA: إذا كانت Rng.Value = "0" إذن.

2. إذا كنت تريد إدراج صفوف أعلى من الصفر أو أي قيمة أخرى ، فيمكنك استخدام كود vba أدناه.

فبا: إدراج صف أعلى قيمة الصفر:

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

doc-insert-row-on-value-4


إذا لم تكن معتادًا على VBA ، فيمكنك المحاولة كوتولس ل إكسيل's حدد خلايا معينة فائدة ، ثم أدخل الصفوف أعلاه.

كوتولس ل إكسيل, مع أكثر من 300 وظائف يدوية ، تجعل مهامك أكثر سهولة. 

بعد تثبيت Kutools for Excel ، يرجى القيام بما يلي:(تنزيل مجاني Kutools for Excel الآن!)

1. حدد القائمة التي تريد معرفة الخلايا المحددة منها ، ثم انقر فوق كوتولس > اختار > حدد خلايا معينة. انظر لقطة الشاشة:
إدراج صف doc بناءً على القيمة 9

2. في مربع حوار الفرقعة ، تحقق الصف بأكمله الخيار ، ثم انتقل للتحديد يساوي من نوع خاص أو معين القائمة ، ثم أدخل القيمة التي تريد البحث عنها في مربع النص الصحيح. انظر لقطة الشاشة:
إدراج صف doc بناءً على القيمة 6

3. انقر Ok، وينبثق مربع حوار لتذكيرك بعدد الصفوف المحددة ، ما عليك سوى إغلاقها.

4. ضع المؤشر على صف واحد محدد ، وانقر بزر الماوس الأيمن للتحديد إدراج من قائمة السياق. انظر لقطة الشاشة:
إدراج صف doc بناءً على القيمة 7

الآن يتم إدراج الصفوف أعلاه بناءً على قيمة محددة.
إدراج صف doc بناءً على القيمة 8


مقالات ذات صلة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (43)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد لصق محتوى محدد أسفل الخلية. كيف يتم فعل ذلك؟ بدلاً من صف فارغ ، أريد إدخال قيمة في عدد قليل من الأعمدة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أريد إدراج صفوف متعددة بناءً على القيمة على سبيل المثال: أريد إدراج صف واحد فارغ أسفل الخلية بالقيمة 1 ، وصفان أسفل الخلية بالقيمة 2 ، و 2 صفوف أسفل الخلية بالقيمة 3 وهكذا هل يمكنك من فضلك ساعدني في هذا الشئ؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل سبق لك أن تحصل على الجواب في هذا؟ أحاول أن أفعل نفس الشيء.

لديك قائمة بالموظفين الذين حصلوا على إجازة لمدة # أسبوعًا. أريد أن أدخل صفًا لكل أسبوع. سيكون صفًا واحدًا أو صفين أو ثلاثة صفوف حسب مقدار الوقت الذي كسبته. #s 1 2 3 موجودة بالفعل في جدول البيانات الخاص بي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد إدراج صفوف بناءً على عدد باستخدام قيمة خلية في جدول بيانات واحد وإدخال صفوف في جدول بيانات آخر.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لرسالتك. ولكن هل يمكنك تفصيل سؤالك بمزيد من التفاصيل؟ ما هي الصفوف التي تريد إدراجها؟ فارغ؟ وأين تريد إدراجها في الورقة؟ إذا استطعت ، أعطني بعض لقطات الشاشة. شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحبك. شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كان ذلك مذهلاً !! شكرا يا رجل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكنني ادخال اكثر من صف؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يمكنك تجربة هذا VBA

Sub BlankLine ()
تحديث بحلول20150203
خافت Rng كمدى
خافت WorkRng كنطاق
خافت xInsertNum وطول
' خطأ في الصفحة، إذهب للتالي
xTitleId = "Kutools for Excel"
تعيين WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)
إذا كان WorkRng لا شيء ، فاخرج من Sub
xInsertNum = Application.InputBox ("عدد الصفوف الفارغة التي تريد إدراجها" ، xTitleId ، النوع: = 1)
إذا كان xInsertNum = False ثم
MsgBox "عدد الصفوف الفارغة التي تريد إدراجها" ، vbInformation ، xTitleId
خروج الفرعية
إنهاء حالة
تعيين WorkRng = WorkRng.Columns (1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = خطأ
بالنسبة إلى xRowIndex = xLastRow To 1 Step -1
تعيين Rng = WorkRng.Range ("A" & xRowIndex)
إذا كانت Rng.Value = "0" إذن
Rng.Resize (xInsertNum) .EntireRow.Insert Shift: = xlDown
إنهاء حالة
التالى
Application.ScreenUpdating = ترو
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إذا كنت تريد إدراج صفوف فارغة أدناه ، فجرب هذا

Sub BlankLine ()
تحديث بحلول20150203
خافت Rng كمدى
خافت WorkRng كنطاق
خافت xInsertNum وطول
' خطأ في الصفحة، إذهب للتالي
xTitleId = "Kutools for Excel"
تعيين WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)
إذا كان WorkRng لا شيء ، فاخرج من Sub
xInsertNum = Application.InputBox ("عدد الصفوف الفارغة التي تريد إدراجها" ، xTitleId ، النوع: = 1)
إذا كان xInsertNum = False ثم
MsgBox "عدد الصفوف الفارغة التي تريد إدراجها" ، vbInformation ، xTitleId
خروج الفرعية
إنهاء حالة
تعيين WorkRng = WorkRng.Columns (1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = خطأ
بالنسبة إلى xRowIndex = xLastRow To 1 Step -1
تعيين Rng = WorkRng.Range ("A" & xRowIndex)
إذا كانت Rng.Value = "0" إذن
Rng.Offset (1، 0) .Resize (xInsertNum) .EntireRow.Insert Shift: = xlDown
إنهاء حالة
التالى
Application.ScreenUpdating = ترو
نهاية الفرعية

أدناه واحد لإدراج الصفوف أعلاه.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا صني ، هذا الماكرو يناسبني تمامًا ؛ كان علي فقط تغيير كمية الصفوف إلى 30 وتغيير 0 إلى نص: "الرصيد الختامي". ولكن الآن أريد نسخ ولصق مجموعة مختارة من الخلايا التي يبلغ ارتفاعها 30 صفًا إلى 30 سطرًا فارغًا تم إدخالها للتو بواسطة هذا الماكرو. هل يمكنك اقتراح ماكرو جديد (أو تعديل على هذا) لنسخ نطاق ولصقه في كل 30 سطر فارغ. لقد قمت بتسمية النطاق المراد نسخه ولصقه "قالب".
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحتاج إلى مساعدة كبيرة في هذا الموضوع. لدي عمودان ، في الأول لدي وقت بياناتي 2/1/01 01:2016:05 ، أيام / شهور / سنة ساعة / دقيقة / ثانية وفي العمود الثاني الثاني البيانات ذات الصلة المرتبطة بالوقت.

مشكلتي هي أنني أريد إضافة وقت البيانات بين الصفوف لأن لدي فجوات أيام. السطر الأول هو 1/01 والصف الثاني ، على سبيل المثال ، 01/2016 ، لذلك لدي 2 أيام. وهذا الرمز لا يعمل معي.

نتطلع إلى الحصول على بعض الملاحظات ، من فضلك! شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يمكنك تجربة هذا VBA

إدخال فرعي
تحديث 20130825
خافت WorkRng كنطاق
خافت Rng كمدى
قاتمة عار كمتغير
خافت ديك كمتغير
تعيين dic = CreateObject ("البرمجة النصية والقاموس")
'خطأ في الصفحة، إذهب للتالي
xTitleId = "KutoolsforExcel"
تعيين WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)
عدد 1 = WorkRng.Range ("A1"). القيمة
num2 = WorkRng.Range ("A" & WorkRng.Rows.Count). القيمة
الفاصل الزمني = num2 - num1
ReDim outArr (1 للفاصل الزمني + 1 ، من 1 إلى 2)
لكل Rng في WorkRng
dic (Rng.Value) = Rng.Offset (0، 1) .Value
التالى
بالنسبة إلى i = 0 إلى الفاصل الزمني
outArr (i + 1، 1) = i + num1
إذا كان dic موجودًا (i + num1) ثم
outArr (i + 1، 2) = dic (i + num1)
آخر
outArr (i + 1، 2) = ""
إنهاء حالة
التالى
باستخدام WorkRng.Range ("A1"). تغيير الحجم (UBound (outArr، 1)، UBound (outArr، 2))
.Value = outArr
.يختار
انتهت ب
نهاية الفرعية


أو إذا كان لديك Kutools for Excel ، يمكنك تجربة هذه الوظيفة:
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا جزيلاً ، لقد جربت كليهما ، الأول منذ أن لدي 1 صف من البيانات ، أفعل ذلك لجميع الصفوف الـ 500 ولا أفعل أي شيء ، أعتقد أنه ربما يكون له قيود على الصفوف التي يجب استخدامها ، و عندما أحدد الصفوف الخمسة الأولى فقط ، على سبيل المثال ، لا يُنشئ الصفوف المفقودة ، بل يستبدل صفوف البيانات المفقودة.

مشكلة أخرى لدي هي أن بيانات وقتي تحتوي أيضًا على اليوم / الشهر / السنة HH: MM: SS
تم تصغير هذا التعليق بواسطة المشرف على الموقع
من 2 إلى 3 ، يُنشئ البيانات المفقودة التي أريدها جيدًا ، ولكن يتم حذف قيمة 03/01 وهناك بعض بيانات الوقت التي يتم حذفها شيئًا لا أريده أيضًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عذرًا ، لم يساعدك رمز VBA ، لا يمكنني العثور على الطريقة التي يمكن أن تعمل لتنسيق التاريخ والوقت. إذا وجدت الحل نهائيًا ، فهل يمكنك إخباري بذلك؟ شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا مرة أخرى يا صني ، لقد نجحت في تحرير الكود إلى هذا (قمت بتغيير سطر num1 إلى A2 وباستخدام WorkRng.Range ("A2: A100000"). تغيير الحجم (UBound (outArr، 1)، UBound (outArr، 2) ):


إدخال فرعي
تحديث 20130825
خافت WorkRng كنطاق
خافت Rng كمدى
قاتمة عار كمتغير
خافت ديك كمتغير
تعيين dic = CreateObject ("البرمجة النصية والقاموس")
'خطأ في الصفحة، إذهب للتالي
xTitleId = "KutoolsforExcel"
تعيين WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)
عدد 1 = WorkRng.Range ("A2"). القيمة
num2 = WorkRng.Range ("A" & WorkRng.Rows.Count). القيمة
الفاصل الزمني = num2 - num1
ReDim outArr (1 للفاصل الزمني + 1 ، من 1 إلى 2)
لكل Rng في WorkRng
dic (Rng.Value) = Rng.Offset (0، 1) .Value
التالى
بالنسبة إلى i = 0 إلى الفاصل الزمني
outArr (i + 1، 1) = i + num1
إذا كان dic موجودًا (i + num1) ثم
outArr (i + 1، 2) = dic (i + num1)
آخر
outArr (i + 1، 2) = ""
إنهاء حالة
التالى
باستخدام WorkRng.Range ("A2: A100000"). تغيير الحجم (UBound (outArr، 1)، UBound (outArr، 2))
.Value = outArr
.يختار
انتهت ب
نهاية الفرعية



أعرض عليكم الرسوم البيانية ، فهي لا تعمل بنسبة 100٪ لأنها لا تنشئ الوقت من A1 إلى A2
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا هو سؤالي وهو سؤال صعب للغاية على ما أعتقد .. هل هناك كود vba يضيف صفًا جديدًا أسفل عمود تمت تصفيته ونسخ الخلايا الثلاث الأولى فقط في الصف الجديد المضاف واستمر في القيام بذلك حتى يتوقف المستخدم عن الضرب "دخول" وإلغاء تصفية الخلايا التي تمت تصفيتها؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
سؤالك صعب ومعقد إلى حد ما ، يمكنك وضع السؤال في منتدانا ، وربما يمكن لشخص ما أن يجيب عليك. https://www.extendoffice.com/forum.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أريد فقط أن أسأل عن كيفية إضافة صف إذا كان الترميز هو أن إضافة صف يجب أن تتم عندما تحتوي الخلية على بيانات بالفعل (إنه لمصنف Excel يحتوي على الكثير من الأوراق :) شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ربما يمكن أن يساعدك رمز vba هذا. سيضيف صفوفًا إذا لم يكن الصف أعلاه فارغًا

مساعدة فرعية ()
العد الخافت كما هو طويل
للعدد = ActiveSheet.UsedRange.Rows.count To 1 Step -1
إذا كانت المعلومات هي فارغة (عدد الخلايا ، 1)) = خطأ ثم صفوف (العدد + 1).
العد القادم
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أحاول استخدام هذا الرمز لإدخال صف عندما تتغير الأرقام الأربعة الأولى في الخلية (إذا كان ذلك ممكنًا)

على سبيل المثال،
معالج الرسوميات PowerVR
2222B
2223K


سيتم إدخال السطر بعد 2222B حيث أن الرقم الثالث هو 3 وليس 3

شكرا يا شباب !!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، شكرًا على هذا ، ولكن لدي سيناريو آخر حيث أحتاج إلى إدخال خلية واحدة تحت القيمة التي ليست صفرًا. نقدر أي اقتراح.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، جينا ، لقد وجدت للتو رمزًا لإدراج صف فارغ أعلى الخلية غير الفارغة ، وربما يمكن لشخص ما تعديله لتلبية احتياجاتك.

إدراج_ صفوف فرعية ()
خافت LR وطول r As Long

Application.ScreenUpdating = خطأ
LR = النطاق ("A" & Rows.Count). النهاية (xlUp) .Row
بالنسبة لـ r = LR إلى 1 الخطوة -1
إذا كان Len (Range ("A" & r) .Value)> 0 ثم
صفوف (ص)
إنهاء حالة
التالي r
Application.ScreenUpdating = ترو
نهاية الفرعية

تأتي من https://www.mrexcel.com/forum/excel-questions/548675-adding-blank-line-above-row-non-blank-cell.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ، هذا مفيد جدا. ماذا لو أردت إضافة سطرين أدناه وأردت المزيد من القيم. على سبيل المثال ، أريد إضافة سطرين بعد القيمة 26/04/2019 ثم سطرين بعد 03/04/2019 ، والقائمة تطول. كيف أستمر في الإضافة إلى vba؟ آسف أنا ما زلت مبتدئا. شكرا لك مقدما.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، صفا ، ربما يمكنك تجربة أداة إدراج صفوف / أعمدة فارغة من Kutools.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Sub BlankLine ()
تحديث بحلول20150203
خافت Rng كمدى
خافت WorkRng كنطاق
على خطأ استئناف التالي
xTitleId = "KutoolsforExcel"
تعيين WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)
تعيين WorkRng = WorkRng.Columns (1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = خطأ
بالنسبة إلى xRowIndex = xLastRow To 1 Step - 1
تعيين Rng = WorkRng.Range ("A" & xRowIndex)
إذا كانت Rng.Value = "0" إذن
Rng.EntireRow.Insert Shift: = xlDown
إنهاء حالة
التالى
Application.ScreenUpdating = ترو
نهاية الفرعية


أحتاج إلى هذا للعمل في كل مرة أضع فيها شيئًا ما في الخلية ، وأيضًا مع المزيد من المتغيرات. ما أعنيه هو أنه إذا وضعت 2 في الخلية ، فأنا في حاجة إليها لإدراج صفين وليس صف واحد فقط.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحتاج إلى الماكرو لإضافة صفوف بناءً على عمود الكمية حيث إذا كانت الكمية أكبر من 1 ، فإنه يُدرج عدد الصفوف -1. إذا كانت الكمية 5 ، يتم إدراج 4 صفوف تحتها وتعبئة البيانات وتغيير الكمية التي يتم استدعاؤها من 5 إلى 1 لكل صف. تخطي كل الكمية 1.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أخبرني بالرمز حيث أريد إضافة عدد معين من الصفوف بناءً على قيمة الخلية. على سبيل المثال ، إذا كانت الخلية تحتوي على الرقم 18 ، فيجب إضافة 18 صفًا تلقائيًا في المكان الذي أريده ويجب أن يتحول باقي الجدول / الخلية إلى أسفل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا جزيلا على هذا ، حقا توفير هائل للوقت. هل من الممكن إضافة بعض التعليمات البرمجية التي تسمح لي بإدخال بعض النص في الصف الجديد. على سبيل المثال ، أقوم بإدخال صفوف جديدة بناءً على القيمة المستهدفة "س" ، ثم أريد إضافة قيمة نصية "ص" في الخلية أسفل القيمة المستهدفة "س". هل هذا ممكن؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا. يعمل الماكرو بالنسبة لي ولكن هل هناك طريقة لتعيين النطاق / المعلمات دائمًا على العمود J دون ظهور مربع الإدخال على الإطلاق؟ أرغب في تخطي خطوة مربع الإدخال القادمة. لقد تأكدت أيضًا قبل هذا الماكرو مباشرة من أن السطر الأخير من الماكرو السابق هو النطاق ("J: J"). حدد للتأكد من تحديد العمود J بالكامل بالفعل.
هذا ما كنت أستخدمه حتى الآن.

خافت Rng كمدى
خافت WorkRng كنطاق
على خطأ استئناف التالي
xTitleId = "انقر فوق موافق للمتابعة"
تعيين WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)
تعيين WorkRng = WorkRng.Columns (1)
إرسال المفاتيح "~"
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = خطأ
بالنسبة إلى xRowIndex = xLastRow To 1 Step -1
تعيين Rng = WorkRng.Range ("A" & xRowIndex)
إذا كانت Rng.Value = "New GMS Line" ثم
Rng.EntireRow.Insert Shift: = xlDown
إنهاء حالة
التالى


لقد حاولت تجربة استخدام أمر SendKeys "~" بين بعض الخطوات لمحاولة الضغط على مفتاح الإدخال تلقائيًا عندما يظهر مربع الإدخال ولكن هذا لم ينجح أيضًا. لم أكن متأكدًا من مكان استخدام الأمر SendKeys بالضبط في الماكرو أو ما إذا كان سيعمل حتى مع مربع إدخال!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
الرجاء مساعدتي في الحصول على بيانات. لدي بيانات زمنية لمدة شهر واحد ، حيث يتعين علي إدخال صفوف فارغة وفقًا لوقت الهروب
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، hr.babu08 ، آسف لقد تأخر الرد. أعتقد أنك تريد إدراج صفوف فارغة أو عمل علامة لبيانات التسلسل المفقودة ، إذا كان الأمر كذلك ، يمكنك تجربة Kutools for Excel's Find Missing Sequence Number feature هنا هو البرنامج التعليمي حول الميزة: https://www.extendoffice.com/product/kutools-for-excel/excel-find-missing-numbers-in-sequence.htmlIf تريد طرقًا أخرى لإدخال صفوف فارغة للتسلسل المفقود ، يرجى زيارة:https://www.extendoffice.com/documents/excel/3522-excel-find-missing-dates.html</div>;
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
هل يمكن استخدام / تغيير هذا الماركو للخلايا الملونة؟
أحتاج إلى إدخال 10 صفوف على الأقل أعلى نهاية كل سلسلة ملونة.
تشك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحتاج إلى إضافة صفوف معينة تحتوي على قيم فيها لمحتويات خلية محددة ، ولكن لست متأكدًا من كيفية القيام بذلك دون الاضطرار إلى القيام بذلك يدويًا لأكثر من 3800 سطر

مثال: A1 = Node1
أحتاج إلى إدراج صف وإدخال قيمة الماسح الضوئي
أدخل صفًا آخر وأدخل القيمة الطابعة
صف آخر مع قيمة القرص المضغوط.
إلخ
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، كريس ، هنا يمكن لـ VBA مساعدتك في إدراج ثلاثة صفوف تلقائيًا (الماسح ، الطابعة ، القرص المضغوط) عندما تكون القيمة مساوية لـ Node1.
Sub BlankLine()
'ByExtendoffice
Dim Rng As Range

Dim WorkRng As Range

Dim xRngI As Range

On Error Resume Next

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Select a range", xTitleId, WorkRng.Address, Type:=8)

Set WorkRng = WorkRng.Columns(1)

xLastRow = WorkRng.Rows.Count

Application.ScreenUpdating = False

For xRowIndex = xLastRow To 1 Step -1

  Set Rng = WorkRng.Range("A" & xRowIndex)

  If Rng.Value = "Node1" Then

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).Value = "Scanner"

    Rng.Offset(2, 0).Value = "Printer"

    Rng.Offset(3, 0).Value = "CD"

  End If

Next

Application.ScreenUpdating = True

End Sub

واسمحوا لي أن أعرف إذا كان يعمل من أجلك.
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL