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

  tytuł wątku:
Wątki dyskusji

Excell - zadania z użyciem kontrolek


otwartyotwarty rozpoczął: Patinka4 postów: 14



napisał: Patinka4
postów: 8


umieszczony:
10 maja 2012
10:22

  
oba sposoby się sprawdzają :)
nie wiem co bym zrobiła,gdyby nie pomoc fantastycznych ludzi :D dzięki wielkie
mam nadzieję, że odpowiedzi na moje pytania przydadzą się jeszcze nie jednej osobie :)
napisał: Trebor
postów: 1209


umieszczony:
9 maja 2012
19:53

  
Proszę dwa sposoby:
Sub wstaw()
With Sheets("Arkusz1")
.Shapes.AddPicture "C:\Documents and Settings\Admin\Pulpit\Grafika\biurko.bmp", msoFalse, msoTrue, 0, 0, 100, 100


        With .Pictures.Insert("C:\Documents and Settings\Admin\Pulpit\Grafika\biurko.bmp").ShapeRange
            .Height = 300
            .Top = 0
            .Left = 100
        End With
End With
End Sub

napisał: Patinka4
postów: 8


umieszczony:
9 maja 2012
17:48

  
Teraz wszystko rozumiem :) dzięki Trebor, wielkie wielkie dzięki :D

Chciałabym jeszcze zrobić takie coś:
Po zaznaczeniu np. OptionButton1 na formularzu przez użytkownika w komórce A1 wstawia się obrazek 1.jpg

nie wiem z czego mogłabym skorzystać?

Sheets("Arkusz1").Shapes.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height)
próbowałam z tej funkcji, ale nie do końca wiem jak ją wykorzystać.

a może znalazłoby się coś innego?
próbowałam też rejestrować makro wstawiania zdjęcia, ale makro wychodzi puste...
napisał: Trebor
postów: 1209


umieszczony:
9 maja 2012
16:17

  
Mam nadzieję, że poniższy kod jest czytelniejszy:
Public Sub InsertionSort()
Dim i As Long, j As Long, podmiana As Variant
'sortujemy komórki od A1 do A10
For i = 2 To 10
    podmiana = Cells(i, 1)
        For j = i To 2 Step -1
            If podmiana < Cells(j - 1, 1) Then Cells(j, 1) = Cells(j - 1, 1) Else Exit For
        Next j
    Cells(j, 1) = podmiana
Next i
End Sub

napisał: Patinka4
postów: 8


umieszczony:
8 maja 2012
21:50

  
Sortowań jeszcze wprawdzie nie zrobiłam, ale reszta działa bez zarzutu :)
Według ww strony ten kod jest dla VB6 i nie wiem czy zadziała na VBA?
A poza tym to nie bardzo go rozumiem:
czym są zmienne iMin i iMax? wartość min i max?
a UBound i LBound? znalazłam że to górny i dolny zakres granicy
chodzi o to że jeśli moja tablica to tab(1 To 2345) to LBound=1 a UBound=2345?
no i jeszcze var: varSwap albo pvarArray - do czego to służy?

Z góry dziękuję za udzielenie wskazówek :)

Insertion Sort
Public Sub InsertionSort1(ByRef pvarArray As Variant)
Dim i As Long
Dim j As Long
Dim iMin As Long
Dim iMax As Long
Dim varSwap As Variant

iMin = LBound(pvarArray) + 1
iMax = UBound(pvarArray)
For i = iMin To iMax
varSwap = pvarArray(i)
For j = i To iMin Step -1
If varSwap < pvarArray(j - 1) Then pvarArray(j) = pvarArray(j - 1) Else Exit For
Next j
pvarArray(j) = varSwap
Next i
End Sub
napisał: Patinka4
postów: 8


umieszczony:
8 maja 2012
09:17

  
Dziękuję za adres. Ja też go wczoraj znalazłam, jednak moja znajomość angielskiego jest zbyt mała,
żeby to zrozumieć, dlatego ją odrzuciłam.

Widzę jednak, że muszę sobie z nią poradzić jakoś...
napisał: admin
postów: 613


umieszczony:
8 maja 2012
08:49

edytowany:
8 maja 2012
09:43

  
Witam,

Ok. 45 sekund zajelo mi znalezienie ponizszego adresu na Google:
http://www.vbforums.com/showthread.php?t=473677

Sa tam opisane poszukiwane przez Ciebie algorytmy sortowania wraz z przykladowymi implementacjami w VB/VBA.



Cytat:
Dziękuję Trebor :) teraz ta część działa prawidłowo :)
Tworzę swój kod dalej i mam nadzieję, że mi to wyjdzie

P.S. Poszukuję jeszcze kodu do sortowania kubełkowego i przez wstawienie.
Niestety to co znalazłam w internecie o tych sortowaniach na wiele mi się nie przydało.
Zrozumiałam tylko sortowanie bąbelkowe i już napisałam do niego kod, ale te dwa... nie wiem w sumie od czego zacząć
napisał: Patinka4
postów: 8


umieszczony:
7 maja 2012
18:23

edytowany:
7 maja 2012
20:09

  
Dziękuję Trebor :) teraz ta część działa prawidłowo :)
Tworzę swój kod dalej i mam nadzieję, że mi to wyjdzie

P.S. Poszukuję jeszcze kodu do sortowania kubełkowego i przez wstawienie.
Niestety to co znalazłam w internecie o tych sortowaniach na wiele mi się nie przydało.
Zrozumiałam tylko sortowanie bąbelkowe i już napisałam do niego kod, ale te dwa... nie wiem w sumie od czego zacząć
napisał: Trebor
postów: 1209


umieszczony:
7 maja 2012
16:15

edytowany:
7 maja 2012
16:16

  
Takie zadanie robiłem dla motylekxyz trochę niżej. Generalnie musisz wcześniej umieścić ilosc_liczb = TextBox1, a później ReDim tablica(ilosc_liczb) Indeks dolny dla tak zadeklarowanej tablicy to 0, więc "i" powinno zaczynać się od 0 a nie 1.
napisał: Patinka4
postów: 8


umieszczony:
6 maja 2012
22:00

edytowany:
6 maja 2012
22:08

  
Robię następne zadania bo mam ich więcej :)

Mam kłopot z takim kodem

Private Sub CommandButton5_Click()
ReDim tablica(ilosc_liczb)
ilosc_liczb = TextBox1
For i = 1 To ilosc_liczb
tablica(i) = Int((100 - 1 + 1) * Rnd + 1)
Next i
MsgBox "Stworzono tablicę i wpisano do niej losowe elementy z zakresu 1 - 100"
End Sub

pokazuje mi komunikat: Run-time error '9': Subscript out of range

w momencie kiedy jest to zwykłe makro (to tylko fragment)
Case 2
ReDim tablica(ilosc_liczb)

For i = 1 To ilosc_liczb
tablica(i) = Int((100 - 1 + 1) * Rnd + 1)
Next i
MsgBox "Stworzono tablicę i wpoisano do niej losowe elementy z zakresu 1 - 100"

wszystko działa prawidłowo



Dziękuję za wyjaśnienia do poprzedniego zadania :) dzięki pomocy tutaj z forum jedno zadanie udało mi się zrobić samodzielnie, ale na drugim utknęłam niestety
napisał: Trebor
postów: 1209


umieszczony:
6 maja 2012
17:48

edytowany:
6 maja 2012
17:50

  
Część UCase(TextBox1.Value) zamienia ciąg wpisany do Textbox1 na wielkie litery.
W następnym kroku zamieniamy X na wartość z kolumny A Replace(UCase(TextBox1.Value), "X", Cells(i, 1))
Evaluate przeprowadza obliczenia na uzyskanym ciągu.
Uzyskany wynik tak jak się domyślałaś wpisuje do kolumny B.
napisał: Patinka4
postów: 8


umieszczony:
6 maja 2012
11:37

edytowany:
6 maja 2012
12:16

  
Dziękuję :) zadania śmigają aż miło :) jestem niesamowicie wdzięczna

a co do pytań to mam jedno

Private Sub CommandButton1_Click()
Dim i As Byte
For i = 1 To 10
Cells(i, 2) = Evaluate(Replace(UCase(TextBox1.Value), "X", Cells(i, 1)))
Next i
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

niestety nie do końca rozumiem te komendy. Wiem, że ta pierwsza dotyczy wzoru funkcji, który wpisuję w pole tekstowe. Oblicza wartość w kolumnie B i ja tam wpisuje. Dobrze rozumiem?
Ale Unload Me nic mi kompletnie nie mówi... dotyczy to rysowania wykresu?


P.S. Po analizie kodu już wiem co z tym Unload Me(potrzebowałam aż Google Tłumacza :D), ale niestety nie wiem nadal jak działa ta pierwsza część
napisał: Trebor
postów: 1209


umieszczony:
6 maja 2012
08:28

edytowany:
6 maja 2012
08:28

  
nazwa pliku rozmiar
Patinka.rar 12.69 kB

Sprawdź czy działa poprawnie.
Ponieważ nie wiem na ile znasz vba, pytaj co jest dla Ciebie niezrozumiałe.
napisał: Patinka4
postów: 8


umieszczony:
6 maja 2012
06:44

  
Mam do zrobienia dwa zadania, domyślam się, że wcale nie są kosmicznie trudne, ale ja nie potrafię sobie z nimi poradzić.
Nie potrafię napisać odpowiedniego kodu do wykorzystanych kontrolek. Ba! Prawda jest taka, że poza wstawieniem ich niewiele więcej potrafię zrobić

Jeżeli znalazłaby się jakaś dobra dusza, która chciałaby mnie jakoś wspomóc byłabym bardzo wdzięczna :)

Zadanie 1.
Stwórz UserForm, na którym umieścisz pole tekstowe "Podaj wzór funkcji", przyciski "Rysuj" i "Close".
Do kontrolki Rysuj dopisz zdarzenie rysowania wykresu funkcji podanego w polu tekstowym "Podaj wzór funkcji". Dane x mają być pobierane z kolumny A arkusza.

Zadanie 2.
Używając UserForm i odpowiednich kontrolek stwórz aplikację, która na podstawie podanego dochodu wyliczy nalezny podatek. Przyjmij następujące zasady
opodatkowania (1) dochody do 85 528 zł - 18%minus kwota zmniejszająca podatek 556 zł 02 gr
(2) powyżej 85 528 zł - 14 839 zł 02 gr+32% nadwyżki ponad 85 528 zł

ucieszy mnie każda pomoc w zrozumieniu tych zadań i małe wytłumaczenie jak powinnam je zrobić


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z
Warning: Unknown: write failed: Disk quota exceeded (122) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0