Π Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых частых Π·Π°Π΄Π°Ρ‡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ². НуТно ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ просто Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ? Π‘Π΅Π· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ строк Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. Но ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эффСктивно, избСгая ошибок ΠΈ лишнСго ΠΊΠΎΠ΄Π°?

МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ программисты 1Π‘ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ: стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π½Π΅ всСгда ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятны. ΠšΡ‚ΠΎ-Ρ‚ΠΎ пытаСтся Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈ вовсС Π½Π΅ Π·Π½Π°Π΅Ρ‚, с ΠΊΠ°ΠΊΠΎΠΉ стороны ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Ρ‚Ρ€ΠΈ основных способа Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” ΠΎΡ‚ элСмСнтарного Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ, β€” Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Β«ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΈ ΠΊΠΎΠ³Π΄Π° стоит ΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π° Ρ€Π°Π΄ΠΈ скорости. А Π΅Ρ‰Ρ‘ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΎΡ‚Π±ΠΎΡ€Π°, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² ΠΈ динамичСского измСнСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π“ΠΎΡ‚ΠΎΠ²Ρ‹? Π’ΠΎΠ³Π΄Π° приступим!

1. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ: нумСрация Π² Ρ†ΠΈΠΊΠ»Π΅ For Each

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС порядковый Π½ΠΎΠΌΠ΅Ρ€. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² любой вСрсии 1Π‘ 8.3, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄Π°ΠΆΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Основной плюс ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” простота. ΠœΠΈΠ½ΡƒΡ β€” Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТит тысячи строк, Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Однако для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ) этот способ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ достаточСн.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

Π’Π°Π±Π»ΠΈΡ†Π° = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСрБтроки", Новый ОписаниСВипов("Число"));

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π”Π°Π½Π½Ρ‹Π΅", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

// ЗаполняСм Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· запроса)

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 1;

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π’Π°Π±Π»ΠΈΡ†Π° Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НомСрБтроки = Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ;

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ + 1;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ измСняСтС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ прямо Π²ΠΎ врСмя Ρ†ΠΈΠΊΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, добавляСтС ΠΈΠ»ΠΈ удаляСтС строки), счётчик ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒΡΡ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ() ΠΏΠΎ индСксу.
  • βœ… ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π°Π±Π»ΠΈΡ† любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠ°Ρ…).
  • βœ… НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
  • ❌ ΠœΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ >10 000 строк.
  • ❌ НС ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ динамичСскиС измСнСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΎ врСмя Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Π²ΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅), рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с вычисляСмым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ вмСсто физичСской Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ сэкономит рСсурсы.

2. НумСрация Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ

Π‘ΠΎΠ»Π΅Π΅ элСгантноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с автоматичСским ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€Π°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ особСнно ΡƒΠ΄ΠΎΠ±Π΅Π½, Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° формируСтся динамичСски (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ запроса).

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ нумСрация происходит Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ», Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ². Однако здСсь Π΅ΡΡ‚ΡŒ нюанс: Ссли Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ строку ΠΈΠ· сСрСдины Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ автоматичСски β€” это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°Π·Ρ€Ρ‹Π²Π°ΠΌ Π² Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Π’Π°Π±Π»ΠΈΡ†Π° = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСр", Новый ОписаниСВипов("Число"));

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

// ДобавляСм строки с Π°Π²Ρ‚ΠΎΠ½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

НомСрБтроки = 1;

Для ИндСкс = 1 По 10 Π¦ΠΈΠΊΠ»

НоваяБтрока = Π’Π°Π±Π»ΠΈΡ†Π°.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

НоваяБтрока.НомСр = НомСрБтроки;

НоваяБтрока.НаимСнованиС = "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ " + ИндСкс;

НомСрБтроки = НомСрБтроки + 1;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† БохраняСт порядок ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строк
Π¦ΠΈΠΊΠ» For Each БрСдняя ❌ (Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚) βœ…
АвтоинкрСмСнт Высокая βœ… ❌ (Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹)
Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ Максимальная βœ… βœ… (ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ)
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π¦ΠΈΠΊΠ» For Each
АвтоинкрСмСнт
Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ
Π”Ρ€ΡƒΠ³ΠΎΠΉ способ

