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

Автор Аиша, 12.04.2012, 15:42

« назад - далее »

Аиша

Добрый день!
Помогите пожалуйста дописать макрос так, что бы он запускался автоматически при вводе значений в ячейки 10 и 13 столбцов

Private Sub Auto_close()
ColumnIndex = 10
For i = 2 To 50 Step 1
    If Sheets(1).Cells(i, ColumnIndex).Value <> 0 Then
        Worksheets(1).Cells(i, ColumnIndex - 1) = Application.UserName
ColumnIndex = 13
    End If
    If Sheets(1).Cells(i, ColumnIndex).Value <> 0 Then
        Worksheets(1).Cells(i, ColumnIndex - 1) = Application.UserName
    End If
Next i
End Sub

_Boroda_

В модуль листа
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Or Target.Column = 13 Then
ColumnIndex = 10
For i = 2 To 50 Step 1
    If Sheets(1).Cells(i, ColumnIndex).Value <> 0 Then
        Worksheets(1).Cells(i, ColumnIndex - 1) = Application.UserName
ColumnIndex = 13
    End If
    If Sheets(1).Cells(i, ColumnIndex).Value <> 0 Then
        Worksheets(1).Cells(i, ColumnIndex - 1) = Application.UserName
    End If
Next i
End If
End Sub

Вы точно уверены, что Вам нужен макрос именно в таком виде, как он у Вас написан?
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Аиша

Цитата: _Boroda_ от 12.04.2012, 17:10
Вы точно уверены, что Вам нужен макрос именно в таком виде, как он у Вас написан?

нет))) я чайник, мне просто надо при вводе данных в ячейки столбца J проставить имя пользователя в соответствующих ячейках столбца I, и дату со временем в H.
а при при вводе данных в ячейки столбца M проставить имя пользователя в соответствующих ячейках столбца L, и дату со временем в K.

_Boroda_

Посмотрите на свою таблицу и еще разок напишите, что куда поставить нужно при вводе данных опять же куда. Короче - Вы столбцы перепутали в объяснялке.

Так нужно, чтобы было?
"мне просто надо при вводе данных в ячейки столбца K проставить имя пользователя в соответствующих ячейках столбца J, и дату со временем в I.
а при при вводе данных в ячейки столбца O проставить имя пользователя в соответствующих ячейках столбца N, и дату со временем в M."

Вроде так нужно:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 11 Or Target.Column = 15 Then
        Target.Offset(, -1) = Application.UserName
        Target.Offset(, -2) = Now
    End If
End Sub
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Аиша

Цитата: _Boroda_ от 13.04.2012, 09:56
Короче - Вы столбцы перепутали в объяснялке.
Столбцы перепутала, но вчера, в предложенном макросе поправила
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 Or Target.Column = 15 Then
ColumnIndex = 11
For i = 2 To 50 Step 1
   If Sheets(1).Cells(i, ColumnIndex).Value <> 0 Then
       Worksheets(1).Cells(i, ColumnIndex - 1) = Application.UserName
ColumnIndex = 15
   End If
   If Sheets(1).Cells(i, ColumnIndex).Value <> 0 Then
       Worksheets(1).Cells(i, ColumnIndex - 1) = Application.UserName
   End If
Next i
End Sub


но что то не работает... что я не так делаю?

_Boroda_

См. мое предыдущее сообщение. Я его на 42 секунды раньше Вашего дополнил и файл вложил
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Аиша

Цитата: _Boroda_ от 13.04.2012, 10:08
См. мое предыдущее сообщение. Я его на 42 секунды раньше Вашего дополнил и файл вложил

Здорово!!!!!!
спасибо!!

все таки я дундук  ::)

_Boroda_

Цитата: Аиша от 13.04.2012, 11:28все таки я дундук
Ну зачем же так сразу. Было бы желание - а знания появятся.
Кстати:
ЦитироватьДундук — река в России, протекает в Башкортостане. Устье реки находится в 27 км по правому берегу реки Малый Удряк. Длина реки составляет 10 км.
По данным государственного водного реестра России относится к Камскому бассейновому округу, водохозяйственный участок реки — Дёма от истока до водомерного поста у деревни Бочкарёва, речной подбассейн реки — Белая. Речной бассейн реки — Кама.
    Код водного объекта в государственном водном реестре — 10010201312111100024922
    Код по гидрологической изученности (ГИ) — 111102492
    Код бассейна — 10.01.02.013
    Номер тома по ГИ — 11
    Выпуск по ГИ — 1
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Аиша

Цитата: _Boroda_ от 13.04.2012, 11:39
Цитата: Аиша от 13.04.2012, 11:28все таки я дундук
Ну зачем же так сразу. Было бы желание - а знания появятся.
Кстати:
ЦитироватьДундук — река в России, протекает в Башкортостане. Устье реки находится в 27 км по правому берегу реки Малый Удряк. Длина реки составляет 10 км.
По данным государственного водного реестра России относится к Камскому бассейновому округу, водохозяйственный участок реки — Дёма от истока до водомерного поста у деревни Бочкарёва, речной подбассейн реки — Белая. Речной бассейн реки — Кама.
    Код водного объекта в государственном водном реестре — 10010201312111100024922
    Код по гидрологической изученности (ГИ) — 111102492
    Код бассейна — 10.01.02.013
    Номер тома по ГИ — 11
    Выпуск по ГИ — 1
пппц,  все работало, а теперь выдает ошибку: run-time error '1004' application defined or object defined error и посылает к строке         Target.Offset(, -1) = Application.UserName
:'(

_Boroda_

Кладите этого гада сюда.
И опишите, что делали перед руганью
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Аиша

Цитата: _Boroda_ от 13.04.2012, 12:35
Кладите этого гада сюда.
И опишите, что делали перед руганью

Разобралась! нужно было ячейки сделать незащищенными,
Спасибо Вам  :D