Добавить столбец в таблицу excel vba

Вставка диапазона со сдвигом ячеек вправо или вниз методом Insert объекта Range. Вставка и перемещение строк и столбцов из кода VBA Excel. Примеры.

Range.Insert – это метод, который вставляет диапазон пустых ячеек (в том числе одну ячейку) на рабочий лист Excel в указанное место, сдвигая существующие в этом месте ячейки вправо или вниз. Если в буфере обмена содержится объект Range, то вставлен будет он со своими значениями и форматами.

Синтаксис

Expression.Insert(Shift, CopyOrigin)

Expression – выражение (переменная), возвращающее объект Range.

Параметры

Параметр Описание Значения
Shift Необязательный параметр. Определяет направление сдвига ячеек. Если параметр Shift опущен, направление выбирается в зависимости от формы* диапазона. xlShiftDown (-4121) – ячейки сдвигаются вниз;
xlShiftToRight (-4161) – ячейки сдвигаются вправо.
CopyOrigin Необязательный параметр. Определяет: из каких ячеек копировать формат. По умолчанию формат копируется из ячеек сверху или слева. xlFormatFromLeftOrAbove (0) – формат копируется из ячеек сверху или слева;
xlFormatFromRightOrBelow (1) – формат копируется из ячеек снизу или справа.

* Если диапазон горизонтальный или квадратный (количество строк меньше или равно количеству столбцов), ячейки сдвигаются вниз. Если диапазон вертикальный (количество строк больше количества столбцов), ячейки сдвигаются вправо.

Примеры

Простая вставка диапазона

Вставка диапазона ячеек в диапазон «F5:K9» со сдвигом исходных ячеек вправо:

Range(«F5:K9»).Insert Shift:=xlShiftToRight

Если бы параметр Shift не был указан, сдвиг ячеек, по умолчанию, произошел бы вниз, так как диапазон горизонтальный.

Вставка вырезанного диапазона

Вставка диапазона, вырезанного в буфер обмена методом Range.Cut, из буфера обмена со сдвигом ячеек по умолчанию:

Range(«A1:B6»).Cut

Range(«D2»).Insert

Обратите внимание, что при использовании метода Range.Cut, точка вставки (в примере: Range("D2")) не может находится внутри вырезанного диапазона, а также в строке или столбце левой верхней ячейки вырезанного диапазона вне вырезанного диапазона (в примере: строка 1 и столбец «A»).

Вставка скопированного диапазона

Вставка диапазона, скопированного в буфер обмена методом Range.Copy, из буфера обмена со сдвигом ячеек по умолчанию:

Range(«B2:D10»).Copy

Range(«F2»).Insert

Обратите внимание, что при использовании метода Range.Copy, точка вставки (в примере: Range("F2")) не может находится внутри скопированного диапазона, но в строке или столбце левой верхней ячейки скопированного диапазона вне скопированного диапазона находится может.

Вставка и перемещение строк

Вставка одной строки на место пятой строки со сдвигом исходной строки вниз:


Вставка четырех строк на место пятой-восьмой строк со сдвигом исходных строк вниз:


Вставка строк с использованием переменных, указывающих над какой строкой осуществить вставку и количество вставляемых строк:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Sub Primer1()

Dim n As Long, k As Long, s As String

‘Номер строки, над которой необходимо вставить строки

n = 8

‘Количесто вставляемых строк

k = 4

‘Указываем адрес диапазона строк

s = n & «:» & (n + k 1)

‘Вставляем строки

Rows(s).Insert

End Sub

‘или то же самое с помощью цикла

Sub Primer2()

Dim n As Long, k As Long, i As Long

n = 8

k = 4

    For i = 1 To k

        Rows(n).Insert

    Next

End Sub


Перемещение второй строки на место шестой строки:

Rows(2).Cut

Rows(6).Insert

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


Перемещение шестой строки на место второй строки:

Rows(6).Cut

Rows(2).Insert

В этом случае шестая строка окажется на месте второй строки.

Вставка и перемещение столбцов

Вставка одного столбца на место четвертого столбца со сдвигом исходного столбца вправо:


Вставка трех столбцов на место четвертого-шестого столбцов со сдвигом исходных столбцов вправо:


Перемещение третьего столбца на место седьмого столбца:

Columns(3).Cut

Columns(7).Insert

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


Перемещение седьмого столбца на место третьего столбца:

Columns(7).Cut

Columns(3).Insert

В этом случае седьмой столбец окажется на месте третьего столбца.


Home / VBA / VBA Insert Column (Single and Multiple)

In this tutorial, we will look at how to insert a column using a VBA code in Excel. We will also explore what are the different ways to write a macro for this.

To insert a column using a VBA code, you need to use the “Entire Column” property with the “Insert” method. With the entire column property, you can refer to the entire column using a cell and then insert a new column. By default, it will insert a column before the cell that you have mentioned.

  1. First, specify a cell using the range object.
  2. Now, enter a dot (.) to get the list of properties and methods.
  3. After that, select the “Entire Column” property or type it.
  4. In the end, again enter a dot (.) and select the “Insert” method or type it.
Range("A1").EntireColumn.Insert

Your code is ready here to insert a column. Now when you run this code, it will instantly insert a new column before the column A.

Insert Multiple Columns

There are two ways to insert multiple columns in a worksheet that I have found. The first is the same insert method that we have used in the above example. With this, you need to specify a range of columns whose count is equal to the count of the column you want to insert.

Now let’s say you want to insert 5 columns after column C in the case you can use a code like the following.

Range("C:G").EntireColumn.Insert

To be honest, I haven’t found this method quite useful because you need to change the range if you want to change the code itself. So, here’s the second method.

'variables to use in the code
Dim iCol As Long
Dim iCount As Long
Dim i As Long

'to get the number of columns that you want to insert with an input box
iCount = InputBox(Prompt:="How many column you want to add?")

'to get the column number where you want to insert the new column
iCol = InputBox _
(Prompt:= _
"After which column you want to add new column? (Enter the column number)")

'loop to insert new column(s)
For i = 1 To iCount
    Columns(iCol).EntireColumn.Insert
Next i

When you run this code, it asks you to enter the number of columns that you want to add and then the column number where you want to add all those new columns. It uses a FOR LOOP (For Next) to enter the number of columns that you have mentioned.

Insert Columns Based on the Cell Values

If you want to insert columns based on a cell value, then you can use the following code.

Dim iCol As Long
Dim iCount As Long
Dim i As Long

iCount = Range("A1").Value
iCol = Range("B1").Value

For i = 1 To iCount
    Columns(iCol).EntireColumn.Insert
Next i

When you run this macro, it takes count of columns from the cell A1 and the column where you want to add columns from the cell B1.

Insert a Column without Formatting

When you insert a column where the above column has some specific formatting, in that case, the column will also have that formatting automatically. And the simplest way to deal with this thing is to use clear formats. Consider the following code.

Columns(7).EntireColumn.Insert
Columns(7).ClearFormats

When you run the above code, it inserts a new column before the 7th column. Now, what happens, when you insert a column before the 7th column that new column becomes the 7th column, and then the second line of code clear the formats from it.

Insert Copied Column

You can also use the same method to copy a column and then insert it somewhere else. See the following code.

Application.CutCopyMode = False

With Worksheets("Data")
.Columns(5).Copy
.Columns(9).Insert Shift:=xlShiftDown
End With

Application.CutCopyMode = True

More Tutorials

    • Count Rows using VBA in Excel
    • Excel VBA Font (Color, Size, Type, and Bold)
    • Excel VBA Hide and Unhide a Column or a Row
    • Excel VBA Range – Working with Range and Cells in VBA
    • Apply Borders on a Cell using VBA in Excel
    • Find Last Row, Column, and Cell using VBA in Excel
    • Insert a Row using VBA in Excel
    • Merge Cells in Excel using a VBA Code
    • Select a Range/Cell using VBA in Excel
    • SELECT ALL the Cells in a Worksheet using a VBA Code
    • ActiveCell in VBA in Excel
    • Special Cells Method in VBA in Excel
    • UsedRange Property in VBA in Excel
    • VBA AutoFit (Rows, Column, or the Entire Worksheet)
    • VBA ClearContents (from a Cell, Range, or Entire Worksheet)
    • VBA Copy Range to Another Sheet + Workbook
    • VBA Enter Value in a Cell (Set, Get and Change)
    • VBA Named Range | (Static + from Selection + Dynamic)
    • VBA Range Offset
    • VBA Sort Range | (Descending, Multiple Columns, Sort Orientation
    • VBA Wrap Text (Cell, Range, and Entire Worksheet)
    • VBA Check IF a Cell is Empty + Multiple Cells

    ⇠ Back to What is VBA in Excel

    Helpful Links – Developer Tab – Visual Basic Editor – Run a Macro – Personal Macro Workbook – Excel Macro Recorder – VBA Interview Questions – VBA Codes

    I know the thread is old, but I must point out that the most upvoted answer here is risky and can get you in a serious trouble. I don’t know if it depends Excel version — I use Excel’16.

    Let’s consider table containing columns: col A, col B and col C.

    before macro

    We use «The Dudes» one-liner code and want to name our new column «Col B». It already exists but check what happens:

    Sub theDude()
    
      Dim Table As ListObject
      Set Table = ActiveSheet.ListObjects(1)
      
      With Table
      
        ' adding column on the second place
        ' and trying to force its header to "Col B"
        .ListColumns.Add(2).Name = "Col B"
        
        'fill "Col B" with value
        .ListColumns("Col B").DataBodyRange = "test"
        
      End With
      
    End Sub
    

    And what we get? In result we have 4 columns:

    • Col A
    • New inserted Column1 or another DEFAULT NAME of Table’s column (1)
    • Col B — the «old» B column filled with «test» string
    • Col C

    after macro

    (1) it depends on yours language version- mine is called Kolumna1 and it’s given by Excel automatically

    The worst thing is our data in Col B is lost after macro run. So I would suggest instead one-liner (methods chaining) use @stenci’s step by step solution, or even better add some error handling e.g.:

    Sub AddingColumn()
    
      Dim Table As ListObject
      ' ActiveSheet just for test
      Set Table = ActiveSheet.ListObjects(1)   
      
      Dim newColName As Variant     ' or string / long
          newColName = "Col B"
          
      If headerExists(newColName, Table) Then
     
        Dim tit As String:  tit = "Error"
        Dim txt As String
            txt = "Header " & newColName & " already exists. Macro will be interrupted"
    
            MsgBox txt, vbOKOnly, tit
            Exit Sub
        
      Else
        
        ' main code goes here *********************
        With Table
          ' adding column on the second place
          ' and trying to force its header to "Col B"
            .ListColumns.Add(2).Name = newColName
          'fill "Col B" with value
            .ListColumns("Col B").DataBodyRange = "test"
        End With
        
      End If
      
    End Sub
    
    Function headerExists(ByVal findHeader As String, ByVal tbl As ListObject) As Boolean
        
        Dim pos As Variant     ' position
            pos = Application.Match(findHeader, tbl.HeaderRowRange, 0)
            
            headerExists = Not IsError(pos)
    
    End Function
    

    • Excel VBA Вставить столбец

    Excel VBA Вставить столбец

    В Excel, если мы хотим вставить столбец, есть несколько способов сделать это. Мы можем щелкнуть вправо и выбрать «Вставить столбец» в раскрывающемся списке меню или одновременно использовать клавиши Ctrl + Shift + Plus (+). Но что если мы автоматизируем этот процесс, создав макрос через VBA? Это очень полезно, когда мы работаем над созданием макроса с огромной структурой кодирования или добавлением столбца или нескольких столбцов, что также является задачей для выполнения. В VBA есть весь столбец, а функция Вставка используется для вставки нового столбца.

    Как вставить столбец в Excel VBA?

    Мы научимся вставлять столбец в Excel с использованием кода VBA на нескольких примерах.

    Вы можете скачать этот шаблон Excel для вставки столбцов VBA здесь — Шаблон Excel для вставки столбцов VBA

    Пример № 1 — VBA Вставить столбец

    У нас есть таблица из 2 столбцов и 11 строк, как показано ниже. Теперь мы будем автоматизировать процесс вставки столбцов разными способами.

    Для этого выполните следующие шаги:

    Шаг 1: Сначала вставьте новый модуль в VBA из пункта меню «Вставка», как показано ниже.

    Шаг 2: Теперь запустите подкатегорию в названии выполняемой функции, например VBA Insert Column, или в любое другое имя, как показано ниже.

    Код:

     Sub VBAColumn1 () End Sub 

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

    Код:

     Sub VBAColumn1 () Диапазон ("B: B"). Вставить конец Sub 

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

    Код:

     Sub VBAColumn1 () Range ("B: B"). Вставить диапазон ("B4") End Sub 

    Шаг 5 : Как обсуждалось в объяснении, мы будем использовать весь столбец с функцией Вставка, как показано ниже. Это позволит вставить столбец.

    Код:

     Sub VBAColumn1 () Range ("B: B"). Вставить диапазон ("B4"). CompleteColumn.Insert End Sub 

    Шаг 6: Теперь скомпилируйте код, нажав функциональную клавишу F8, а затем нажмите кнопку Play, чтобы запустить полный код, который находится под строкой меню, как показано ниже. Мы заметим, что между column1 и column2 будут вставлены два новых пустых столбца, как показано ниже.

    Пример № 2 — VBA Вставить столбец

    Есть еще один способ вставки столбца. Этот метод включает в себя комбинацию различных команд.

    Шаг 1: Вставьте новый модуль из меню «Вставка».

    Шаг 2: И напишите подкатегорию в названии функции «Выполнено», как показано ниже, или в любом другом имени.

    Код:

     Sub VBAColumn2 () End Sub 

    Шаг 3: С помощью размерной переменной DIM с любым алфавитом или именем определите его как Range let ‘скажем Column, как показано ниже.

    Код:

     Sub VBAColumn2 () Dim Column As Sub End Sub 

    Шаг 4: Теперь следуя за Range, используйте функцию Set с столбцом определенного размера, как показано ниже, за которым следует знак равенства («=»).

    Код:

     Sub VBAColumn2 () Dim Column As Range: Установить столбец = Конец Sub 

    Шаг 5: Теперь используйте функцию Application, встроенную в VBA с определенным диапазоном полного столбца B.

    Код:

     Sub VBAColumn2 () Dim Column As Range: Установить столбец = Application.Range ("B: B") End Sub 

    Шаг 6: Теперь используйте переменную Column с функцией Insert, как показано ниже.

    Код:

     Sub VBAColumn2 () Dim Column As Range: Установить Column = Application.Range ("B: B") Column.Insert End Sub 

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

    Код:

     Sub VBAColumn2 () Dim Column As Диапазон: Установить Column = Application.Range ("B: B") Column.Insert Shift: = xlShiftToRight, End Sub 

    Шаг 8: Наконец, выберите исходный формат ссылки справа или снизу для столбца или строки в зависимости от типа вставки.

    Код:

     Sub VBAColumn2 () Dim Column As Диапазон: Установите Column = Application.Range ("B: B") Column.Insert Shift: = xlShiftToRight, CopyOrigin: = xlFormatFromRightOrBelow End Sub 

    Шаг 9: Теперь все готово. Мы можем скомпилировать код и запустить его. Мы увидим новый столбец между Colum1 и Column2, который будет добавлен, как показано ниже.

    Пример № 3 — VBA Вставить столбец

    Этот пример — еще один самый простой способ вставить столбец в VBA.

    Шаг 1: Вставьте новый модуль

    Шаг 2: Добавьте подкатегорию в название столбца вставки VBA, как показано ниже.

    Код:

     Sub VBAColumn3 () End Sub 

    Шаг 3: Сначала выберите ссылку на столбец или ячейку, куда мы хотим добавить столбец, с помощью Select, как показано ниже.

    Код:

     Sub VBAColumn3 () Столбцы ("B: B"). Выберите End Sub 

    Шаг 4: Во второй строке используйте команду «Выделение» вместе с функцией «Вставка», как показано ниже.

    Код:

     Sub VBAColumn3 () Столбцы ("B: B"). Выберите Selection.Insert End Sub 

    Шаг 5: Наконец, выберите позицию, в которую мы хотим сместить вставленный новый столбец, вправо или влево с помощью функции Shift. Выбор размещения нового столбца полностью зависит от индивидуальных требований.

    Код:

     Sub VBAColumn3 () Столбцы ("B: B"). Выберите Selection.Insert Shift: = xlToRight End Sub 

    Шаг 6: Это завершает наш код. Теперь мы можем скомпилировать код, чтобы найти, есть ли какая-либо ошибка. Если ошибки не найдены, запустите код. Мы увидим, что новый столбец будет добавлен между столбцами 1 и 2, как показано ниже.

    Пример № 4 — VBA Вставить столбец

    В этом примере мы узнаем, как добавлять новые столбцы после каждого уже стоящего столбца.

    Шаг 1: Теперь вставьте модуль из меню вставки.

    Шаг 2: После этого добавьте подкатегорию в название VBA Insert Column с последовательностью чисел.

    Код:

     Sub VBAColumn4 () End Sub 

    Шаг 3: Теперь используйте DIM для определения переменной с любым именем. Мы использовали столбец как целое число (в случае использования чисел)

    Код:

     Sub VBAColumn4 () Dim Column As Integer End Sub 

    Шаг 4: К столбцу после каждого стоящего заполненного столбца мы выберем и используем столбец (2), чтобы добавить новый столбец, как показано ниже.

    Код:

     Sub VBAColumn4 () Тусклый столбец в виде целочисленных столбцов (2). Выберите End Sub 

    Шаг 5: Откройте цикл For-Next, где мы напишем условия для вставки столбца друг за другом, как показано.

    Код:

     Sub VBAColumn4 () Тусклый столбец в виде целочисленных столбцов (2). Выберите для следующего конца Sub 

    Шаг 6: Поскольку в наших образцах данных есть только 2 столбца, мы можем добавить только новый столбец из этих столбцов. Таким образом, мы используем диапазон от 0 до 2 столбцов последовательности.

    Код:

     Sub VBAColumn4 () Тусклый столбец в виде целочисленных столбцов (2). Выберите для столбца = от 0 до 2 Next End Sub 

    Шаг 7: С помощью функции ActiveCell используйте FullColumn для вставки, как показано ниже.

    Код:

     Sub VBAColumn4 () Темный столбец в виде целочисленных столбцов (2). Выбрать для столбца = от 0 до 2 ActiveCell.EntireColumn.Insert Next End Sub 

    Шаг 8: С помощью функции ActiveCell используйте Offset, чтобы разместить вновь добавленный столбец. Мы используем 0 и 2- ю позицию.

    Код:

     Sub VBAColumn4 () Затемнять столбец в виде целочисленных столбцов (2). Выбрать для столбца = от 0 до 2 ActiveCell.EntireColumn.Insert ActiveCell.Offset (0, 2). Выбрать следующий конец Sub 

    Шаг 9: Теперь скомпилируйте код и запустите его, если ошибки не найдены. Мы увидим, что после column1 и column2 добавляются новые столбцы.

    Плюсы Excel VBA Вставить столбец

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

    То, что нужно запомнить

    • Если вы используете пример 4, не забудьте выбрать диапазон столбцов, пока таблица не будет применима.
    • Сохранение файла в макросе enable excel, сохранение кода.
    • Вставьте только применимые и обязательные столбцы, чтобы избежать добавления ненужных столбцов.

    Рекомендуемые статьи

    Это руководство по вставке столбца VBA. Здесь мы обсуждаем, как вставить столбец в Excel с использованием кода VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

    1. VBA VLOOKUP Функция
    2. Функция DCOUNT в Excel
    3. VBA Copy Paste
    4. Функция COMBIN в Excel

    Ivan_taranov

    0 / 0 / 0

    Регистрация: 04.10.2011

    Сообщений: 3

    1

    Как через макрос добавить столбец?

    04.10.2011, 05:27. Показов 42672. Ответов 15

    Метки нет (Все метки)


    Студворк — интернет-сервис помощи студентам

    Как через макрос добавить столбец?
    В объемной таблице я ищу нужный столбец.

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    
    If DialogSheets('d1').Show = No Then GoTo M10
    Worksheets('1').Activate
     Range('A2:BA2').Select
        Selection.Find(What:=Sheets('sup').Cells(Sheets('sup').Cells(2, 2).Value, 3).Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False).Select
    Sheets('sup').Cells(7, 2).Value = Selection.Column

    И после того, как узнал номер никак не могу его выделить.
    Подскажите пожалуйста, как лучше это сделать.



    0



    Masalov

    22 / 5 / 1

    Регистрация: 05.09.2010

    Сообщений: 370

    04.10.2011, 06:49

    2

    вставить 5-й столбик

    Visual Basic
    1
    
    Sheets('sup').Columns(5).Insert Shift:=xlToRight

    выделить 5-й столбик

    Visual Basic
    1
    
    Columns(5).Select

    (для активного листа)

    посмотрите тему: http://relib.com/forums/topic.asp?id=876276
    в ней alex_gearbox приводит пример.



    0



    Ivan_taranov

    0 / 0 / 0

    Регистрация: 04.10.2011

    Сообщений: 3

    06.10.2011, 11:01

     [ТС]

    3

    Спасибо большое за ответ, но с одной стороны все просто, а если я подставляю

    Visual Basic
    1
    
    Columns(Sheets('sup').Cells(88, 2).Value).Select

    То выделяется вся таблица.
    Попробовал по другому

    Visual Basic
    1
    2
    
    a = Sheets('sup').Cells(88, 2).Value
    Columns(a).Select

    Результат тот же.



    0



    Masalov

    22 / 5 / 1

    Регистрация: 05.09.2010

    Сообщений: 370

    06.10.2011, 11:24

    4

    А что в Sheets(‘sup’).Cells(88, 2)?

    Зачем Вы используете так часто Select?
    Это зачем-то надо или Вы подражаете макрорекордеру?

    Например запись

    Visual Basic
    1
    2
    
    Range('A2:BA2').Select
    Selection.Find(What:=...

    Лучше заменить на

    Visual Basic
    1
    
    Range('A2:BA2').Find(What:=...

    В этом случае Select не нужен, код читаемее…



    0



    0 / 0 / 0

    Регистрация: 04.10.2011

    Сообщений: 3

    08.10.2011, 12:08

     [ТС]

    5

    Просто я еще мало знаю о значениях и для написания функции поиск использовал примитивное решение. Включил начать макрос и нажал Ctrl+F и напримере этого уже стал писать макрос. Т.е. если правильно понимаю, что Select и Selection можно опускать?



    0



    Сумрак

    08.10.2011, 16:30

    6

    Нет, Selection — это обьект указывающий на выделенный обьект Range/
    В Excel все постороено на Range. Ячейка(Cell) Тоже Range. Вобщем все Range :-))). Макрорекордер использует этот обьект только для исключения ошибок. Но лучше использовать явное обьявление обьектов. Если работаете с Листом то
    Dim WS as WorkSheet
    set WS = Aktivesheet

    set WS= nothing — лучше в конце процедуры явно обнулять переменную(очищать)
    все… не зависимо какой лист активный… вы занаете что обратившись к WS вы всегда получите нужный лист.

    Сумрак

    08.10.2011, 16:32

    7

    хех.. не совсем понятно отвветил…
    Select — метод. Selection — обьект. Его нужно не отпускать а ЗАМЕНЯТЬ на явный обьект.

    0 / 0 / 0

    Регистрация: 13.09.2019

    Сообщений: 4

    13.09.2019, 09:33

    8

    Подскажите, необходимо вставить следующий макрос…

    Если значение ячейки больше 2, то добавляются столбцы, количество добавляемых равно значение ячейки — 2, и добавиться они должны между определёнными столбцами.
    Спасибо!



    0



    3827 / 2254 / 751

    Регистрация: 02.11.2012

    Сообщений: 5,930

    13.09.2019, 09:46

    9

    файл пример приложите с более подробным описанием согласно файла.



    0



    0 / 0 / 0

    Регистрация: 13.09.2019

    Сообщений: 4

    13.09.2019, 10:10

    10

    Вообще это для екселя макрос…
    Необходимо произвести расчёты по формулам, среди которых есть максимум и минимум от вводимых данных.
    Первоначально будет два столбца, но пользователь вводит количество участников(N) и , соответственно, если их больше 2-х, то, количество столбцов должно увеличится на n-2. И ячейки в которых были вбиты формулы тоже должны заполнить я формулами., а т. К. Есть мин и максимум среди диапазона, то столбцы должны вставляться между уже имеющимися.



    0



    0 / 0 / 0

    Регистрация: 13.09.2019

    Сообщений: 4

    13.09.2019, 10:14

    11

    Вот картинка

    Миниатюры

    Как через макрос добавить столбец?
     



    0



    6875 / 2807 / 533

    Регистрация: 19.10.2012

    Сообщений: 8,562

    13.09.2019, 10:32

    12

    Возьмите свою картинку, и забейте с неё все данные в новый чистый файл Экселя. И файл прикрепите сюда к посту. Это ведь не сложно, правда?



    0



    es geht mir gut

    11264 / 4746 / 1183

    Регистрация: 27.07.2011

    Сообщений: 11,437

    13.09.2019, 10:57

    13

    Цитата
    Сообщение от Hugo121
    Посмотреть сообщение

    Возьмите свою картинку, и забейте с неё все данные в новый чистый файл Экселя. И файл прикрепите сюда к посту. Это ведь не сложно, правда?

    Включу экстрасенса. На компьютере нет интернета, или запрещено использовать?



    0



    6875 / 2807 / 533

    Регистрация: 19.10.2012

    Сообщений: 8,562

    13.09.2019, 10:59

    14

    Так без проблем, думаю форум подождёт пока подвезут компьютер с интернетом….



    0



    es geht mir gut

    11264 / 4746 / 1183

    Регистрация: 27.07.2011

    Сообщений: 11,437

    13.09.2019, 11:05

    15

    ИМХО, нужно таблицу развернуть. Каждый новый участник будет добавляться на новую строку, тогда не нужно вставлять столбцы.



    0



    0 / 0 / 0

    Регистрация: 13.09.2019

    Сообщений: 4

    13.09.2019, 11:55

    16

    Сам файл, спасибо, понравился вариант с идеей развернуть таблицу!



    0



    Понравилась статья? Поделить с друзьями:
  • Добавить столбец в графике excel
  • Добавить стоимость в excel
  • Добавить статистику в excel
  • Добавить ссылку на файл в word
  • Добавить ссылку в таблицу word