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 dmjs 6 3435 17.04.2019, 10:20
Ostatni post: ptrick
  [VBA] Tworzenie nowego arkusza z danymi z TextBox'a Pioro 4 8501 19.06.2018, 23:24
Ostatni post: broda99
  [VBA] Przenoszenie danych między formularzami Pioro 4 8863 23.04.2018, 11:48
Ostatni post: broda99

Skocz do:


Wybrane wątki (VBA Pobieranie wybranych plików z danymi)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  SQL zapisanie w rekordzie nazwy zalogowanego użytkownika karlos1323 11 3285 30.12.2017 11:08
Ostatni post: koneton
  Mały algorytm bartek164 3 8819 25.12.2017 10:41
Ostatni post: Szachista
  Git - kompilacja pobranej apki ~Anonim 6 8527 23.12.2017 14:59
Ostatni post: ~Anonim
  wczytywanie zmiennej z innego pliku batch grymariusza 7 9316 18.12.2017 17:34
Ostatni post: broda99
  Jaki kod pod takie okno formularza w visualbasicu 2010? aktywny27 11 19061 26.11.2017 23:26
Ostatni post: Ajgor
  Jaki projekt na pythona bartek164 0 8264 25.11.2017 19:59
Ostatni post: bartek164
  [VB.NET] przenoszenie danych między formami Pioro 15 19860 19.11.2017 03:48
Ostatni post: broda99
  Java.android.Tworzenie akcji Blendow 0 8106 16.11.2017 23:38
Ostatni post: Blendow
  Proszę o pomoc, cmd! PanKasztan4 1 7597 16.11.2017 22:05
Ostatni post: broda99
  Jaki kod w visual basicu 2010 express? aktywny27 5 8774 07.11.2017 11:01
Ostatni post: Ajgor
  Sprawdzanie wygranej. PixelFullHD 1 8319 03.11.2017 18:38
Ostatni post: Ajgor
  Algorytm Genetyczny C pr1991 3 8665 26.10.2017 11:52
Ostatni post: Szachista
  Program C++ do pola i objętości mistrz18 2 8753 18.10.2017 23:10
Ostatni post: Ajgor
  [C]Część wspólna 2 przedziałów. polak3018 2 7909 13.10.2017 16:43
Ostatni post: ptrick
Question Wyznaczanie maksimum spośród 5 liczb - schemat blokowy mistrz18 5 8308 05.10.2017 19:49
Ostatni post: broda99