Nano Hash - криптовалюты, майнинг, программирование

Как установить последнюю строку данных макроса excel

Я пытаюсь сделать макрос, который поможет мне отформатировать некоторые файлы, но каждый файл имеет разное количество строк (но всегда одинаковое количество столбцов). Я определил последний диапазон как 99999, потому что я не знаю, как заставить макрос распознавать последнюю строку с некоторыми данными и останавливаться на этом.

Кто-нибудь может помочь?

Спасибо

  Rows("1:26").Select
    Selection.Cut
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Range("C16").Select
    Sheets("teste").Select
    Selection.Delete Shift:=xlUp
    Range("I3:N99999").Select
    Selection.Cut
    Range("I1").Select
    ActiveSheet.Paste
    Range("P3:P99999").Select

Также пробовал и имел успех:

    Dim Nb_Rows As Integer
Nb_Rows = WorksheetFunction.CountA(Range("H:H"))
For i = 1 To Nb_Rows
Range("I" & i).Value = Range("H" & i).Value + Range("F" & i).Value
Next i
01.07.2020

  • Вы имеете в виду, что не можете Google Excel VBA найти последнюю строку? 01.07.2020
  • Самая подробная тема, с которой я когда-либо сталкивался: stackoverflow.com/questions/11169445/ 01.07.2020
  • я нашел что-то вроде count, но я действительно не знаю, как вставить в диапазон, потому что у меня нет последнего диапазона, поэтому я не знаю, как его определить 01.07.2020
  • Чтобы построить диапазон, как в вашей 8-й строке, который заканчивается в последней строке, создайте переменную и сохраните в ней номер строки последней строки +1 (мой предыдущий комментарий должен помочь с этим), затем используйте эту переменную в Range("I3:N" & EndRowNumber).Select. Кстати, общая форма этого Range(StartColumnLetter & StartRowNumber & ":" & EndColumnLetter & EndRowNumber).Select. Есть и другие менее громоздкие способы работы с диапазонами, но они просто помогают с тем, что у вас уже есть. 01.07.2020

Ответы:


1

Вы можете использовать что-то подобное, чтобы найти последнюю строку

lastRow = Range("N" & Rows.Count).End(xlUp).Row

Затем используйте контатенацию строк, чтобы использовать lastRow в объекте диапазона:

rangeIN = Range("I3:N" & lastRow)

введите здесь описание изображения

Вот код, который я использовал для этого примера программы:

Sub SelectRange()
    Dim rangeIN As Range
    lastRow = Range("N" & Rows.Count).End(xlUp).Row
    Set rangeIN = Range("I3:N" & lastRow)
    rangeIN.Select
End Sub

Какой именно код вы хотите использовать, зависит от обстоятельств. Например, если вы знаете, что в столбце N всегда будет хотя бы одна строка данных, если последняя строка может быть в другом столбце (например, M) и т. д. Таким образом, это зависит от нескольких переменных факторов, которые у вас будут чтобы проверить, чтобы ваш макрос работал надежно. Я рекомендую проверить этот вопрос для получения дополнительной информации. информация, предложенная Stax.

P.S. вам не нужно выбирать диапазон, чтобы скопировать и вставить его. Это распространенное заблуждение, которое добавляет неэффективности. Вместо этого вы обычно можете использовать что-то вроде этого:

Sheet2.Range("A1:B2").Value2 = Sheet1.Range("A1:B2").Value2
01.07.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..