Вы можете фильтровать и работать с видимыми ячейками, или вы можете избежать удаления строк внутри цикла.
Скажем, например, что у вас есть 500 клеток, которые не равны US
. После этого у вас будет 500 экземпляров копирования / вставки & amp; удаления. Это крайне неэффективно.
Вместо этого добавьте целевые ячейки в Union
(коллекцию ячеек), а затем вне цикла выполните операции с коллекцией. Независимо от того, сколько строк нацелено, у вас будет только один экземпляр копии, один экземпляр вставки и один экземпляр удаления.
Sub Moving()
Dim cs As Worksheet: Set cs = ThisWorkbook.Sheets("From TaxWise")
Dim ps As Worksheet: Set ps = ThisWorkbook.Sheets("State")
Dim MoveMe As Range, myCell As Range, LR2 As Long
Dim LR As Long: LR = cs.Range("L" & cs.Rows.Count).End(xlUp).Row
For Each myCell In cs.Range("L2:L" & LR)
If myCell <> "US" Then
If Not MoveMe Is Nothing Then
Set MoveMe = Union(MoveMe, myCell)
Else
Set MoveMe = myCell
End If
End If
Next myCell
If Not MoveMe Is Nothing Then
LR2 = ps.Range("A" & ps.Rows.Count).End(xlUp).Row
MoveMe.EntireRow.Copy
ps.Range("A" & LR2).PasteSpecial xlPasteValues
MoveMe.EntireRow.Delete
End If
End Sub
Спасибо за Ваш непосредственный ответ :-)
Номер порта был проблемой. Я использовал номера портов как 8080,8081,8082, и т.д.. Вероятно, эти порты уже использовались.
Я попробовал портами http://localhost:8080 и http://localhost/35124, и это работало.
еще раз спасибо за Ваши ответы.
С уважением,
Хари
Разве HttpListener не работает независимо от IIS? Можно ли остановить сервис IIS и видеть ли то, что происходит?
Или возможно порт 8081 используется другой программой или процессом. Я предлагаю попытаться установить порт на другое число. Вы могли открыть командную строку и выполнить команду "netstat", чтобы видеть, используется ли порт прежде, чем запустить Ваши сервисы.
(источник: googlepages.com)
HTTPListener является действительно не частью IIS. Это - просто код C#.
Вы делали это как это?
String[] prefixes = { "http://localhost:8280/", "http://localhost:8281/"};
HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8280/");
listener.Start();
1) Если возможно запустить двух HTTP-слушателей на том же IIS в двух различных портах.
Да, это. Но слушатели на IIS не сделаны через код, это через административное средство IIS, таким образом, это, вероятно, не, что Вы пытаетесь сделать. IIS является отдельным от кода c#, которого Вы делаете попытку.
2) Если да, как может мы achecive это?
3) Есть ли какой-либо другой способ сделать это?
При попытке служить веб-страницам, Вы, вероятно, wan't для создания веб-приложения вместо того, чтобы делать собственный сервер HTTP
При выполнении чего-то пользовательского Вы могли бы хотеть смотреть на WCF (Windows Communication Foundation), поскольку это - новая платформа для сети, сокетов, веб-сервисы и т.д., и это - то, что MS будет использовать продвижение
Обычно рекомендуется быстро взглянуть на эту страницу при использовании номеров портов ... просто чтобы убедиться, что временный номер, который вы пытаетесь использовать, не соответствует уже не используется.