jQuery и группы переключателей

  1. Прежде чем писать какой-либо код, перейдите в «Инструменты ► VBE» → «Параметры» и поставьте галочку рядом с надписью «Требовать переменную» на вкладке «Редактор». Это позволит сэкономить время отладки, если вы набрали переменную при вводе кода. Эта опция будет запомнена, и следующее будет автоматически помещено в область «Объявления» каждого созданного вами нового кода модуля. Option Explicit
  2. Начните создавать свою вспомогательную процедуру и введите любые переменные, которые вы уже знаете, что вам понадобится. Sub data_Rollup () Dim rw as Long, strA as String, strB as String 'lots to go здесь End Sub
  3. Определите свою рабочую среду с одним или несколькими С ... End С помощью операторов . Используйте свойство Range.CurrentRegion , чтобы изолировать ссылки на строку и столбец на «остров» данных, происходящих в ячейках A1. With Worksheets («Sheet1») с .Cells (1, 1) .CurrentRegion 'весь рабочий код здесь End With End With
  4. Range.Sort ваши данные в столбце A сначала столбцы B, C и D. Вы можете сортировать только по трем ключевым столбцам за раз, поэтому вам нужно сначала отсортировать столбец A, чтобы получить упорядоченные, а затем B, C и D, чтобы совместить дубликаты. Вы должны знать, имеют ли ваши данные метки заголовка столбца или нет. Не полагайтесь на Excel на xlGuess . .Cells.Sort Key1: =. Столбцы (1), Order1: = xlAscending, _ Orientation: = xlTopToBottom, Header: = xlYes .Cells.Sort Key1: =. Столбцы (2), Order1: = xlAscending, _ Key2: = Колонны (3), Order2: = xlAscending, _ Key3: =. Столбцы (4), Order3: = xlAscending, _ Ориентация: = xlTopToBottom, Заголовок: = xlYes
  5. Петля снизу вверх , Вы захотите избавиться от строк, которые вы совмещаете с одинаковыми строками, и если вы продвигаетесь сверху вниз, а при удалении строк вы рискуете перепрыгнуть через строку. например вы удаляете строку, и все меняется; вы увеличиваете (цикл) и переходите к следующей строке, но на самом деле вы пропустили тот, который был просто сдвинут. Для rw = .Rows.Count¹ To 2 Step -1 'далее сюда Далее rw
  6. Объедините строки из столбцов B, C и D вместе для текущей строки и строки выше. Используйте функцию LCase или функцию UCase , чтобы удалить чувствительность к регистру при сравнении текстовых строк. Если найдено совпадение между тремя информационными столбцами, Присоедините содержимое столбца A строки в строке с разделителем, затем используйте метод Range.Delete , чтобы окончательно удалить строку. strA = Join (Array (.Cells (rw, 2), .Cells (rw, 3), .Cells (rw, 4)), ChrW (8203)) strB = Join (Array (.Cells (rw - 1, 2) ), Cells (rw - 1, 3), .Cells (rw - 1, 4)), ChrW (8203)) Если LCase (strA) = LCase (strB) Затем. Cells (rw - 1, 1) = Join (Array (.Cells (rw - 1, 1), .Cells (rw, 1)), ",") .Rows (rw) .EntireRow.Delete End If
  7. Когда вы думаете, что это выглядит правильно , используйте Alt + D + L для компиляции. Обработать необъявленные переменные или отсутствующее предложение при необходимости закрывается.
  8. Когда он компилируется без ошибок, поместите курсор в любом месте процедуры и начните нажимать F8. Это позволит вам выполнить процедуру примерно по очереди, чтобы вы могли видеть, что происходит. Используйте окно просмотра и наведите курсор на переменные, чтобы увидеть текущие состояния и значения. Если вы уверены в разделе, поместите курсор на строку рабочего кода ниже раздела и нажмите Ctrl + F8 на * Run-to-cursor.
  9. Когда он работает без надёжности, вы можете посмотреть добавление оптимизаций во время выполнения, таких как Application.ScreenUpdating свойство и другие.
  10. Ничего к этому.


    ¹ Поскольку вы работаете в Свойство Range.CurrentRegion , .Rows.Count - это общее количество строк в .CurrentRegion.

16
задан jbenckert 22 July 2009 в 14:21
поделиться

1 ответ

Чтобы найти все радиогруппы:

var radio_groups = {}
$(":radio").each(function(){
    radio_groups[this.name] = true;
})

, чтобы найти, какая радиогруппа установила флажки, а какая нет:

for(group in radio_groups){
    if_checked = !!$(":radio[name='"+group+"']:checked").length
    alert(group+(if_checked?' has checked radios':' does not have checked radios'))
}
37
ответ дан 30 November 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: