vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest niedziela, 10 listopada 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

problemy z zakresami


otwartyotwarty rozpoczął: VBAmator postów: 7



napisał: VBAmator
postów: 67


umieszczony:
3 listopada 2015
21:19

  
Faktycznie coś musiało być nie tak.
Wszystko działa jak należy.

Jeszcze raz bardzo dziękuję.
napisał: Trebor
postów: 1209


umieszczony:
3 listopada 2015
15:46

  
Oczywiście. Gdybyś zamieścił załącznik w excelu już miałbyś odpowiedź.
Makro jest poprawne. Przyczyn wysypywania się może być kilka. Jeśli dzieje się to w trakcie wykonywania linii z selectem to może być to zabezpieczenie arkusza. A może masz jakieś makro zdarzeniowe arkusza. To tylko zgadywanie - daj właściwy załącznik.
napisał: VBAmator
postów: 67


umieszczony:
2 listopada 2015
21:55

edytowany:
2 listopada 2015
21:57

  
nazwa pliku rozmiar
p1.JPG 48.62 kB

Pkt 1. Wielkie dzięki. Poszedł dym z uszów ale opanowałem wszystkie opcje.

Pkt 2. Podany przez ciebie zapis nie działa. Co ciekawe nagrałem proste makro i po odpaleniu go wysypuje się w wierszu ().Select. Tu już jestem zaskoczony (załącznik).
Właśnie takie niezależne zakresy chciałem zaznaczyć / wyczyścić ujmując to w jednym złożonym Range.

Jest szansa?
napisał: Trebor
postów: 1209


umieszczony:
30 października 2015
16:28

  
Przyjmując, że zakres = jedna komórka
1.
MsgBox Application.CountA(Range("A1").Offset(1, 2), Range("A1").Offset(5, 3))


oczywiście Ile.niepustych można zamienić na sumę ang. Sum

2.
Range("" & Range("A1").Offset(1, 2).Address & "," & Range("A1").Offset(5, 3).Address & "").ClearContents


raczej bym z tego zrezygnował
napisał: VBAmator
postów: 67


umieszczony:
29 października 2015
21:47

edytowany:
2 listopada 2015
21:33

  
Trochę źle się wyraziłem. Pozwól, że przedstawię szerzej problem:
W poniższych procedurach zaznaczyłem moje 2 problemy.


'w poniższym warunku potrzebował bym ująć to krótko
' If którykolwiek z wym zakresów >0 then
oraz przydało by się także
'If początek zakresu do koniec zakresu >0 then
a nie jak teraz suma zakresów itd...


        If Range(DOUAI).Offset(0, d + 1).Value + Range(DOUAI).Offset(3, d + 1).Value + Range(DOUAI).Offset(6, d + 1).Value + _
           Range(DOUAI).Offset(9, d + 1).Value + Range(DOUAI).Offset(12, d + 1).Value + Range(DOUAI).Offset(15, d + 1).Value + _
           Range(DOUAI).Offset(18, d + 1).Value + Range(DOUAI).Offset(21, d + 1).Value + Range(DOUAI).Offset(24, d + 1).Value + _
           Range(DOUAI).Offset(27, d + 1).Value + Range(DOUAI).Offset(30, d + 1).Value + Range(DOUAI).Offset(33, d + 1).Value + _
           Range(DOUAI).Offset(36, d + 1).Value + Range(DOUAI).Offset(39, d + 1).Value > 0 Then



oraz
jak w jednym zapisie umieścić kilka zakresów trójwierszy i potraktować jednym ClearContents (przy próbie łączenia z (,) łączy niezależne zakresy trójwierszy w jeden)

Range(Range("DOUAI").Offset(4, 6), Range("DOUAI").Offset(6, 25)).Select
Range(Range("DOUAI").Offset(13, 6), Range("DOUAI").Offset(15, 25)).Select
itd...
Selection.ClearContents

napisał: admin
postów: 613


umieszczony:
28 października 2015
21:17

edytowany:
29 października 2015
09:52

  
Witam,

Ad 1.
Range("A20").Value 'Należy podać adres komórki
Range("A11").Offset(1,1).Value 'Wartość komórki "B12"


Lepiej nie używać metody .Select - służy ona do zaznaczania komórki lub zakresu komórek i do niczego innego nie jest potrzebna.

Ad 2.
Nie rozumiem po co używać tutaj metody .Offset
Nie ma potrzeby używania metody .Select.

Range("A1:Z3").ClearContents
Range("A5:Z7").ClearContents


pozdrawiam
admin

Cytat:
Witam.

1. Jak wycisnąć wartość z Range:

Range(Range().Offset().Address, Range().Offset().Address).Value - nie działa
Range(Range().Offset().Address, Range().Offset().Address).Select
If Selection.Value>0 Then - nie działa
...
End If

2. Jak w jednym zapisie zaznaczyć/wyczyścić niezależne obszary:

Range("A1:Z3, A5:Z7, itd.").Select - działa, ale jak zadaję offsety j/w
w uproszczeniu - Range(Range(R.Offset, R.Offset), Range(R.Offset, R.Offset), itd..).Select - łączy mi w jeden obszar
Selection.ClearContents

Dziękuję za ewentualną podpowiedź.
napisał: VBAmator
postów: 67


umieszczony:
28 października 2015
20:25

  
Witam.

1. Jak wycisnąć wartość z Range:

Range(Range().Offset().Address, Range().Offset().Address).Value - nie działa
Range(Range().Offset().Address, Range().Offset().Address).Select
If Selection.Value>0 Then - nie działa
...
End If

2. Jak w jednym zapisie zaznaczyć/wyczyścić niezależne obszary:

Range("A1:Z3, A5:Z7, itd.").Select - działa, ale jak zadaję offsety j/w
w uproszczeniu - Range(Range(R.Offset, R.Offset), Range(R.Offset, R.Offset), itd..).Select - łączy mi w jeden obszar
Selection.ClearContents

Dziękuję za ewentualną podpowiedź.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z