Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

VBA Pobieranie wybranych plików z danymi

#1
VBA Pobieranie wybranych plików z danymi
Pilnie potrzebuję pomocy.
Mam folder ("osoby") z kilkonastoma plikami. Każdy z plików jest nazwany imieniem i nazwiskiem danej osoby; w plikach są informacje o tych osobach (wiek, zamieszkanie, itp.) Plik "lista osób" to dwie kolumny: imienazwisko.xls; imięnazwisko.
I potrzebuję ograniczyć pobieranie danych do wybranych osób, czyli żeby makro mi nie pobierało danych do wybranych osób: jest 100 nazwisk a ja chcę wykluczyć wszytskich janówkowalskich.
Z góry dziękuję!

Kod bierz z znaczniki "code"
Wyjątkowo poprawiłem.
broda99

.


Kod:
Sub MakroOsoby()
Dim tab_pliki(1 To 100, 1 To 2) As String
Dim ilosc_pliki As Integer
Dim stan As Boolean
Dim nr_wiersza As Integer
stan = False

Application.ScreenUpdating = False

Windows("lista_osób.xlsm").Activate
Range("A1").Select

While ActiveCell.Value <> ""
ilosc_pliki = ilosc_pliki + 1
tab_pliki(ilosc_pliki, 1) = ActiveCell.Value
tab_pliki(ilosc_pliki, 2) = ActiveCell.Offset(0, 1).Value

ActiveCell.Offset(1, 0).Range("A1").Select
Wend

ChDir "X:\moje\osoby\makro"
Workbooks.Open Filename:= _
"X:\moje\osoby\makro\dane.xlsx"
Windows("dane.xlsx").Activate
For i = 1 To ilosc_pliki

Range("A2").Select
stan = False
While ActiveCell.Value <> "" And stan = False

If ActiveCell.Value = tab_pliki(i, 2) Then
'kopiowanie
ActiveCell.Offset(0, 1).Range("A1:C1").Copy
Workbooks.Open Filename:="X:\moje\osoby\osoby\" & tab_pliki(i, 1), _
Origin:=xlWindows
Worksheets(1).Activate
Range("B1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
nr_wiersza = ActiveCell.Row
Range("A1").Select
Worksheets(2).Activate
Range("C1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Sheets(3).Select
ActiveChart.SetSourceData Source:=Sheets(1).Range("A1:D" & nr_wiersza)
Sheets(2).Select
Range("A1").Select
ActiveWorkbook.Close savechanges:=True
stan = True

ActiveCell.Offset(1, 0).Range("A1").Select
Else
ActiveCell.Offset(1, 0).Range("A1").Select
End If


Wend
Next i

' Workbooks.Open Filename:="X:\moje\osoby\osoby.xlsx", _
' Origin:=xlWindows
Range("C1").Select

End Sub
 System operacyjny: windows_eight Przeglądarka: firefox
#2
RE: VBA Pobieranie wybranych plików z danymi
Już ci odpowiedziałem tutaj: http://www.excelforum.pl/topics3/vba-pob...t61270.htm - (pod innym nickiem): daj "zbiorczy" plik z makrem i 2-3 przykładowe pliki z danymi do importu.

I doprecyzuj co to znaczy: "janówkowalskich" - jaka ma być reguła?


Wątek przenoszę do odpowiedniego działu.
broda99

.
Nie pomagam na PW (ew. odpłatnie). 
I osobom z roszczeniowym podejściem. I osobom niedbającym o poprawność językową.
Jak podawać logi
Jeśli nie odpowiadam w danym wątku przez >3 dni - proszę o przypomnienie na PW z linkiem do wątku w treści.




 System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (VBA Pobieranie wybranych plików z danymi)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [VBA Excel] Wyszukiwanie wartości w kolumnie Pioro 2 13240 22.06.2020, 18:27
Ostatni post: Pioro
  VBA excel dmjs 6 16876 17.04.2019, 10:20
Ostatni post: ptrick
  [VBA] Tworzenie nowego arkusza z danymi z TextBox'a Pioro 4 14543 19.06.2018, 23:24
Ostatni post: broda99

Skocz do: