Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel-Visual Basic - Instrukcja Continue

28 Lut 2007 16:08 1892 5
  • Poziom 17  
    Witam,

    Jak w ponizszym makro zastosowac instrukcje Continue? Chodzi o to ze jak juz warunek if zostanie spelniony to zeby automatycznie przeszedl do nastepnej iteracji (do nastepnego i). Probowalem wstawic instrukcje Continue For tak jak jest w tym przykladzie ale niestety wyskakuje blad

    Dzeiki za pomoc

    Sub przyklad()
    Dim i As Integer
    For i = 2 To 21203
    For j = 2 To 21264
    If Cells(i, 1) = Cells(j, 2) Then
    Cells(i, 3) = Cells(j, 4)

    Continue For

    Next j
    Next i
    End Sub
  • Spec od komputerów
    Co prawda nie piszę programów w VB ale składnia polecenia IF jest podobna w każdym języku czyli:
    If condition Then [statements] [Else elsestatements]
    ...
    End if
    U ciebie brak End if, które wg mnie powinno być w miejscu Continue For (zresztą takiego polecenie w pomocy VB wogóle nie znalazłem).
  • Poziom 17  
    tak to fakt, brakuje tutaj End If, ale problem jest i tak z Continue For.

    http://msdn2.microsoft.com/en-us/library/801hyx6f.aspx

    tutaj pisza ze cos takiego jednak jest mozliwe.

    http://www.activevb.de/tutorials/tut_vbnet2005/vbnet2005.html

    Tutaj jest podany przyklad. Trzeba troche zejsc nizej i poszukac przykladu dotyczacego Continue. Jednak ten przyklad robi dokladnie odwrotnie to co ja chce:(
  • Spec od komputerów
    Wszystko ładnie tylko oba linki dotyczą Visual Basic 2005 lub Visual Studio a wg mnie to nie to samo co Visual Basic dla aplikacji Offica.

    Sprawdź dokładnie pomoc wbudowaną w Edytor VB w aplikacjach Office.
  • Pomocny post
    Poziom 13  
    Nie ma Continue w VBA.

    Może chodzi ci o coś takiego?


    Code:

    Sub przyklad()
        Dim i As Integer
        For i = 2 To 21203
            For j = 2 To 21264

                If Cells(i, 1) = Cells(j, 2) Then
                    Cells(i, 3) = Cells(j, 4)
                Else
                    goto nxt
    End If
    nxt:
        Next j
        Next i
    End Sub
  • Poziom 17  
    No w sumie o to mi chodzilo dzieki jrk


    Dodano po 42 [sekundy]:

    paweliw napisał:
    Wszystko ładnie tylko oba linki dotyczą Visual Basic 2005 lub Visual Studio a wg mnie to nie to samo co Visual Basic dla aplikacji Offica.


    No masz racje. To chyba jednak nie to samo:(