Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скриптик копирования с листа на лист, поправьте по чутка - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скриптик копирования с листа на лист, поправьте по чутка (Макросы/Sub)
Скриптик копирования с листа на лист, поправьте по чутка
sver4ook Дата: Четверг, 14.08.2014, 01:15 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день уважаемой публике.
Помогите допилить код так чтобы он вставлял только значения а не ссылки на них, на сочинение нижеописанного потратил кучу времени, но вроде бы как копирует но только ссылки, наставте на путь истинный, ОТЦЫ..........
Заранее спасибо

[vba]
Код
Private Sub CommandButton1_Click()
Dim i As Long
Range("f9") = Now
'Worksheets("опыт").Range("A1:i47").PrintOut
i = 1 + ThisWorkbook.Worksheets("история").Cells.SpecialCells(xlCellTypeLastCell).Row
MsgBox i
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'ThisWorkbook.Sheets("опыт").Range("b3").Copy ThisWorkbook.Worksheets("история").Cells(ThisWorkbook.Worksheets("история").Cells.SpecialCells(xlCellTypeLastCell).Row, 1) ' попытался, но не взлетело

Sheets("опыт").Range("b3").Copy Sheets("история").Cells(i, 1)
Sheets("опыт").Range("c4").Copy Sheets("история").Cells(i, 2)
Sheets("опыт").Range("d4").Copy Sheets("история").Cells(i, 3)
Sheets("опыт").Range("c8").Copy Sheets("история").Cells(i, 4)
Sheets("опыт").Range("c9").Copy Sheets("история").Cells(i, 5)
Sheets("опыт").Range("c10").Copy Sheets("история").Cells(i, 6)

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
[/vba]
 
Ответить
СообщениеДобрый день уважаемой публике.
Помогите допилить код так чтобы он вставлял только значения а не ссылки на них, на сочинение нижеописанного потратил кучу времени, но вроде бы как копирует но только ссылки, наставте на путь истинный, ОТЦЫ..........
Заранее спасибо

[vba]
Код
Private Sub CommandButton1_Click()
Dim i As Long
Range("f9") = Now
'Worksheets("опыт").Range("A1:i47").PrintOut
i = 1 + ThisWorkbook.Worksheets("история").Cells.SpecialCells(xlCellTypeLastCell).Row
MsgBox i
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'ThisWorkbook.Sheets("опыт").Range("b3").Copy ThisWorkbook.Worksheets("история").Cells(ThisWorkbook.Worksheets("история").Cells.SpecialCells(xlCellTypeLastCell).Row, 1) ' попытался, но не взлетело

Sheets("опыт").Range("b3").Copy Sheets("история").Cells(i, 1)
Sheets("опыт").Range("c4").Copy Sheets("история").Cells(i, 2)
Sheets("опыт").Range("d4").Copy Sheets("история").Cells(i, 3)
Sheets("опыт").Range("c8").Copy Sheets("история").Cells(i, 4)
Sheets("опыт").Range("c9").Copy Sheets("история").Cells(i, 5)
Sheets("опыт").Range("c10").Copy Sheets("история").Cells(i, 6)

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
[/vba]

Автор - sver4ook
Дата добавления - 14.08.2014 в 01:15
_Boroda_ Дата: Четверг, 14.08.2014, 01:26 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вообще-то, неплохо было бы файлик (согласно Правилам форума).
А так если, то строку [vba]
Код
Sheets("опыт").Range("b3").Copy Sheets("история").Cells(i, 1)
[/vba] перепишите [vba]
Код
Sheets("история").Cells(i, 1)=Sheets("опыт").Range("b3").Value
[/vba] и дальше по аналогии

Добавлено.
Опечатался. Исправил: было Velue, стало Value


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВообще-то, неплохо было бы файлик (согласно Правилам форума).
А так если, то строку [vba]
Код
Sheets("опыт").Range("b3").Copy Sheets("история").Cells(i, 1)
[/vba] перепишите [vba]
Код
Sheets("история").Cells(i, 1)=Sheets("опыт").Range("b3").Value
[/vba] и дальше по аналогии

Добавлено.
Опечатался. Исправил: было Velue, стало Value

Автор - _Boroda_
Дата добавления - 14.08.2014 в 01:26
wild_pig Дата: Четверг, 14.08.2014, 01:40 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Вместо copy пишите ячейка1 = ячейка2, а по-хорошему показали бы файл-пример. А хотелось чего, определённые ячейки заносить на лист "История" с накоплением?
[vba]
Код
Sub uuu()
      Dim i As Long
      Range("f9") = Now 'это я не понял на какой лист нужно
      'по-идее это время добавления записи значит в историю
      With Sheets("История")
          i = .Cells(Rows.Count, 1).End(xlUp).Row + 1
          .Cells(i, 1) = Sheets("Опыт").Cells(3, 2)
          .Cells(i, 2) = Sheets("Опыт").Cells(4, 3)
          .Cells(i, 3) = Sheets("Опыт").Cells(4, 4)
          .Cells(i, 4) = Sheets("Опыт").Cells(8, 3)
          .Cells(i, 5) = Sheets("Опыт").Cells(9, 3)
          .Cells(i, 6) = Sheets("Опыт").Cells(10, 3)
      End With
End Sub
[/vba]
Не один я не сплю )


Сообщение отредактировал wild_pig - Четверг, 14.08.2014, 01:41
 
Ответить
СообщениеВместо copy пишите ячейка1 = ячейка2, а по-хорошему показали бы файл-пример. А хотелось чего, определённые ячейки заносить на лист "История" с накоплением?
[vba]
Код
Sub uuu()
      Dim i As Long
      Range("f9") = Now 'это я не понял на какой лист нужно
      'по-идее это время добавления записи значит в историю
      With Sheets("История")
          i = .Cells(Rows.Count, 1).End(xlUp).Row + 1
          .Cells(i, 1) = Sheets("Опыт").Cells(3, 2)
          .Cells(i, 2) = Sheets("Опыт").Cells(4, 3)
          .Cells(i, 3) = Sheets("Опыт").Cells(4, 4)
          .Cells(i, 4) = Sheets("Опыт").Cells(8, 3)
          .Cells(i, 5) = Sheets("Опыт").Cells(9, 3)
          .Cells(i, 6) = Sheets("Опыт").Cells(10, 3)
      End With
End Sub
[/vba]
Не один я не сплю )

Автор - wild_pig
Дата добавления - 14.08.2014 в 01:40
sver4ook Дата: Четверг, 14.08.2014, 01:44 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
_Boroda_,
Спасибо за скорый ответ
правда он ошибку пишет
Файлик это база на 40 метров вычищать муторно,

А можно еще вопросик, вот у меня есть переменная i , так вот она всегда увеличивается за счет поиска последней заполненной ячейки, но когда я очищаю историю, она не стартует с 1 а продолжает дальше 23,24,25 и т.д че за херня, может знаете?

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

Не влез файлик собака дикая
Удалено. Нарушение Правил форума вот


Сообщение отредактировал sver4ook - Четверг, 14.08.2014, 01:59
 
Ответить
Сообщение_Boroda_,
Спасибо за скорый ответ
правда он ошибку пишет
Файлик это база на 40 метров вычищать муторно,

А можно еще вопросик, вот у меня есть переменная i , так вот она всегда увеличивается за счет поиска последней заполненной ячейки, но когда я очищаю историю, она не стартует с 1 а продолжает дальше 23,24,25 и т.д че за херня, может знаете?

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

Не влез файлик собака дикая
Удалено. Нарушение Правил форума вот

Автор - sver4ook
Дата добавления - 14.08.2014 в 01:44
sver4ook Дата: Четверг, 14.08.2014, 02:04 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
wild_pig,

Вот спасибо все работает
 
Ответить
Сообщениеwild_pig,

Вот спасибо все работает

Автор - sver4ook
Дата добавления - 14.08.2014 в 02:04
_Boroda_ Дата: Четверг, 14.08.2014, 07:43 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
правда он ошибку пишет

Это потому, что я опечатался. Не Velue, а Value. Да и вообще без него можно.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
правда он ошибку пишет

Это потому, что я опечатался. Не Velue, а Value. Да и вообще без него можно.

Автор - _Boroda_
Дата добавления - 14.08.2014 в 07:43
sver4ook Дата: Пятница, 15.08.2014, 16:37 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
А можно еще вопросик

В моем файле на листе база "база" при любом изменении значения в строке в интервале (c;r) в соответствующей строке в столбце S должна проставлятся сегодняшняя дата. Просто там пишутся некие рецепты и они периодически меняются(обновляются) и вот для того чтобы отследить насколько свежий рецепт и как давно он корректировался нужно это.

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

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
      
     For Each cell In Target   'проходим по всем измененным ячейкам
        If Not Intersect(cell, Range("O7:O10000")) Is Nothing Then  'если измененная ячейка попадает в диапазон O2:O10000
             With cell.Offset(0, -11)         'вводим в нужную ячейку дату
                .Value = Date
             End With
        End If
     Next cell
End Sub
[/vba]

не откажите в помощи
 
Ответить
СообщениеА можно еще вопросик

В моем файле на листе база "база" при любом изменении значения в строке в интервале (c;r) в соответствующей строке в столбце S должна проставлятся сегодняшняя дата. Просто там пишутся некие рецепты и они периодически меняются(обновляются) и вот для того чтобы отследить насколько свежий рецепт и как давно он корректировался нужно это.

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

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
      
     For Each cell In Target   'проходим по всем измененным ячейкам
        If Not Intersect(cell, Range("O7:O10000")) Is Nothing Then  'если измененная ячейка попадает в диапазон O2:O10000
             With cell.Offset(0, -11)         'вводим в нужную ячейку дату
                .Value = Date
             End With
        End If
     Next cell
End Sub
[/vba]

не откажите в помощи

Автор - sver4ook
Дата добавления - 15.08.2014 в 16:37
sver4ook Дата: Пятница, 15.08.2014, 16:52 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Дык он вроде как по столбику пробегает, а мне нужно по строке, и смещение
[vba]
Код

cell.Offset(0, -11)   
[/vba]

он от столбика отсчитывает....
а я могу исправить как в столбце с так и в столбце E, от куда он будет отсчитывать смещение.....
я пробовал его допиливал, или ошибки пишет или не работает....


Сообщение отредактировал sver4ook - Пятница, 15.08.2014, 16:54
 
Ответить
СообщениеДык он вроде как по столбику пробегает, а мне нужно по строке, и смещение
[vba]
Код

cell.Offset(0, -11)   
[/vba]

он от столбика отсчитывает....
а я могу исправить как в столбце с так и в столбце E, от куда он будет отсчитывать смещение.....
я пробовал его допиливал, или ошибки пишет или не работает....

Автор - sver4ook
Дата добавления - 15.08.2014 в 16:52
RAN Дата: Пятница, 15.08.2014, 19:14 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Когда дикую собаку приручите, заходите.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКогда дикую собаку приручите, заходите.

Автор - RAN
Дата добавления - 15.08.2014 в 19:14
sver4ook Дата: Пятница, 15.08.2014, 19:33 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Я тут прикинул Удалено цензурой
А что если я в другом столбце буду подсчитывать сумму строки и отслеживать ее изменение а далее вот этим кодом [vba]
Код

Private Sub Worksheet_Calculate()
Dim target As Range
Dim Cell As Variant

Set target = Range("мой столбец")
For Each Cell In target.Cells
       If Cell.Offset(0, 1).Value = "" Then
           Cell.Offset(, 2) = Format(Now, "hh:nn")
       End If
Next Cell

End Sub
[/vba]

Ща попробую

чет никак не выходит каменный цветок.....
может кто нить поможет, а, плиииииз.........


Сообщение отредактировал sver4ook - Пятница, 15.08.2014, 20:21
 
Ответить
СообщениеЯ тут прикинул Удалено цензурой
А что если я в другом столбце буду подсчитывать сумму строки и отслеживать ее изменение а далее вот этим кодом [vba]
Код

Private Sub Worksheet_Calculate()
Dim target As Range
Dim Cell As Variant

Set target = Range("мой столбец")
For Each Cell In target.Cells
       If Cell.Offset(0, 1).Value = "" Then
           Cell.Offset(, 2) = Format(Now, "hh:nn")
       End If
Next Cell

End Sub
[/vba]

Ща попробую

чет никак не выходит каменный цветок.....
может кто нить поможет, а, плиииииз.........

Автор - sver4ook
Дата добавления - 15.08.2014 в 19:33
wild_pig Дата: Пятница, 15.08.2014, 21:54 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Покажите упрощённый пример, что есть и как надо.
 
Ответить
СообщениеПокажите упрощённый пример, что есть и как надо.

Автор - wild_pig
Дата добавления - 15.08.2014 в 21:54
sver4ook Дата: Пятница, 15.08.2014, 22:09 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
При изменении любой ячейки в строке(диапазон c1;r1) нужно чтобы в ячейку(s1) вставлялось сегодняшняя дата
При изменении любой ячейки в строке(диапазон c2;r2) нужно чтобы в ячейку(s2) вставлялось сегодняшняя дата
При изменении любой ячейки в строке(диапазон c3;r3) нужно чтобы в ячейку(s3) вставлялось сегодняшняя дата
При изменении любой ячейки в строке(диапазон c4;r4) нужно чтобы в ячейку(s4) вставлялось сегодняшняя дата
............................................................................................................................................ ....................
При изменении любой ячейки в строке(диапазон c1000;r1000) нужно чтобы в ячейку(s1000) вставлялось сегодняшняя дата

Вот как мог обяснил, файлик приклеил
К сообщению приложен файл: 5982839.xlsx (9.3 Kb)
 
Ответить
СообщениеПри изменении любой ячейки в строке(диапазон c1;r1) нужно чтобы в ячейку(s1) вставлялось сегодняшняя дата
При изменении любой ячейки в строке(диапазон c2;r2) нужно чтобы в ячейку(s2) вставлялось сегодняшняя дата
При изменении любой ячейки в строке(диапазон c3;r3) нужно чтобы в ячейку(s3) вставлялось сегодняшняя дата
При изменении любой ячейки в строке(диапазон c4;r4) нужно чтобы в ячейку(s4) вставлялось сегодняшняя дата
............................................................................................................................................ ....................
При изменении любой ячейки в строке(диапазон c1000;r1000) нужно чтобы в ячейку(s1000) вставлялось сегодняшняя дата

Вот как мог обяснил, файлик приклеил

Автор - sver4ook
Дата добавления - 15.08.2014 в 22:09
RAN Дата: Пятница, 15.08.2014, 22:53 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Как надоели такие вопросы!
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Intersect(Target, Range("C:R")) Is Nothing Then Exit Sub
     Cells(Target.Row, "S") = Now
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКак надоели такие вопросы!
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Intersect(Target, Range("C:R")) Is Nothing Then Exit Sub
     Cells(Target.Row, "S") = Now
End Sub
[/vba]

Автор - RAN
Дата добавления - 15.08.2014 в 22:53
sver4ook Дата: Пятница, 15.08.2014, 23:56 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Вот спасибо мил человек, всего 3 строчки, действительно кратость сестра таланта
 
Ответить
СообщениеВот спасибо мил человек, всего 3 строчки, действительно кратость сестра таланта

Автор - sver4ook
Дата добавления - 15.08.2014 в 23:56
RAN Дата: Пятница, 15.08.2014, 23:58 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
:D
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:R")) Is Nothing Then Cells(Target.Row, "S") = Now
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 15.08.2014, 23:59
 
Ответить
Сообщение:D
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:R")) Is Nothing Then Cells(Target.Row, "S") = Now
End Sub
[/vba]

Автор - RAN
Дата добавления - 15.08.2014 в 23:58
sver4ook Дата: Суббота, 16.08.2014, 00:22 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
hands pray
да простят меня за неинформативное сообщение
 
Ответить
Сообщениеhands pray
да простят меня за неинформативное сообщение

Автор - sver4ook
Дата добавления - 16.08.2014 в 00:22
sver4ook Дата: Воскресенье, 17.08.2014, 18:08 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Парни по томуже файлу есть вопросец..........
Путем суточного сидения родился такой вот кодец.
[vba]
Код

Sub Controll()
     Dim rr As Range
   Application.ScreenUpdating = False
    x = Worksheets("опыт").Range("k2").Value   'прочитали из ячейки
      ThisWorkbook.Worksheets("история").Activate 'переходим на другой лист
    Set rr = Columns(1).Find(What:=x, lookat:=xlWhole)   'определяем ячейку в которой нужное значение
      If rr Is Nothing Then
     MsgBox "нету ничего", vbCritical 'если не нашлось
     Else
      
    i = rr.Offset(0, 1).Value ' запоминаем что было в ячейке сначала
    If i >= 1 Then
         If MsgBox("Уже касили " & i & " раз, уверен что перекрас, а может 2 раза покрасили", vbYesNo, "Контроль выполнения") = vbYes Then
           rr.Offset(0, 1).Value = 1 + i
           i = i + 1
           MsgBox "Подтвержден " & i & " перекрас для " & x & " покраски"
           ElseIf vbNo Then
             End If
             Else
      rr.Offset(0, 1).Value = 1 + i
      MsgBox "Подтверждена " & x & " покраска"
         End If
      
     End If
        ThisWorkbook.Worksheets("опыт").Activate
        Range("k2").Activate
     Application.ScreenUpdating = True
     End Sub
     
     

     
[/vba]

Так вот в чем вопрос,код находится в модуле, запускается кнопкой,
Что я хотел бы, после изменения ячейки "К2" передать фокус на кнопку, а далее ентер и погнал.

Пробовал процедуру Worksheet_Change(ByVal Target As Range), на листе, так он собака некорректно работает...
Может кто подскажет

ЗЫ..... кракозябры встали я тут рисуночек прколочу

К сообщению приложен файл: 9271380.jpg (25.3 Kb)


Сообщение отредактировал sver4ook - Воскресенье, 17.08.2014, 21:17
 
Ответить
СообщениеПарни по томуже файлу есть вопросец..........
Путем суточного сидения родился такой вот кодец.
[vba]
Код

Sub Controll()
     Dim rr As Range
   Application.ScreenUpdating = False
    x = Worksheets("опыт").Range("k2").Value   'прочитали из ячейки
      ThisWorkbook.Worksheets("история").Activate 'переходим на другой лист
    Set rr = Columns(1).Find(What:=x, lookat:=xlWhole)   'определяем ячейку в которой нужное значение
      If rr Is Nothing Then
     MsgBox "нету ничего", vbCritical 'если не нашлось
     Else
      
    i = rr.Offset(0, 1).Value ' запоминаем что было в ячейке сначала
    If i >= 1 Then
         If MsgBox("Уже касили " & i & " раз, уверен что перекрас, а может 2 раза покрасили", vbYesNo, "Контроль выполнения") = vbYes Then
           rr.Offset(0, 1).Value = 1 + i
           i = i + 1
           MsgBox "Подтвержден " & i & " перекрас для " & x & " покраски"
           ElseIf vbNo Then
             End If
             Else
      rr.Offset(0, 1).Value = 1 + i
      MsgBox "Подтверждена " & x & " покраска"
         End If
      
     End If
        ThisWorkbook.Worksheets("опыт").Activate
        Range("k2").Activate
     Application.ScreenUpdating = True
     End Sub
     
     

     
[/vba]

Так вот в чем вопрос,код находится в модуле, запускается кнопкой,
Что я хотел бы, после изменения ячейки "К2" передать фокус на кнопку, а далее ентер и погнал.

Пробовал процедуру Worksheet_Change(ByVal Target As Range), на листе, так он собака некорректно работает...
Может кто подскажет

ЗЫ..... кракозябры встали я тут рисуночек прколочу


Автор - sver4ook
Дата добавления - 17.08.2014 в 18:08
wild_pig Дата: Воскресенье, 17.08.2014, 19:19 | Сообщение № 18
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Цитата
Парни

А если девушки ответят?

Цитата
есть вопросец

в новую тему, при чём тут по тому же файлу вопрос то другой.

Цитата
Worksheet_Change(ByVal Target As Range)

Использовать проверку для изменяемого диапазона
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("K2")) Is Nothing Then
          MsgBox "изменяй меня полностью!"
      End If
End Sub
[/vba]

Цитата
ЗЫ..... кракозябры встали

При копировании из редактора vba следите чтобы раскладка клавиатуры в браузере и редакторе была RU.


Сообщение отредактировал wild_pig - Воскресенье, 17.08.2014, 19:21
 
Ответить
Сообщение
Цитата
Парни

А если девушки ответят?

Цитата
есть вопросец

в новую тему, при чём тут по тому же файлу вопрос то другой.

Цитата
Worksheet_Change(ByVal Target As Range)

Использовать проверку для изменяемого диапазона
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("K2")) Is Nothing Then
          MsgBox "изменяй меня полностью!"
      End If
End Sub
[/vba]

Цитата
ЗЫ..... кракозябры встали

При копировании из редактора vba следите чтобы раскладка клавиатуры в браузере и редакторе была RU.

Автор - wild_pig
Дата добавления - 17.08.2014 в 19:19
sver4ook Дата: Воскресенье, 17.08.2014, 21:04 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день, wild_pig

Если девушки помогут, буду только рад.

Поправил кракозябры, спасибо за совет..........

Не работает этот код с листа, не знаю почему......пробовал уже, и так и так.......... ну не хочет он
Работает корректно только с модуля листа и запуск кнопкой.......

у меня файлик 104 кило, в 100 кб ну никак......
как пример, то прикрепить, на внешнее хранилище низя......
Абидно, не ну абидно же


Сообщение отредактировал sver4ook - Воскресенье, 17.08.2014, 21:18
 
Ответить
СообщениеДобрый день, wild_pig

Если девушки помогут, буду только рад.

Поправил кракозябры, спасибо за совет..........

Не работает этот код с листа, не знаю почему......пробовал уже, и так и так.......... ну не хочет он
Работает корректно только с модуля листа и запуск кнопкой.......

у меня файлик 104 кило, в 100 кб ну никак......
как пример, то прикрепить, на внешнее хранилище низя......
Абидно, не ну абидно же

Автор - sver4ook
Дата добавления - 17.08.2014 в 21:04
RAN Дата: Воскресенье, 17.08.2014, 21:45 | Сообщение № 20
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
' запоминаем что было в ячейке сначала

Пробовал процедуру Worksheet_Change(ByVal Target As Range)

Вы ужо определитесь, запоминаем, или изменяем.
То то как то странно - сначала поменяли, а потом пытаемся запомнить, что было до изменения. :)
если очень хочется, то нужно использовать совместно
[vba]
Код
Worksheet_Change()
Worksheet_SelectionChange()
[/vba]
и какую нибудь переменную уровня модуля.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
' запоминаем что было в ячейке сначала

Пробовал процедуру Worksheet_Change(ByVal Target As Range)

Вы ужо определитесь, запоминаем, или изменяем.
То то как то странно - сначала поменяли, а потом пытаемся запомнить, что было до изменения. :)
если очень хочется, то нужно использовать совместно
[vba]
Код
Worksheet_Change()
Worksheet_SelectionChange()
[/vba]
и какую нибудь переменную уровня модуля.

Автор - RAN
Дата добавления - 17.08.2014 в 21:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скриптик копирования с листа на лист, поправьте по чутка (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!