vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 18 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Problem z poprawnym działaniem makra


otwartyotwarty rozpoczął: agneszka_ postów: 2



napisał: theodor
postów: 3


umieszczony:
24 marca 2009
13:23

  
Ja bym zapodał tak.
przyspiesza i nie ma problemów z selectem jeśli ktoś coś kliknie i zaznaczy w innym miejscu

docelowy.Cells(NextRow, CInt(kolumna)).FormulaR1C1 = "=VLOOKUP(Raport!ListaS,Range_Lookup,1,FALSE)"

napisał: agneszka_
postów: 1


umieszczony:
11 marca 2009
07:29

  
witam,
Potrzebuję pomocy w sprawie poniższego makra, ktore bedzie kopiowało dane z arkusza do innego arkusza w innym skoroszycie.

ZEST - arkusz w skoroczycie z którego dane mają być kopiowane.
Docelowy to osobny plik - do arkusza Raport tego skoroszytu mają być wstawione skopiowane komórki.

Zakresy:

ListaS - zakres w arkuszu Raport w/w skoroszytu
Range_Lookup - zakres zdefiniowany jako Lista w innym skoroszycie w arkuszu ZEST.

Błąd wywala się na docelowy.Cells(NextRow, CInt(kolumna)).Select

gdzie NextRow to kolejny wiersz, kolumna - nr kolumny od której należy rozpocząć wstawianie skopiowanych danych - zaciągnięty z InputBoxa.

Wyskakuje mi błąd w linii .Cells(NextRow, CInt(kolumna)).Select Metoda Select z klasy Range nie powiodła się. Numer błędu 1004.

Option Explicit

Sub odczytPliku()
Dim docelowy As Worksheet
Dim odczytany As Workbook
Dim sciezka As String
Dim nazwa_pliku As String
Dim iLicznik As Integer
Dim kolumna As String
Dim NextRow As Long
Dim LastRow As Long
Dim Range_Lookup As Range

Application.ScreenUpdating = False

Set docelowy = ThisWorkbook.Worksheets(3)
sciezka = ThisWorkbook.Path & "\katalog\"
nazwa_pliku = Dir(sciezka & "*.xls")
kolumna = InputBox("Wprowadź numer kolumny, do ktorej wstawić dane")
NextRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1

With docelowy
 
        Set odczytany = Workbooks.Open(sciezka & nazwa_pliku)
        Application.DisplayAlerts = False
      
        With odczytany.Worksheets("ZEST")
        Set Range_Lookup = .Range("Lista")
        End With
        LastRow = Range("B65536").End(xlUp).Row
        
        Do While docelowy.Cells(LastRow, "B") <> ""
        
        docelowy.Activate
        .Cells(NextRow, CInt(kolumna)).Select
        ActiveCell.FormulaR1C1 = "=VLOOKUP(Raport!ListaS,Range_Lookup,1,FALSE)"
        
        docelowy.Cells(NextRow, CInt(kolumna) + 1).Select
        ActiveCell.FormulaR1C1 = "=VLOOKUP(Raport!ListaS,Range_Lookup,6,FALSE)"
        
        Loop
        odczytany.Close
        nazwa_pliku = Dir
    
End With
Application.ScreenUpdating = True

End Sub



Proszę o pomoc.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z