Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: bodek
06-07-2014, 20:48
No to znów zagadka
Autor Wiadomość
Bill Szysz 
Excel Expert


Wersja: Win Office 365
Pomógł: 898 razy
Posty: 3603
Wysłany: 02-07-2014, 18:20   No to znów zagadka

No to zagadeczka...następna :mrgreen:
W komórce A1 wpisano tekst jak na załaczonym obrazku.
Nie używając żadnych formuł ani mechanizmów wbudowanych (szczególnie mam na mysli "Tekst jako kolumny") sprawić by kazdy wyraz znalazł się w osobnej komórce w jakimś (dowolnym) wierszu. Nie jest konieczne by początek wypełniania komórek wyrazami był w kolumnie A (ale może być). Innymi słowy, w dowolnym miejscu skoroszytu (może być również inny arkusz albo nawet inny plik excelowy) od dowolnej komórki ma się zacząć wypełnianie wyrazami z komórki A1 kolejnych komórek w wierszu.
Mam nadzieję że jasno się wyraziłem :-) )
Dobrej zabawy życzę i pozdrawiam:-))


Zapomniałem..... odpowiedzi na PW poproszę:-) Zaproponujcie do kiedy ma trwać zbieranie odpowiedzi.

zagadka4.jpg
Plik ściągnięto 95 raz(y) 70.18 KB

ID posta: 230106 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 03-07-2014, 08:47   

A VBA? ;-)
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 230132 Skopiuj do schowka
 
 
Bill Szysz 
Excel Expert


Wersja: Win Office 365
Pomógł: 898 razy
Posty: 3603
Wysłany: 03-07-2014, 10:18   

Wormsek, :niee :mrgreen:

Ok... może ja źle na to patrzę i jest to trudne jednak.... wpadłem na to już dość dawno temu a teraz mi się przypomniało :-D
Podpowiedź więc.... Nie wolno użyć ani formuł, ani VBA ani mechanizmów wbudowanych do TEGO tekstu w A1... nie wolno nawet w tym pliku (skoroszycie)... ale gdzie indziej można używać czego się chce (mówimy cały czas o Excelu). Nie wolno jednak przekleić tekstu z A1 (czy też wpisać go gdzieś indziej "z palca")do innego pliku tam czegoś użyć i wstawić znów do naszej A1.... tak nie wolno:-).
Aaa..i żeby nie było..... żadne formuły z innego pliku nie odnoszą się do naszej A1 (czyli zero poprzedników i następników)
No to chyba dość podpowiedzi :-)
ID posta: 230147 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-07-2014, 09:11   

I jak tam? Jakieś poprawne odpowiedzi są? ;-) . Bo podejrzewam, że wykluczeniem narzędzi wbudowanych zostawiłeś niezłą furtkę do dyskusji na temat pomysłów ;-)

Może być dużo kwestionowania ;-)
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 230238 Skopiuj do schowka
 
 
Bill Szysz 
Excel Expert


Wersja: Win Office 365
Pomógł: 898 razy
Posty: 3603
Wysłany: 04-07-2014, 10:19   

Hehe....nie wykluczyłem całkowicie narzędzi wbudowanych..... wykłuczyłem je w pliku z naszym tekstem do rozdzielenia :-) ) Napisałem to moim drugim poście.. :-)
A kwestionować można zawsze i wszystko jak się ktoś uprze ;-) ...... ale wydaje mi się że dość jasno określiłem czego nie wolno a co wolno. Przekonamy się jak podam rozwiązanie :-)
Zrobię to dzis około 13.... bo chyba nie ma co dłużej czekać. :-D

Pozdrówki
_________________
Zlecenia, konsultacje, doradztwo i szkolenia z Power Query, Power BI i Excela - Raporty, Analizy, Projekty
Pozdrawiam, były szbill62 aktualnie Bill Szysz
ID posta: 230241 Skopiuj do schowka
 
 
Zbiniek 
Excel Expert



Zaproszone osoby: 2
Wersja: Win Office 2013
Pomógł: 417 razy
Posty: 2677
Wysłany: 04-07-2014, 11:00   

To w końcu czego nie można używać: narzędzi czy mechanizmów? :-P
Bo już się pogubiłem :mrgreen:
_________________
pozdrawiam
Zbiniek

Pisz po polsku! Jest różnica czy siedzisz w sadzie czy w sądzie. "Język polski jest ą-ę" :-)

Prawdopodobieństwo otrzymania satysfakcjonującej odpowiedzi jest proporcjonalne do właściwego sformułowania problemu (popartego załącznikiem).

Jest załącznik - jest impreza

http://rtfm.killfile.pl/
ID posta: 230243 Skopiuj do schowka
 
 
Bill Szysz 
Excel Expert


Wersja: Win Office 365
Pomógł: 898 razy
Posty: 3603
Wysłany: 04-07-2014, 11:27   

zbiniek, używaj czego tylko chcesz ale nie w tym pliku z tekstem do rozdzielenia :-) )

[ Dodano: 04-07-2014, 13:11 ]
Chyba przyszła pora na podanie rozwiązania :-P
Otrzymałem jedną prawidłową odpowiedź od cbr. Jednak i on nie do końca wiedział jak doszło do tego że mógł to zrobić. Czyli dlaczego Excel zachował się jak się zachował :lol:
Niemniej....dobra odpowiedź to dobra odpowiedź i zwycięzcą ogłaszam cbr :clap :beer

A teraz zapraszam do obejrzenia rozwiązania....

Rozwiązanie zagadki

Uzasadnione krytyki...... nie będą uwzględniane :mrgreen: :-P ....tak jak i nieuzasadnione :mrgreen: :-P

Pozdrawiam
_________________
Zlecenia, konsultacje, doradztwo i szkolenia z Power Query, Power BI i Excela - Raporty, Analizy, Projekty
Pozdrawiam, były szbill62 aktualnie Bill Szysz
ID posta: 230245 Skopiuj do schowka
 
 
cbr 
Excel Expert



Wersja: Win Office 2016
Pomógł: 506 razy
Posty: 1416
Wysłany: 04-07-2014, 13:53   

szbill62 napisał/a:
Niemniej....dobra odpowiedź to dobra odpowiedź i zwycięzcą ogłaszam cbr :clap :beer

:happy :cool1 :boss
_________________
Pozdrawiam
cBr
ID posta: 230253 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-07-2014, 14:02   

Ja to bardziej zawsze traktowałem jako bug, niż jako funkcjonalność, bo bardzo mnie denerwowało zapamiętywanie importu ostatniej kwery i podpinanie jej do schowka ;-)
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 230254 Skopiuj do schowka
 
 
Bill Szysz 
Excel Expert


Wersja: Win Office 365
Pomógł: 898 razy
Posty: 3603
Wysłany: 04-07-2014, 14:02   

hehe.... też się cieszę że wreszcie ktoś się uporał z zagadką :cool1 (bo poprzednie dwie jakoś na zwycięzcę nie mogły się doczekać :-P )
Tak z ciekawości spytam.... udało ci się dojść do powodów takiego zachowania zanim ogłosiłem rozwiązanie?

[ Dodano: 04-07-2014, 14:04 ]
Wormsek, to dlaczego nie przysłałeś rozwiązania opartego na "bug'u"?? ;-) A co....nic nie napisałem że takie nie może byc :-P
ID posta: 230255 Skopiuj do schowka
 
 
LAnd 
ExcelSpec



Pomógł: 366 razy
Posty: 1060
Wysłany: 04-07-2014, 18:32   

Mechanizm dzielenia strumienia tekstu wartości rozdzielonych separatorem [ np. CSV ,ang. Comma Separated Values ) jest wbudowany w aplikację Excela.

Zgodnie z zapamiętaną ostatnio większością parametrów (OpenTextFile lub TextToColumns) strumienie takie są rozdzielane. Są to procedury i parametry Aplikacji (Application)
Parametry nie są bezpośrednio dostępne

Separatorem wierszy są : znaki VbCr i VbLf albo para VbCrLf.
Separatorem domyślnym wartości jest VTab

Źródłem strumienia jest schowek - skopiowanie zawartości pliku, lub zbiór takich wartości, którego ikonę przeciągnie się na otwartą aplikację Excela.

Można użyć obiektu DataObject do przekazania odczytanej zawartości zbioru tekstowego do schowka a następnie zawartość tą wkleić do arkusza

Kod:
      inpZbName = Application.GetOpenFilename("Dane tekstowe (*.txt;*.csv),*.txt;*.csv", , _
     "zaznacz zbiór z tekstem", , False)
     If VarType(inpZbName) <> vbString Then Exit Function
   

'odczyt zbioru
    Set myFSO = CreateObject("Scripting.FileSystemObject")
   
    Set myTextStream = myFSO.OpenTextFile(inpZbName)
    inpStr = myTextStream.ReadAll
    myTextStream.Close

'utworzenie nowego arkusza
    Set OutSh = Workbooks.Add(xlWBATWorksheet).ActiveSheet

'ustawienie parametrów interpretacji wklejanego tekstu
    OutSh.Cells(1, 1).Value="a"
   
    OutSh.Cells(1, 1).TextToColumns Destination:=OutSh.Cells(1, 1), _
        DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, _
        DecimalSeparator:=",", ThousandsSeparator:=" "
   
     OutSh.Cells(1, 1).ClearContents   
   
    Set MyData = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
'zmiana 2014-07-09
'  New DataObject 'obiekt umożliwia wpisanie tekstu do schowka
'jeżeli nie jest użyta biblioteka MsForms poprzednia linia dałaby błąd
   
    MyData.SetText inpStr 'wstawienie tekstu do DataObject
    MyData.PutInClipboard 'wpisanie tekstu do schowka = Ctrl + C
    OutSh.Paste OutSh.Cells(1, 1) ' wklejenie testu do arkusza
_________________
Andrzej,
Najpierw wyjaśnijmy wszystko a potem resztę
Lepiej mieć z grubsza rację niż dokładnie się mylić
Niczego nie dowodzi ten, kto dowodzi zbyt wiele - Nihil probat, qui nimium probat.
ID posta: 230270 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe