Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

VBA - makro - excel - odwołanie do kolejnych arkuszy

Cholasek 27 Feb 2013 14:33 4563 9
  • #1
    Cholasek
    Level 9  
    Mam problem z makrem do excela. Chciałbym zrobić odwołanie w arkuszu3 do arkusza "wsh", gdzie wsh będzie każdym kolejnym arkuszem.

    Stworzyłem sobie zmienną
    Dim wsh As Worksheet
    .

    Normalnie formuła wygląda tak:

    ActiveCell.FormulaR1C1 = "=Arkusz1!RC[-2]"


    Próbowałem zrobić to tak:

    ActiveCell.FormulaR1C1 = "=wsh.Name!RC[-2]"


    Oczywiście nie działa :)

    Domyślnie chcę zrobić tak by odnosiło się to do całej wypełnionej kolumny.


    Wie może ktoś jak to zrobić? Muszę zaznaczyć, że jestem kompletnym laikiem w VBA.
  • #2
    PRL
    Level 40  
    ActiveCell.FormulaR1C1 = "=" & wsh.Name & "!RC[-2]"
  • #3
    Cholasek
    Level 9  
    Niestety nie działa
  • #4
    PRL
    Level 40  
    Musi działać:

    Code: vbscript
    Log in, to see the code
  • #5
    Cholasek
    Level 9  
    Dzięki, faktycznie działa, miałem mały błąd w kodzie. Niestety mam dalej problem.

    Myślałem, że bez problemu będę mógł wpisać coś takiego:

    ActiveCell.FormulaR1C1 = "=" & wsh.Name & "Cells(ost_w,9)"


    Ale nie działa.

    ost_w jest moją zmienną

    Da się w ten sposób to zrobić?
  • #6
    PRL
    Level 40  
    Coś mi się wydaje, że po prostu chcesz w 'Arkusz2' mieć dane z 'Arkusz1', a nie formuły.
    Napisałeś, że nie wiesz dużo o VBA, stąd moje podejrzenie, że może Ci chodzić o zwykłe odwołanie się do wartości, a nie do formuły.
    Najlepiej jeszcze raz napisz, co chcesz osiągnąć, a najlepiej podrzuć plik.
  • #7
    czeles
    Level 17  
    Jeżeli jednak chcesz wpisać do aktywnej komórki formułę łączącą dane z arkusza wsh, z ostatniego wiersza i kolumny 9 to należy to zapisać następująco:
    Code: vbscript
    Log in, to see the code
  • #8
    JackPeterson
    Level 9  
    ActiveCell.FormulaR1C1 = "=" & wsh.Name & "!RC[-2]" działa przy nazwie arkusza, np"570". Nie chce niestety zadziałać przy nazwie, np. "570-2013-10-08". Zadziała, kiedy usunę "-" i zmienię nazwę na "57020131008", ale chcę zachować nazwę arkusza "570-2013-10-08". Jak to zrobić?
  • #9
    czeles
    Level 17  
    Dopisz apostrofy do nazwy arkusza:
    Code: vbscript
    Log in, to see the code
  • #10
    JackPeterson
    Level 9  
    Działa. Dzięki czeles.