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

[EXCEL] [VBA] jaki wpisać skrypt if...

alvarofun 07 Lip 2012 15:35 1232 6
  • #1 07 Lip 2012 15:35
    alvarofun
    Poziom 17  

    Hej,

    jest taka funkcja w vba coś jak IF ELSE, tylko jej nie pamiętam, jak wyglądała,
    bo chciałem zrobić tak:

    if A1 = "2012.01.01" else (kopiuj obszar B2:D9 z arkusza1 do O2:R9 z arkusza2)
    if A1 = "2012.02.01" else (kopiuj obszar B3:D10 z arkusza1 do O3:R10 z arkusza2)
    if A1 = "2012.03.01" else (kopiuj obszar B4:D11 z arkusza1 do O4:R11 z arkusza2)
    if A1 = "2012.04.01" else (kopiuj obszar B5:D12 z arkusza1 do O5:R12 z arkusza2)
    if A1 = "2012.05.01" else (kopiuj obszar B6:D13 z arkusza1 do O6:R13 z arkusza2)

    ale to jest bardzo długi ciąg:/ a ta funkcja go sporo skraca

    0 6
  • #2 07 Lip 2012 17:42
    adamas_nt
    Moderator Programowanie

    Spróbuj z Select Case.

    0
  • #3 08 Lip 2012 22:21
    alvarofun
    Poziom 17  

    Function nazwaMiesiaca(numer As Integer) As String

    numer = "A1"
    Select Case numer
    Case 2012.01.01
    nazwaMiesiaca = "styczeń", ale w komórce "D4"
    Case 2012.02.01
    nazwaMiesiaca = "luty", ale w komórce "D5"

    End Select
    End Function


    Coś mi to nie działa :/, jak to napisać żeby było oki???

    0
  • #4 08 Lip 2012 22:29
    adamas_nt
    Moderator Programowanie

    Gdybyś zapisał jako datę w formacie Excela byłoby prościej. Masz taką możliwość?
    Wtedy

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #5 08 Lip 2012 23:55
    alvarofun
    Poziom 17  

    właśnie oto chodzi że nie mam takiej możliwości, trochę posiedziałem z tym case, poczytałem o tym i wyszło0 mi coś takiego

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    a jak zrobić że jeśli np. w A2 jest 2012-01-01 to wtedy nie wyświetla się styczeń tylko, zakres od A5 do B6 zostanie skopiowany do innego arkusza, w miejsce A1 do B2

    0
  • #6 09 Lip 2012 07:03
    adamas_nt
    Moderator Programowanie

    Odpowiedzi udzielił marcinj12 w tym temacie. W każdym bloku Case możesz stosować dowolny (różny) kod.

    0
  • #7 27 Lip 2012 16:21
    alvarofun
    Poziom 17  

    no to by było na tyle :)

    0