Hirdetés

Új hozzászólás Aktív témák

  • Fferi50

    Topikgazda

    válasz Kobe #28837 üzenetére

    Szia!

    Ha mindig ugyanoda kell másolni, akkor a makróba beírod egymás után:
    Sheets("Sheet2").Range("B3").value=Sheets("Sheet1").Range("A2").value
    Sheets("Sheet3").Range("B3").value=Sheets("Sheet1").Range("A3").value
    Sheets("Sheet4").Range("B3").value=Sheets("Sheet1").Range("A4").value

    és így tovább, minden egyes cellára.
    Ha van valami szabályszerűség a másolásban, akkor ciklusba is szervezhető.

    (Ha nem csak az értékeket, hanem a formát is szeretnéd átvinni, akkor a fenti sorok helyett a copy metódust használhatod:
    Sheets("Sheet1").Range("A2").Copy destination:=Sheets("Sheet2").Range("B3")
    Sheets("Sheet1").Range("A3").Copy destination:=Sheets("Sheet3").Range("B3")
    Sheets("Sheet1").Range("A4").Copy destination:=Sheets("Sheet4").Range("B3")
    a másolásra.)

    Ha változó a másolás helye, akkor használhatod az Applicaction.inputbox metódust a cél cella bekéréséhez, ahol megadhatod, hogy milyen típusu legyen az input (8-as tipus a cella referencia). Így minden kérdéses cellánál megkérdezheted, most hova legyen másolva.

    Az inputbox értékét egy változóba kérheted be:
    Set myCell = Application.InputBox( prompt:="Select a cell", Type:=8)
    majd ezt a változót használod célként.
    Ebben az esetben az inputboxban egérrel kijelölheted melyik munkalap melyik cellájába kívánod a másolást.
    Utána:
    Sheets("Sheet1").Range("A4").Copy destination:=myCell

    Remélem, sikerülni fog valamelyik módszerrel megoldani a problémát.

    Üdv.

Új hozzászólás Aktív témák

Hirdetés