Ongelma on seuraavanlainen:
Tarvitsisisin makron, joka kopioi sheet2:sta A1:A10 sheet1:een kohtiin A1:A10, jos M1:n teksti on valinta1
Jos M1:n teksti on valinta2, kopioidaankin B2:B10 samoihin kohtiin jne
12 erilaista vaihtoehtoa kohdassa M1
Tarvitsisisin makron, joka kopioi sheet2:sta A1:A10 sheet1:een kohtiin A1:A10, jos M1:n teksti on valinta1
Jos M1:n teksti on valinta2, kopioidaankin B2:B10 samoihin kohtiin jne
12 erilaista vaihtoehtoa kohdassa M1
Vastaukset 2
Vanhimmat
Tarkkaa vastausta en osaa tähän antaa, mutta seuraavalla rakenteella voit sen mielestäni tehdä.
Select Case TestiArvo
Case Is = 1
' toiminto 1
Case Is = 2
' toiminto 2
Case Is = 3
' toiminto 3
.
.
Case Else ' muuten
' toiminto 12
End Select
Tuossa Select lauseessa voit siis tehdä useita vertailuja ja kun vertailu toteutuu voit kutsua oikean aliohjelman toiminto kohdassa. Aliohjelmia voit nauhoittaa tuon tarvittavan 12.
Excel 2003 ohjelmoinnista saat lisätietoa sivustolta:
http://ornanet.dy.fi/index.htm
Itse käytin seuravaa rakennetta:
If Worksheets("Työvuorot").Range("M5") = ("Työvuoro1") Then
Sheets("Esiasetukset").Select
Range("B2:K2").Select
Selection.Copy
Sheets("Työvuorot").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ElseIf Worksheets("Työvuorot").Range("M5") = ("Työvuoro2") Then