• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

VBA - pomoc z zadaniem

0 głosów
50 wizyt
pytanie zadane 17 stycznia w Visual Basic przez Szymonwest Nowicjusz (120 p.)

Witam!
Mam problem z napisaniem programu.

Program ma  wyszukać w komórkach 100X25  dwa wiersze liczb. Pierwszy wiersz ma traktować jako argumenty, a drugi jako wartości i ma liczyć z tego całkę metodą trapezów. Dodatkowo liczby pierwsze mają być zaznaczono na czerwono. 

Proszę o pomoc jak to można rozwiązać problem z wyszukiwaniem liczb i wrzucaniem do różnych tablic. Jak zoptymalizować liczby pierwsze.




Sub kolorowe_pierwsze()
Dim zawartosc As Variant, t(100 * 25) As Integer
Dim indeksy(100 * 25, 2) As Byte
k = 0
For j = 1 To 25
    For i = 1 To 100
        zawartosc = Cells(i, j).Value
        Select Case zawartosc
            Case zawartosc = 2
                If Not IsEmpty(zawartosc) Then 'sprawdzenie czy puste
                    If IsNumeric(zawartosc) Then ' sprawdzenie czy jest to liczba
                        k = k + 1
                        t(k) = zawartosc
                        indeksy(k, 1) = i
                        indeksy(k, 2) = j
                        Cells(i, j).Interior.Color = RGB(255, 0, 0)
                    End If
                End If
            Case zawartosc = 3
                If Not IsEmpty(zawartosc) Then 'sprawdzenie czy puste
                    If IsNumeric(zawartosc) Then ' sprawdzenie czy jest to liczba
                        k = k + 1
                        t(k) = zawartosc
                        indeksy(k, 1) = i
                        indeksy(k, 2) = j
                        Cells(i, j).Interior.Color = RGB(255, 0, 0)
                    End If
                End If
            Case zawartosc = 5
                If Not IsEmpty(zawartosc) Then 'sprawdzenie czy puste
                    If IsNumeric(zawartosc) Then ' sprawdzenie czy jest to liczba
                        k = k + 1
                        t(k) = zawartosc
                        indeksy(k, 1) = i
                        indeksy(k, 2) = j
                        Cells(i, j).Interior.Color = RGB(255, 0, 0)
                    End If
                End If
            Case zawartosc = 7
            Case Else
                If Not IsEmpty(zawartosc) Then 'sprawdzenie czy puste
                    If IsNumeric(zawartosc) Then ' sprawdzenie czy jest to liczba
                        If Not (zawartosc Mod 2) = 0 Then
                            If Not (zawartosc Mod 3) = 0 Then
                                If Not (zawartosc Mod 4) = 0 Then
                                    If Not (zawartosc Mod 5) = 0 Then
                                            k = k + 1
                                            t(k) = zawartosc
                                            indeksy(k, 1) = i
                                            indeksy(k, 2) = j
                                            Cells(i, j).Interior.Color = RGB(255, 0, 0)
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End Select
        Next i
    Next j
End Sub

Sprawdza czy komórka jest pusta i czy zawartość jest liczbą. Funkcja nie koloruje komórek z 2,5,7. Mam świadomość, że jest to droga do Warszawy przez Londyn.


Sub tablice()
'Dim tabl(1 To 100, 1 To 25) As Variant
Dim argument()
For i = 1 To 100

   For j = 1 To 25
     ' tabl(i, j) = Worksheets("Arkusz1").Cells(i, j).Value
     zawartosc = Cells(i, j).Value
     If Not IsEmpty(Cells(i, j).Value) Then
        If Not IsEmpty(Cells(i, j + 1).Value) Then
            ReDim argument(j)
            argument(j) = (Cells(i, j).Value)
            
        End If
     End If
   Next j
Next i

        'MsgBox tabl(1, 1)
        'MsgBox tabl(1, 2)
        'MsgBox tabl(12, 7)
        'MsgBox tabl(13, 23)
        
End Sub

Próbowałem sprawdzać kolejną komórkę czy jest pusta i dodawać do tablicy. Niestety jest pusta. Dalej nie wiem jak zrobić, aby przy sprawdzaniu kolejnego wiersza wrzucało do nowej tablicy. Może to trzeba innym sposobem?

Jestem początkujący i średnio mi to idzie.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 100 wizyt
0 głosów
0 odpowiedzi 371 wizyt
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

63,168 zapytań

109,404 odpowiedzi

228,555 komentarzy

42,695 pasjonatów

Przeglądających: 55
Pasjonatów: 1 Gości: 54

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...