Я знаю только основы, чтобы преуспеть. Я получил огромный лист Excel от клиента. Я пытаюсь объяснить с примерами данных, что я хочу. Вот входные данные на одном листе

Я хочу ввести номера строк на новом листе (или в каком-нибудь текстовом файле или в Excel), например, номера строк в любом формате, скажем, Row2:Row3:Row4 затем объединить эти три строки, как показано ниже.

  1. Сохраняйте содержание А2 как есть.
  2. Объединить содержимое B1, B2, B3 под B2
  3. Переместите содержимое A3 и A4 в столбец C1. Этот шаг хорошо бы иметь по возможности, но не обязательно

Скриншот вывода

Я не уверен, как этого добиться? Это достижимо через макрос или формулу или что-то еще?

1 ответ1

0

Я думаю, что это хороший шанс дать вам удочку и научить вас двум основным методам в VBA.

Объединение двух клеток в одну

Если у меня есть две ячейки с данными:

Вы всегда можете ссылаться на содержимое ячейки в этом формате:

ThisWorkbook.Sheets(worksheet_name).Range(desirded_range).Value 

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

Public Sub combine()
    ThisWorkbook.Sheets("Sheet1").Range("A1").Value = ThisWorkbook.Sheets("Sheet1").Range("A1").Value & ThisWorkbook.Sheets("Sheet1").Range("A2").Value
End Sub

Обратите внимание, как я могу ссылаться на диапазон A1, считывая его и назначая ему данные.

сращивание

Используя тот же пример для моих данных:

Для объединения мы используем этот формат:

ThisWorkbook.Sheets(worksheet_name).Range(desired_range).Merge

Это очень похоже на пример объединения. Имейте в виду, что требуемый_диапазон может быть диапазоном и не должен быть отдельной ячейкой, поэтому для слияния в моем примере я бы просто использовал:

Public Sub Merge()
    ThisWorkbook.Sheets("Sheet1").Range("A1:A2").Merge
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .