Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: Tajan
05-02-2007, 19:03
VBA
Autor Wiadomość
bobol
[Usunięty]

Wysłany: 02-02-2007, 16:59   VBA

Witam wszystkich! I oto nowy problem.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 3 And Target.Value = "6" Then
Range("c4").Value = Range("c4").Value - 1
Target.Value = "6:00" ' <<< Jak zrobić żeby ten zapis dotyczył tyko 3-kolumny
' i tylko wtedy kiedy dokonuję wpisu.
End If
End Sub

Dopóki nie ma wpisać "c4" = 6 jest wszystko w porządku,
w tym momencie zmienia zawartość komórki "c4" na "6:00" i koniec zabawy.

Co z tym fantem zrobić?
ID posta: 2133 Skopiuj do schowka
 
 
Rycho
Excel Expert



Pomógł: 203 razy
Posty: 322
Wysłany: 02-02-2007, 17:09   

Hej.
A co ma być wpisane do tej komórki ?

Może tak:
Target.Formula = "6:00"
lub
Target.Value = TimeValue("06:00")

pzdr
ID posta: 2134 Skopiuj do schowka
 
 
Trebor 
Excel Expert


Pomógł: 1752 razy
Posty: 4680
Wysłany: 02-02-2007, 17:35   

Na początku makra wpisz
Kod:

Application.EnableEvents = False

Na końcu makra znowu przywróć (True)

W trakcie testów zawsze wykonuj przywrócenie.

Pozdrawiam
_________________
Trebbor@wp.pl
ID posta: 2136 Skopiuj do schowka
 
 
bobol
[Usunięty]

Wysłany: 02-02-2007, 18:12   

Dzięki Trebor!

Teraz liczy dobrze ale jest jeszcze jeden problem jak zaznaczam jakiś obszar do wyczyszczenia to wpisuje mi w całym obszarze "6:00"
ID posta: 2137 Skopiuj do schowka
 
 
Trebor 
Excel Expert


Pomógł: 1752 razy
Posty: 4680
Wysłany: 02-02-2007, 19:58   

Wypróbuj taki kod
Kod:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim kom As Range
If Not Application.Intersect(Target, Columns(3)) Is Nothing Then
Application.EnableEvents = False
For Each kom In Target
    If kom.Column = 3 And kom = "6" Then
        Range("c4").Value = Range("c4").Value - 1
        kom.Value = "6:00"
    End If
Next kom
Application.EnableEvents = True
End If
End Sub

Pozdrawiam
_________________
Trebbor@wp.pl
ID posta: 2140 Skopiuj do schowka
 
 
bobol
[Usunięty]

Wysłany: 02-02-2007, 20:40   

Dzięki Trebor !

Teraz jest OK.
ID posta: 2143 Skopiuj do schowka
 
 
bobol
[Usunięty]

Wysłany: 03-02-2007, 15:37   

Witam!
Czy można zrobić tak żeby to zadziałało od wiersza "11"

I jeszcze powielić to w tej samej konfiguracij przez 31 kolejnych kolumn?
ID posta: 2172 Skopiuj do schowka
 
 
Trebor 
Excel Expert


Pomógł: 1752 razy
Posty: 4680
Wysłany: 03-02-2007, 16:17   

Sprawdź czy o to chodzi
Kod:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim kom As Range
If Not Application.Intersect(Target, Columns("C:AH")) Is Nothing Then
Application.EnableEvents = False
For Each kom In Target
    If kom.Column > 3 And kom.Column < 35 And kom = "6" And kom.Row > 10 Then
        Cells(4, kom.Column).Value = Cells(3, kom.Column).Value - 1
        kom.Value = "6:00"
    End If
Next kom
Application.EnableEvents = True
End If
End Sub

Pozdrawiam
_________________
Trebbor@wp.pl
ID posta: 2174 Skopiuj do schowka
 
 
bobol
[Usunięty]

Wysłany: 03-02-2007, 16:27   

Niestety nie działa
może robię coś źle?
Wkopiowałem Twój kod.

Nie odejmuje!
ID posta: 2175 Skopiuj do schowka
 
 
Trebor 
Excel Expert


Pomógł: 1752 razy
Posty: 4680
Wysłany: 03-02-2007, 16:36   

Od której komórki ma odejmować?
Załącz plik
_________________
Trebbor@wp.pl
ID posta: 2176 Skopiuj do schowka
 
 
bobol
[Usunięty]

Wysłany: 03-02-2007, 16:41   

Znalazłem błąd "literówka" zamiast 4 była 3
Już działa
Serdeczne dzięki.
Dla mnie Jesteś WIELKI
pozdrowienia
ID posta: 2177 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.wip.pl

Archiwum

Strona uĹźywa plikĂłw cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przegl�darce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe