Я бы добавил счетчик пустых строк. Тогда вы можете установить максимальный порог. Я также добавил условие выхода из бесконечного цикла, просто потому что.
Это то, что у меня есть, похоже, работает. Надеюсь, это поможет.
Option Explicit
Const c_intMaxBlanks As Integer = 5
Sub AddBlankRows()
Dim iRow As Integer, iCol As Integer
Dim oRng As Range
Dim intBlankCnt As Integer
Dim intMaxBlanks As Integer
Dim blnIsDone As Boolean
Dim intSaveStartRow As Integer
Dim blnStartCnt As Boolean
blnIsDone = False
Set oRng = Range("a1")
iRow = oRng.Row
iCol = oRng.Column
blnStartCnt = False
Do
'Check for blank Row using length of string
If (Len(Trim(Cells(iRow, iCol).Text)) > 0) Then
If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
Cells(iRow + 1, iCol).EntireRow.Insert shift:=xlDown
iRow = iRow + 2
Else
iRow = iRow + 1
End If
Else
iRow = iRow + 1
End If
'Check for blank Row using length of string
If (Len(Trim(Cells(iRow, iCol).Text)) < 1) Then 'Check for blank Row using length of string
If Not blnStartCnt Then
intSaveStartRow = iRow
blnStartCnt = True
Else
If (intSaveStartRow + intBlankCnt) <> iRow Then
'restart
intSaveStartRow = iRow
intBlankCnt = 0
End If
End If
intBlankCnt = intBlankCnt + 1
Else
'restart
blnStartCnt = False
intBlankCnt = 0
End If
If intBlankCnt >= c_intMaxBlanks Then blnIsDone = True
If iRow > 500 Then
MsgBox "Stopping Loop: Maybe Infinite"
Exit Do
End If
Loop While (Not blnIsDone)
End Sub
Если у Вас уже не будет его, пойдите для нескольких мониторов, то Вы никогда не будете сожалеть о нем. Это не обновит Вашу производительность вместо Вашего компьютера
Jeff Atwood говорит об этом: http://www.codinghorror.com/blog/archives/000012.html
10k диск об/мин является хорошей идеей.
Вы захотите, чтобы и Visual Studio и Ваши рабочие копии были на 10k диске об/мин, если Вы пойдете тем путем: это - то, где весь Ваш диск, ввод-вывод будет происходить во время разработки, настолько вводящей в эксплуатацию Ваш самый быстрый диск, там является самым важным.
.02$ Jeff по проблеме здесь: http://www.codinghorror.com/blog/archives/000800.html
Получите на 2 ГБ больше RAM. Это должно быть хорошо в пределах Вашего бюджета.
Я второй проблема мультимонитора. Что касается диска 10K, у меня есть тот. Уверенный хорошо пойти от выключения питания до входа в систему Vista (в домене) приблизительно за 15 секунд, но если Вы не загоните диск во время разработки, это не поможет многому. Учитывая Вашу буровую установку я на самом деле потратил бы деньги на большую память 4 ГБ, больше если МБ может поддерживать его и затем перейти к x64. Конечно, это предполагает, что память является Вашим узким местом теперь (вероятно). Что perfmon говорит об использовании памяти?
Мы смотрим на то же самое прямо сейчас. Похоже, что ScottGu предполагает, что жесткий диск мог бы быть оптимальным маршрутом...
Две недели назад я создал новую буровую установку на основе рекомендаций Jeff. Из того, что я мог решить, что самое большое влияние прибывает из 300 ГБ velociraptor жесткий диск. Если Вы делаете это, то помещенный большинство Ваших средств разработки и проектов на этом диске. Не используйте "другой" диск ни для чего, что Вы будете использовать многократно в день - используют velociraptor для всей разработки.
На ноте стороны: Я когда-то пытался установить высокопроизводительное программное обеспечение Электронного диска и затем переместить все возможное в тот диск. Для разработки ASP.NET все кроме файлов платформы.NET было перемещено (файлы проекта, временные файлы, скомпилировал файлы, и т.д.). Я думал бы, что это будет иметь больше значения, чем больше RAM или более быстрый диск, но это не имело никакого значения вообще. Проблема состоит в том, что основной преступник является диском Windows. Так, рекомендации от Jeff и Scott в других ответах принадлежат системе в целом.
Да, определенно пойдите 64-разрядные, если Вы можете (если Вы не играете в некоторые более старые компьютерные игры), по крайней мере с 4 ГБ RAM. Проблема переустановить x64 ОС и программное обеспечение может перевесить преимущество на данный момент все же.
Больше памяти, более быстрого Системного диска и отдельного Диска Данных являются, вероятно, самым легким повышением производительности.
Если Вы добавите 3-й монитор, то Вам, скорее всего, будет нужна вторая видеокарта, предпочтительно того же делают/моделируют.