Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: nowy arkusz w tym samym zeszycie
anonim




Typ: Nie zarejestrowany
nowy arkusz w tym samym zeszycie

Witam
mam pytanie chyba proste, bo dopiero zaczynam z VBA
chodzi o otwarcie pliku tekstowego jako kolejnego arkusza w tym samym pliku excela
jezeli wskazuje plik do otwarcia:
Application.GetOpenFilename z maska na pliki tekstowe
nastepnie otwieram plik:
Workbooks.Open nazwa pliku
jednak otwiera ten plik w nowym zeszycie excela a nie w otartym jako nowy arkusz

13-10-2004 13:46
  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Dajesz polecenie Workbooks.Open to co się dziwisz? - otwierasz nowy skoroszyt.

Po komendzie
Workbooks.Open
i otwarciu pliku tekstowego rozdzielanego spacjami lub innymi znakami możesz zrobić tak:



Sub OtworzTekst()
Dim sh As Worksheet

On Error Resume Next

'pobierasz pełną nazwę ze ścieżką
'Application.GetOpenFileName

'otwierasz
'Workbooks.OpenText

'zaznaczasz aktywny obszar
'ActiveSheet.UsedRange.Select

'kopiujesz
'Selection.Copy

'sprawdź, czy istnieje
Set sh = Workbooks("b.xls".Worksheets(Date)

'jeśli istnieje - usuń
If Not sh Is Nothing Then Workbooks("b.xls".Worksheets(Date).Delete

On Error GoTo Err_OtworzTekst
'dodajesz nowy arkusz do istniejącego skoroszytu (na końcu)
'np.: tego, z którego wywołujesz makro
Set sh = Workbooks("b.xls".Worksheets.Add(After:=Workbooks("b.xls".Worksheets(Workbooks("b.xls".Worksheets.Count))
With sh
    'zmień nazwę dla dodanego arkusza
    .Name = Date
    'wklej skopiowane dane
    .Range("A1".PasteSpecial xlPasteAll
End With

'tu zamknij otwarty plik tekstowy i działaj

Exit_OtworzTekst:
    Exit Sub

Err_OtworzTekst:
    Resume Exit_OtworzTekst
End Sub



_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

13-10-2004 19:37
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
anonim




Typ: Nie zarejestrowany

dzieki za odpowiedz
przydala sie ale w innym przypadku

poszperalem w helpach i znalazlem inne rozwiazanie, kotre wciaga plik tekstowy bez otwierania nowych skoroszytow, byc moze komus sie przyda:

Set sh = Workbooks("b.xls".Worksheets("tekst"
Set qtQtrResults = sh.QueryTables _
    .Add(Connection:="TEXT;" & filetoopen, _
        Destination:=sh.Cells(1, 1))
With qtQtrResults
    .TextFileParseType = xlDelimited
    .TextFileCommaDelimiter = True
    .Refresh
End With


pozdrawiam darek

18-10-2004 11:27
  
Wszystkich odpowiedzi: 2 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1