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

كيفية تسجيل القيم المتغيرة في خلية في إكسيل؟

كيفية تسجيل كل قيمة متغيرة لخلية متغيرة بشكل متكرر في إكسيل؟ على سبيل المثال ، القيمة الأصلية في الخلية C2 هي 100 ، عند تغيير الرقم 100 إلى 200 ، سيتم عرض القيمة الأصلية 100 في الخلية D2 تلقائيًا للتسجيل. المضي قدما لتغيير 200 إلى 300 ، سيتم إدراج الرقم 200 في الخلية D3 ، والتغيير 300 إلى 400 سيعرض 300 إلى D4 وهكذا. يمكن أن تساعدك الطريقة في هذه المقالة على تحقيق ذلك.

قم بتسجيل القيم المتغيرة في خلية برمز VBA


قم بتسجيل القيم المتغيرة في خلية برمز VBA

يمكن أن يساعدك رمز VBA أدناه في تسجيل كل قيمة متغيرة في خلية في Excel. الرجاء القيام بما يلي.

1. في ورقة العمل تحتوي على الخلية التي تريد تسجيل القيم المتغيرة لها ، انقر بزر الماوس الأيمن فوق علامة تبويب الورقة ثم انقر فوق عرض الرمز من قائمة السياق. انظر لقطة الشاشة:

2. ثم ميكروسوفت فيسوال باسيك للتطبيقات يتم فتح النافذة ، يرجى نسخ رمز VBA أدناه في نافذة التعليمات البرمجية.

كود فبا: سجل القيم المتغيرة في خلية

Dim xVal As String
'Update by Extendoffice 2018/8/22
Private Sub Worksheet_Change(ByVal Target As Range)
    Static xCount As Integer
    Application.EnableEvents = False
    If Target.Address = Range("C2").Address Then
        Range("D2").Offset(xCount, 0).Value = xVal
        xCount = xCount + 1
    Else
        If xVal <> Range("C2").Value Then
         Range("D2").Offset(xCount, 0).Value = xVal
        xCount = xCount + 1
        End If
    End If
    Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    xVal = Range("C2").Value
End Sub

ملاحظة: في الكود ، C2 هي الخلية التي تريد تسجيل جميع قيمها المتغيرة. D2 هي الخلية التي ستقوم بتعبئة أول قيمة متغيرة لـ C2.

3. اضغط على قديم + Q مفاتيح لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

من الآن فصاعدًا ، في كل مرة تقوم فيها بتغيير القيم في الخلية C2 ، سيتم تسجيل القيم المتغيرة السابقة في D2 والخلايا الموجودة أسفل D2.


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

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٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (50)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Hi


يعمل هذا جيدًا إذا تم إدخال القيمة في C2 في كل مرة ، لكنه لا يعمل إذا احتوت C2 على صيغة. هل هناك طريقة لهذا الشيء نفسه ولكن باستخدام صيغة في C2؟


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

خافت xVal كسلسلة
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
xCount ثابت باعتباره عددًا صحيحًا
Application.EnableEvents = خطأ
If Target.Address = Range ("C2") ، ثم العنوان
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
آخر
إذا كان xVal <> Range ("C2"). القيمة ثم
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
إنهاء حالة
إنهاء حالة
Application.EnableEvents = صحيح
نهاية الفرعية
تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)
xVal = المدى ("C2"). القيمة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هاي ،



انتقل VBS أعلاه فقط C2 إلى D2 ،



انتقل إلى INEED C2 إلى C55 إلى D2 إلى D55



هل يمكنك مساعدتي وإرسالها لي إلى alexmathew33@gmail.com
تم تصغير هذا التعليق بواسطة المشرف على الموقع
الرجاء مساعدتي في السيناريو أدناه:
من الورقة 1:
A1 = VALUE (التغييرات بسبب RTD مع الصيغة)
B2 = VALUE1 (التغييرات بسبب RTD مع الصيغة)

انسخ جميع القيم السابقة للخلايا A1 و B1 في الورقة 2 من الأعمدة M أو NOF نفس التفوق أو الورقة 1 من المصنف الجديد

يرجى مشاركتي معي على melukotahari@gmail.com

-ملكوتا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكننا الحصول على VBS لما سبق
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ماذا لو كانت الخلية C2 عبارة عن صيغة؟ كيف أسجل قيم C2 إذا كانت صيغة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
تم تحسين الكود. يرجى المحاولة وشكرا لتعليقك.

خافت xVal كسلسلة
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
xCount ثابت باعتباره عددًا صحيحًا
Application.EnableEvents = خطأ
If Target.Address = Range ("C2") ، ثم العنوان
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
آخر
إذا كان xVal <> Range ("C2"). القيمة ثم
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
إنهاء حالة
إنهاء حالة
Application.EnableEvents = صحيح
نهاية الفرعية
تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)
xVal = المدى ("C2"). القيمة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هاي ،



انتقل VBS أعلاه فقط C2 إلى D2 ،



انتقل إلى INEED C2 إلى C55 إلى D2 إلى D55



هل يمكنك مساعدتي وإرسالها لي إلى alexmathew33@gmail.com
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا - أقدر حقًا هذا البرنامج التعليمي ... أحاول تسجيل القيمة المتغيرة في جدول بيانات مختلف. على سبيل المثال ، أريد تسجيل قيمة الورقة 1 C2 على الورقة 2 D2. هل يمكنك تقديم كود معدل؟
شكرا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكن أن تكون السجلات أفقية بدلاً من عمودي؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل يمكن لهذا الماكرو تسجيل خليتين منفصلتين في عمودين منفصلين؟ بمعنى آخر. هل يمكنني تسجيل جميع القيم من A1 في العمود B وجميع قيم C1 في العمود D؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
الرجاء تجربة الطريقة في هذا المقال:
كيف تتذكر أو تحفظ قيمة الخلية السابقة لخلية تم تغييرها في إكسيل؟
https://www.extendoffice.com/documents/excel/5056-excel-remember-save-previous-cell-value.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك على هذا ولكن بدلاً من الاستمرار إلى الأبد ، كيف يمكنني إعادة التشغيل مرة أخرى في الخلية الأولى بعد عدد X من المرات؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
هل تقصد بعد تسجيل X مرات ، هل تريد إعادة التشغيل مرة أخرى إلى قيمة التسجيل الأولى؟
آسف لست متأكدًا من أنني تلقيت سؤالك. سيكون من الرائع أن تقدم لقطة شاشة لما تحاول القيام به.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكر

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

ولكن ماذا أفعل إذا كنت بحاجة إلى تكراره من أجل الخام
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Peki bu kaydı yatay olarak nasıl kaydedeceğiz. Satırlara değil Sütunlara kaydetmesini istiyorum. Teşekkürler
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكنني حفظ الرقم بمجرد إنشائه وليس بعد إنشاء رقم جديد؟ المشكلة التي أواجهها هي أن الرقم لم يتم تسجيله على الفور ولكن بعد إنشاء رقم ثانٍ ؛ هذا يعني أنه لا الخلية التي أقوم بتسجيلها أو الخلية الهدف لها الرقم ... كيف يمكنني التسجيل بمجرد إنشاء الرقم؟ شكرا لمساعدتك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا جون،
آسف لا أستطيع مساعدتك في ذلك. مرحبًا بك لنشر أي سؤال في منتدانا: https://www.extendoffice.com/forum.html. شكرا لك على تعليقك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل من الممكن تطبيق هذا على أكثر من خلية واحدة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أهلاً! شكرا على الكود ، لكن لدي سؤال

هل هناك طريقة لتعديل الشفرة بحيث تسجل القيمة إذا كانت الخلية يوميًا أو في أيام معينة والتي أحددها في عمود منفصل؟


شكر!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Try This

خافت xVal كسلسلة
Dim iVal كعدد صحيح
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
xCount ثابت باعتباره عددًا صحيحًا
iVal = Application.WorksheetFunction.Count (النطاق ("F: F") ، 1)
xCount = iVal
Application.EnableEvents = خطأ
If Target.Address = Range ("C2") ، ثم العنوان
Range ("E3"). Offset (xCount، 0) .Value = Range ("C2"). Value
Range ("F3"). Offset (xCount، 0) .Value = Now
xCount = xCount + 1
آخر
إذا كان xVal <> Range ("C2"). القيمة ثم
Range ("E3"). Offset (xCount، 0) .Value = Range ("C2"). Value
Range ("F3"). Offset (xCount، 0) .Value = Now
xCount = xCount + 1
إنهاء حالة
إنهاء حالة
Application.EnableEvents = صحيح
نهاية الفرعية
تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)
xVal = المدى ("C2"). القيمة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لقد جربت هذا الرمز لخلية C2 التي تحتوي على قيم DDE التي تتغير ثانيةً تلو الأخرى. أنا استخدم هذا الكود التالي ولكن لا يعمل.

خافت xVal كسلسلة
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
xCount ثابت باعتباره عددًا صحيحًا
Application.EnableEvents = خطأ
If Target.Address = Range ("C2") ، ثم العنوان
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
آخر
إذا كان xVal <> Range ("C2"). القيمة ثم
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
إنهاء حالة
إنهاء حالة
Application.EnableEvents = صحيح
نهاية الفرعية
تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)
xVal = المدى ("C2"). القيمة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
ما هو إصدار Excel الذي تستخدمه؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إنه يعمل عندما أكتب البيانات ، ولا يعمل عندما أقوم بدفق بيانات الوقت الفعلي إلى هذه الخلية مباشرة (= RTD (.....)). كيف يمكنني أن أجعلها تعمل مع RTD؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا جزيلاً على البرامج التعليمية ، أود معرفة ما إذا كانت هناك طريقة لجعل الخلية تتصرف كآلة حاسبة عادية.
أي يجب أن تكون هذه الخلية قادرة على جمع الأشكال التي تظهر في خلية أخرى ، مع إبقاء الرقم التراكمي الأخير مرئيًا.
ستكون هذه الخلية الأخرى هي خلية المفتاح أو الخلية النشطة.
على سبيل المثال:
الخلية 1: = 2 * 5 ، تظهر الإجابة في الخلية 2 ،
الخلية 1: = 3 * 6.8 ، تتم إضافة الإجابة إلى القيمة السابقة الناتجة عن (2 * 5) ولا تزال تظهر في الخلية 2.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
الصيغة أعلاه لا تعمل مع الصيغ ، فقط للإدخال اليدوي. هل هناك أي طريقة لتغيير الترميز لجعله يعمل مع الخلايا التي تحتوي على صيغة؟



خافت xVal كسلسلة
'تحديث بواسطة Extendoffice 2018 / 8 / 22
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
xCount ثابت باعتباره عددًا صحيحًا
Application.EnableEvents = خطأ
If Target.Address = Range ("C2") ، ثم العنوان
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
آخر
إذا كان xVal <> Range ("C2"). القيمة ثم
النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
إنهاء حالة
إنهاء حالة
Application.EnableEvents = صحيح
نهاية الفرعية
تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)
xVal = المدى ("C2"). القيمة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
الرجاء محاولة VBA أدناه.



خافت xVal كسلسلة

ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)

xCount ثابت باعتباره عددًا صحيحًا

Application.EnableEvents = خطأ

If Target.Address = Range ("C2") ، ثم العنوان

النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal

xCount = xCount + 1

آخر

إذا كان xVal <> Range ("C2"). القيمة ثم

النطاق ("D2"). الإزاحة (xCount ، 0). القيمة = xVal

xCount = xCount + 1

إنهاء حالة

إنهاء حالة

Application.EnableEvents = صحيح

نهاية الفرعية

تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)

xVal = المدى ("C2"). القيمة

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

الرجاء تجربة الطريقة في هذا المقال:

كيف تتذكر أو تحفظ قيمة الخلية السابقة لخلية تم تغييرها في إكسيل؟

https://www.extendoffice.com/documents/excel/5056-excel-remember-save-previous-cell-value.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل من الممكن تكييف هذا واستخدامه مع DDE / RTD؟ يعمل بشكل جيد عند تغيير الخلايا يدويًا ، ولكن ليس مع DDE / RTD.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكن تغيير هذا للعمل لخلايا متعددة في ورقة عمل واحدة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

الرجاء تجربة الطريقة في هذا المقال:

كيف تتذكر أو تحفظ قيمة الخلية السابقة لخلية تم تغييرها في إكسيل؟

https://www.extendoffice.com/documents/excel/5056-excel-remember-save-previous-cell-value.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا! حاولت استخدام هذا الرمز لتسجيل كل تغيير في قيمة خلية معينة. ومع ذلك ، كنت أتساءل عما إذا كان بإمكان أي شخص مساعدتي عن طريق تعديلها بحيث يتم جمع التغيير في القيمة في علامة تبويب مختلفة وأيضًا يتم حفظها في كل مرة يتم فيها إغلاق المصنف. نظرًا لأنه يعيد تعيين نفسه في كل مرة يتم فيها فتح المصنف دون حفظ القيم السابقة. الكود: Dim xVal As String
'تحديث بواسطة Extendoffice 2018 / 8 / 22
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
xCount ثابت باعتباره عددًا صحيحًا
Application.EnableEvents = خطأ
If Target.Address = Range ("J7"). العنوان ثم
النطاق ("AB2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
آخر
إذا كانت xVal <> Range ("J7"). القيمة إذن
النطاق ("AB2"). الإزاحة (xCount ، 0). القيمة = xVal
xCount = xCount + 1
إنهاء حالة
إنهاء حالة
Application.EnableEvents = صحيح
نهاية الفرعية
تغيير ورقة العمل الفرعية الخاصة (الهدف حسب القيمة كنطاق)
xVal = المدى ("J7"). القيمة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ، شكرا على أدناه. سؤال سريع .... هل يمكنك إعادة تعيين هذا في بعض الأحيان بحيث يمكنك بناءً على طلبك ، الحصول على الماكرو لحذف جميع الأرقام السابقة والبدء في تسجيل الأرقام مرة أخرى من الخلية D2؟ في الوقت الحالي ، يتم تسجيل الأرقام D2 و D3 و D4 و D5 و D6 وما إلى ذلك
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد

تواصل معنا

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