Excel - Редактировать Выберите столбцы по общему значению - PullRequest
0 голосов
/ 03 марта 2012

У меня есть набор значений, например:

5   5   5   5   5   5
9   7   7   6   6   55
5   4   4   7   5   30
10  8   7   6   9   60
9   9   9   9   9   80
20  20  20  20  20  20

Допустим, я хочу отредактировать все значения на -1 или +1, как бы я это сделал?Я новичок в этом, и любая помощь будет принята с благодарностью!Спасибо.

Excel 2007.

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Самый быстрый способ сделать это либо в обычном Excel, либо с VBA - это использовать Paste Special возможность Excel

Ручной метод

  • В пустомв ячейку введите -1 (или 1 для второго случая)
  • Скопируйте эту ячейку
  • , выделите ваш набор значений
  • Редактировать .... Вставить специальный ....Добавьте, чтобы добавить это значение ко всем ячейкам

Здесь приведен пример умножения этого метода из Mr Excel

Метод VBA

Код от Зак Баррессе , измененный для xl07 / 10, который использует пустую ячейку в столбце A для добавления

Option Explicit
Sub psAdd()

Dim y As Integer    'The multiplier value, user-defined
Dim x As Range    'Just a blank cell for variable
Dim z As Range    'Selection to work with
Set z = Selection
y = Application.InputBox("Enter amount to add to selection:", _
                         Title:="Add to selection", Default:=10, Type:=1)
Set x = Cells(Rows.Count, "A").End(xlUp).Offset(1)
If y = 0 Then Exit Sub    'Cancel button will = 0, hence cancel
If x <> "" Then
    Exit Sub
Else: x.Value = y
    x.Copy
    z.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
    Application.CutCopyMode = False    'Kill copy mode
End If
x.ClearContents    'Back to normal : )
End Sub
0 голосов
/ 03 марта 2012

Перво-наперво, чтобы открыть редактор VBA, попробуйте Alt + F11 .

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

Краткое объяснение:

  1. объявить некоторые переменные,
  2. использовать два цикла for для итерации по небольшому диапазону ячеек,
  3. увеличьте значение каждой ячейки на 1.

После того, как вы написали свой собственный код, вы сможете запустить его, нажав F5 .

option explicit

sub increment_cell_values()
    dim r as long
    dim c as long
    dim ws as worksheet

    set ws = activesheet
        for r = 1 to 6
            for c = 1 to 6
                ws.cells(r,c).value = ws.cells(r,c).value + 1
            next c
        next r
    next ws
end sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...