3. НумСрация ΠΏΠΎ индСксу: максимальная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° мгновСнная нумСрация Π΄Π°ΠΆΠ΅ для Ρ‚Π°Π±Π»ΠΈΡ† с дСсятками тысяч строк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ доступ ΠΏΠΎ индСксу. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ строки Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎ ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°Π·Ρ‹ ускоряСт процСсс.

ОсобСнно Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² с большим ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ каТдая миллисСкунда Π½Π° счСту. Однако здСсь Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ: индСксы Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0, Π° Π½Π΅ с 1 β€” это частая ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° с индСксациСй:

Π’Π°Π±Π»ΠΈΡ†Π° = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

// ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‚Π°Π±Π»ΠΈΡ†Π° ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

// ДобавляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ для Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ², Ссли Π΅Ρ‘ Π½Π΅Ρ‚

Если НЕ Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти("НомСр") Π’ΠΎΠ³Π΄Π°

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСр", Новый ОписаниСВипов("Число"));

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

// НумСруСм ΠΏΠΎ индСксу

Для ИндСкс = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 Π¦ΠΈΠΊΠ»

Π’Π°Π±Π»ΠΈΡ†Π°.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(ИндСкс).НомСр = ИндСкс + 1;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π’Π°Π±Π»ΠΈΡ†Π°.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ() с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ), индСксы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ порядком строк. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Π°Π±Π»ΠΈΡ†Π°.НайтиБтроки().
  • πŸš€ Π‘Π°ΠΌΡ‹ΠΉ быстрый способ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†.
  • ⚠️ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ аккуратности ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‚Π±ΠΎΡ€Π°ΠΌΠΈ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.
  • πŸ”„ ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для динамичСского обновлСния Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ сортировкС).

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π΅ пустая|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ для Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²|Π£Ρ‡Π΅ΡΡ‚ΡŒ смСщСниС индСксов (Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0)|ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ доступС ΠΊ строкам-->

4. НумСрация с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΎΡ‚Π±ΠΎΡ€Π° ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²

Часто трСбуСтся ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ всС строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ. НапримСр, Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ записи ΠΈΠ»ΠΈ строки с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ остатком. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях простой Ρ†ΠΈΠΊΠ» For Each ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ сбой.

РСшСниС β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†Π°.НайтиБтроки() ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ†Π°.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ строки, игнорируя ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅. Однако здСсь Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ: послС примСнСния ΠΎΡ‚Π±ΠΎΡ€Π° индСксы строк ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ!

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ:

// ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° "Бтатус" с значСниями "Активно"/"НСактивно"

ΠžΡ‚Π±ΠΎΡ€ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("Бтатус", "Активно");

ΠžΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ = Π’Π°Π±Π»ΠΈΡ†Π°.НайтиБтроки(ΠžΡ‚Π±ΠΎΡ€);

// НумСруСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ строки

НомСр = 1;

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из ΠžΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НомСр = НомСр;

НомСр = НомСр + 1;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ строки Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° индСксов?

Если ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ индСксов послС ΠΎΡ‚Π±ΠΎΡ€Π°, Π½ΠΎΠΌΠ΅Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚Π΅ΠΌ строкам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ прСдставлСнии. НапримСр, Ссли исходная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠ΅Π΅Ρ‚ строки с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ 1, 2, 3, 4, Π° ΠΎΡ‚Π±ΠΎΡ€ оставляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 ΠΈ 4, Ρ‚ΠΎ Π±Π΅Π· ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π½ΠΎΠΌΠ΅Ρ€Π° 1 ΠΈ 2, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‚Π±ΠΎΡ€Π°ΠΌΠΈ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… 1Π‘ нумСрация ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° особСнностСй Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…. ВсСгда провСряйтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° тСстовых Π΄Π°Π½Π½Ρ‹Ρ….

5. ДинамичСская нумСрация ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ измСняСтся Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ строки, мСняСтся порядок? БтатичСская нумСрация здСсь Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚: послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния придётся ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° Π·Π°Π½ΠΎΠ²ΠΎ.

РСшСниС β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ события Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ) ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π΅ Π² самой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ структурС Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² БоотвСтствиС).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ динамичСского пСрСсчёта:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠΎΠΌΠ΅Ρ€Π°(Π’Π°Π±Π»ΠΈΡ†Π°)

Для ИндСкс = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 Π¦ΠΈΠΊΠ»

Π’Π°Π±Π»ΠΈΡ†Π°.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(ИндСкс).НомСр = ИндСкс + 1;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

// Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ пСрСсчёт послС любого измСнСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π’Π°Π±Π»ΠΈΡ†Π°.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠΎΠΌΠ΅Ρ€Π°(Π’Π°Π±Π»ΠΈΡ†Π°);

  • πŸ”„ ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π²Π²ΠΎΠ΄Π°).
  • ⚑ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов Π½Π° пСрСсчёт.
  • πŸ› οΈ МоТно ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, нумСруя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ строки.
πŸ’‘

Для динамичСских Ρ‚Π°Π±Π»ΠΈΡ† Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ событиС ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ… строк, Π° Π½Π΅ для всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорит Ρ€Π°Π±ΠΎΡ‚Ρƒ.

6. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ 1Π‘ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ строк. Π’ΠΎΡ‚ самыС распространённыС ΠΈΠ· Π½ΠΈΡ… ΠΈ способы ΠΈΡ… прСдотвращСния:

  1. НумСрация с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ вмСсто нуля (ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚).

    Π’ 1Π‘ индСксы Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ с 1. ВсСгда уточняйтС трСбования ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ.

  2. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ².

    Если Π²Ρ‹ Π½ΡƒΠΌΠ΅Ρ€ΡƒΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ это Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ.

  3. Π—Π°Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° послС сортировки.

    ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ порядка строк нумСрация Π½Π΅ обновляСтся автоматичСски!

  4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ нСэффСктивныС Ρ†ΠΈΠΊΠ»Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†.

    Для Ρ‚Π°Π±Π»ΠΈΡ† с >10 000 строк Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ массовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок, всСгда тСстируйтС Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° тСстовых ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ случаям, ΠΊΠΎΠ³Π΄Π°:

  • πŸ“Œ Π’Π°Π±Π»ΠΈΡ†Π° пустая.
  • πŸ“Œ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ/ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ динамичСски.
  • πŸ“Œ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ слоТныС ΠΎΡ‚Π±ΠΎΡ€Ρ‹ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ.

FAQ: ЧастыС вопросы ΠΏΠΎ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ строк Π² 1Π‘

МоТно Π»ΠΈ ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки Π±Π΅Π· добавлСния Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ?

Π”Π°, Π½ΠΎ это Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅, ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° "Π½Π° Π»Π΅Ρ‚Ρƒ" ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅). Однако для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π»ΡƒΡ‡ΡˆΠ΅ всё ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС сортировки Π½ΠΎΠΌΠ΅Ρ€Π° строк ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ?

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ нумСрация привязана ΠΊ физичСскому порядку строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π° Π½Π΅ ΠΊ ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. ПослС сортировки Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ пСрСсчёта Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π·Π°Π½ΠΎΠ²ΠΎ.

Как Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘?

Для Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Ρ‚ΠΈΠΏΠΎΠΌ "НомСр строки" ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ событиС ΠŸΡ€ΠΈΠΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ динамичСски ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π°. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π’Π°Π±Π»ΠΈΡ†Π°.НомСраБтрок (Ссли ΠΎΠ½ поддСрТиваСтся вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ).

Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ самый быстрый для 100 000 строк?

Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π° нумСрация ΠΏΠΎ индСксу (ΠΌΠ΅Ρ‚ΠΎΠ΄ 3). Она Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π°Π·Ρ‹ быстрСС Ρ†ΠΈΠΊΠ»Π° For Each, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ всСм элСмСнтам. Π’Π°ΠΊΠΆΠ΅ рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Массив ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° для хранСния Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

МоТно Π»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊ Π² Excel?

Π’ 1Π‘ Π½Π΅Ρ‚ встроСнного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π°Π²Ρ‚ΠΎΠ½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π² Excel, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ события ΠŸΡ€ΠΈΠ”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π’Π°Π±Π»ΠΈΡ†Π°ΠŸΡ€ΠΈΠ”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, НоваяБтрока, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)

НоваяБтрока.НомСр = Π’Π°Π±Π»ΠΈΡ†Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ();

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Однако это сработаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½ΠΎΠ²Ρ‹Ρ… строк, Π° Π½Π΅ для ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ….