|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
Системна дата
|
|
Автор |
zvezdi4kata_ff (непознат
) |
Публикувано | 30.06.15 20:39 |
|
Здравейте!
Бих искала да попитам, как да присвоя на избрана от мен клетка текуща дата и след това на другия ден да си остане същата дата. Примерно днес е 30.06.2015.
Същата дата съм присвоил на клетка "А1". Утре, когато вече ще е 01.07.2015, то в А1 да си остане 30.06.2015. Благодаря!
| |
|
функцията за текущото време е NOW()
Можеш да правиш проверка при отваряне на файла:
ако кутийката е празна - слагаш датата,
ако ли не- прескачаш нататъка.
И после кутийката да ти е защитена за пипане с дебела парола..От "майстори" дето обичат да променят това онова...
| |
|
вариант1 - макрос (както каза бат Гого)
вариант2
в някоя си клетка, например В1, да ти е текущата дата "=TODAY()"
след което клик върху B1 copy - клик върху А1 - Edit -> Paste Special -> Values
естествено А1 трябва да е форматирана за дата
вариант3 пишеш на ръка
| |
|
Благодаря ви и на двамата за идеите.
Сега да обясня за какво точно ми трябва това нещо.
В sheet1, в клетка "А1" - пиша "Уведомен" и тогава в клетка "В1" правя проверка, дали в клетка "А1" пише "Уведомен",а ако не, тогава нищо - If(A1="Уведомен";NOW();"") . Тази формула има недостатък, защото всеки път, когато се смени системната дата, същата се променя във всички клетки.
Другия вариант е с VBA
Използвам събитието "Chаnge"
If Worksheets("sheet1").Cells(x,y).value <>"" then
Worksheets("sheet1").Cells(x1, y1).value =NOW()
end if
end sub
Тук става, но пък не е удобно тъй като всеки път когато в съседната клетка напиша "УВЕДОМЕН", компа замръзва, и докато трае проверката, нищо не мога да направя, защото колоната е много дълга.
Ако нещо друго може да се измисли ще съм радостна, да го споделите! Благодаря!
<P ID="edit"><FONT class="small"><EM>Редактирано от zvezdi4kata_ff на 01.07.15 21:59.</EM></FONT></P>Редактирано от zvezdi4kata_ff на 01.07.15 22:02.
| |
|
Не даваш пълна информация, а решението навярно е елементарно.
с това Change голямо обхождане става при всяка промяна
няколко въпроса:
1. В цялата колона "А" ли вкарваш това "Уведомен" или там има и нещо друго?
2. тия променливи в проверката x,y,x1 и y1 от къде ги вземаш?
3. всеки път ли пишеш на ръка "Уведомен"
Редактирано от nepukis на 02.07.15 07:33.
| |
|
Явно проверката не я правиш като хората. Нещо от типа на:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TR As Long, TC As Long
TR = Target.Row
TC = Target.Column
If (TR = 1) And (TC = 1) Then 'A1
If Cells(TR, TC).Value = "Уведомен" Then
Cells(TR, TC + 1).Value = Date 'B1
End If
End If
End Sub
Това е на офис пакет 2003 и при мене не зацикля, независимо колко кутийки имам попълнени.
Та ако беше казала това "Уведомен" кой и кога може да го промени във файла...Така ти идва от някой и предмониторното трябва да напише само дали е уведомено? А ако има вече "Уведомен" в А1 и предмониторното го промени на "майната ти" например и после пак на "Уведомен" - тогава всичката врътка става излишна...
Явно по-подробна информация ще дадеш на десетия пост...Все пак - ти имаш зор, на аз...
<P ID="edit"><FONT class="small"><EM>Редактирано от BatiGogo на 02.07.15 07:35.</EM></FONT></P>Редактирано от BatiGogo на 02.07.15 08:13.
| |
|
Ако искаме проверка само на колона "А" има много варианти как да се направи, но понеже съм мързелив бих го направил така:
двоен клик на клетката в която ще пишеш
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
r = Target.Row
k = Target.Column
If k = 1 And Cells(r, k) = "" Then
Cells(r, k) = "Уведомен"
Cells(r, 2) = Now()
End If
End Sub
| |
|
Гого, явно мислим доста сходно.
Ама ти мислиш като програмист,а не като потребител. На мене ми се струва, че предмониторното устройство ще е само тя.
Надали разработва таблици за всеобщо ползване.
| |
|
Когато напиша някой код, винаги се старая да съм на мястото на предмониторното. Попадал съм на на такива изобретателни предмониторни (задклавиатурни), че да ти настръхне косата...
Но нашата дама явно е много пестелива в даването на информация за проекта по който работи. Сигурно работи към някой секретен отдел на ЦРУ...
| |
|
Ако става въпрос за еднотипни записи на много редове, може би
трябва да махнеш проверката за ред. Ще рече - ако в колона X на някой ред
напишеш каквото и да е, в колона Y на същия ред ще фиксирам този момент.
Съкращавайте фразите до размера на мисъл. М.Вайсберг
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|