FAQ | Points | Add... | Recent posts | Search | Register | Log in


Szukam rozwiazania w VBA excel


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Beginners Programming -> Szukam rozwiazania w VBA excel
Author
Message
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#1 Post from the author of the topic 17 Mar 2010 17:44   

Szukam rozwiazania w VBA excel


witam

Mam takie zagadnienie do rozwiązania.

Mam dwa arkusze, arkusz1 oraz arkusz2, jak poniżej:

Szukam rozwiazania w VBA excel

W arkuszu 2 są Sp które wystepuja po kilka razy z róznymi komponentami, datami druku oraz maszynami. Natomiast w arkuszu1 są Sp unikalne. I teraz potrzebuję aby w arkuszu1 do kazdego Sp przypisywane były komponenty, data druku oraz maszyny z arkusza2. Tak jak to pokazałem na screenie oraz w pliku przykładowym.


Generalnie chodzi o to aby miec wiedze w arkuszu1 jaki komponent, kiedy i naczym sie bedzie drukował.
Nie wiem jak sie do tego za bardzo zabrac.

Proszę pomóżcie.



test.xls
 Description:
 n/a

Download
 Filename:  test.xls
 Contents:  
 Filesize:  20 KB
 Punkty:  0.00

Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#2 17 Mar 2010 17:57   

Re: Szukam rozwiazania w VBA excel


Coś takiego lepiej było by potraktować accessem. W Excelu dużo roboty...
Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#3 Post from the author of the topic 17 Mar 2010 18:05   

Re: Szukam rozwiazania w VBA excel


Ok, nie ma znaczenia. Możesz podpowiedzieć jak sie do tego zabrać?

Dodano po 3 [minuty]:

Aczkolwiek wolałbym w excelu :( bo wszystko siedzi własnie w excelu.

Chyba że, moze łatwiej może da sie zrobić coś takiego żeby wybierało tylko najstarszą date druku z wszystkich komponentów oraz komponent i maszyne i poprostu wstawiało obok tego inikalnego Sp w arkuszu1.
Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#4 17 Mar 2010 18:07   

Re: Szukam rozwiazania w VBA excel


Trzeba "latać" po komórkach w arkuszu docelowym jakąś pętlą i wyszukiwać czy jest tam tekst którego szukasz. Jeżeli jest - wstawić sąsiednią komórkę (albo kilka sąsiednich komórek) do arkusza docelowego.


A te dane w takiej durnej postaci muszą być?
Tj. nie w tabeli tylko w jakiejś... nie wiem jak to nazwać... tablicy?
Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#5 Post from the author of the topic 17 Mar 2010 18:12   

Re: Szukam rozwiazania w VBA excel


postac dowolna byle by były te dane.
moze jakis kod podrzucisz?
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 17 Mar 2010 18:12   





Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#6 17 Mar 2010 18:16   

Re: Szukam rozwiazania w VBA excel


Co to jest to "sp"?

Dodano po 1 [minuty]:

Sorry, już nie ważne. Źle zrozumiałem problem.
Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#7 Post from the author of the topic 17 Mar 2010 18:34   

Re: Szukam rozwiazania w VBA excel


czyli mi nie pomożesz ?
Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#8 17 Mar 2010 19:12   

Re: Szukam rozwiazania w VBA excel


Podpowiedź:

Code:


Public Sub RobCostam()
NazwaArkWej = "Arkusz1"
NazwaArkDocel = "Arkusz2"

'szukanie kolumny sp
For NumerWiersza = 1 To 10
  For NumerKolumny = 1 To 10
        If (Sheets(NazwaArkWej).Cells(NumerWiersza, NumerKolumny) = "sp") Then
            PoczTabWejWiersz = NumerWiersza
            PoczTabWejKolumny = NumerKolumny
           
            Exit For
            Exit For
        End If
    Next NumerKolumny
Next NumerWiersza

If MsgBox("Znalazłem początek tabeli z danymi." & Chr(13) & "Wiersz:" & NumerWiersza & " Kolumna:" & NumerKolumny & Chr(13) & "Kontynuować? (arkusz docelowy zostanie nadpisany)", vbYesNo) = vbNo Then Exit Sub

Sheets(NazwaArkDocel).Columns("A:D").Delete 'czysci kolumny przed wstawieniem danych

'niech się staną nagłówki
For x = 1 To 4
Sheets(NazwaArkDocel).Cells(1, x).Value = Sheets(NazwaArkWej).Cells(PoczTabWejWiersz, PoczTabWejKolumny + x - 1).Value
Next x

WierszWyj = 2

For WierszWej = 1 To 50 'przeszukuje 50 wierszy w tabeli wejściowej
   
    'DALEJ MI SIĘ NIE CHCE, PRÓBUJ SAM
   
Next WierszWej

End Sub


Back to top
   
Google

Google Adsense


Post# 17 Mar 2010 19:12   





Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#9 Post from the author of the topic 17 Mar 2010 21:22   

Re: Szukam rozwiazania w VBA excel


hm, coś tu jest zakrecone. Po co szukasz kolumny Sp. Musimy porównac dane z kolumny Sp w arkuszu 1 z arkusza2. To co nego napisałes to wydaje mi sie że mogłoby i bez tego też być. Sednem sprawy jest w przypadku odnalezienia dwóch takich samych nr Sp w arkuszach, przypisać do jednego Sp w arkuszu2 wartości z arkusza1 tyle tylko że z kilku rekordów (bo w arkuszu1 jest kilka takich samych Sp)

Sp to jest nr zadania

Dodano po 45 [minuty]:

kurcze zakręcone to jest.
Chyba weżme łatwiejszy wariant
Dla jednego Sp w arkuszu1 jest kilka rekordów i teraz chciał bym wybrać najstarszą date druku z tych rekordów.


Pomózcie prosze
Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#10 17 Mar 2010 21:40   

Re: Szukam rozwiazania w VBA excel


Zrób pętlę która będzie "jechać" po wszystkich "rekordach" (po 3 komórki) i je wstawiać do nowego arkusza. Numer wiersza z tabeli wejściowej jest powiązany z SP. Łatwo to wyciągnąć...

Dodano po 52 [sekundy]:

A ten kod na górze to zbiór przykładów jak można się odwoływać do komórek, nie rozwiązanie Twojego problemu.
Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#11 Post from the author of the topic 17 Mar 2010 21:41   

Re: Szukam rozwiazania w VBA excel


taa, wszystko ładnie pięknie tylko że ja jestem bardzo początkujący jeżeli chodzi o VBA
Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#12 17 Mar 2010 21:42   

Re: Szukam rozwiazania w VBA excel


Dane są w idiotycznym formacie i tyle. Żeby dane były jedne pod drugimi a nie obok, to zrobiło by się tabelę przestawną i by było załatwione.

Skąd bierzesz te dane?
Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#13 Post from the author of the topic 17 Mar 2010 21:50   

Re: Szukam rozwiazania w VBA excel


Dane mam w dwóch arkuszach. Arkusz1 gdzie mam kilka razy to samo sp z róznymi komponentami o róznych godzinach drukowane, natomiast w arkuszu2 jest tylko jedno unikalne sp. Jednakże oba arkusze nie moge zmienic gdyż takie są i tyle.

Pomoż mi wybrać max date druku dla Sp w arkuszu1 i przypisac te date do arkusz2 o tym samym Sp.
Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#14 17 Mar 2010 21:55   

Re: Szukam rozwiazania w VBA excel


Zrób sobie obok danych źródłowych kolumnę "max data" i wpisz tam =MAX(C4;F4;I4;L4) i ustaw dla tej kolumny format data/czas.
Back to top
   
bezdura
Poziom 12
Poziom 12


Joined: 20 Jan 2009
Posts: 85

Post#15 Post from the author of the topic 17 Mar 2010 22:30   

Re: Szukam rozwiazania w VBA excel


A mówiłeś coś o accesie. Wiesz jak to w nim zrobic??
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 17 Mar 2010 22:30   





Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#16 17 Mar 2010 22:33   

Re: Szukam rozwiazania w VBA excel


Wiem, ale dzisiaj wykorzystałeś już wszystkie darmowe minuty :)
Jak nikt się nie odezwie to jutro coś wytworzę.
Back to top
   
adamas_nt
Poziom 22
Poziom 22


Joined: 26 Jan 2008
Posts: 2112
Location: Nowy Tomyśl

Post#17 18 Mar 2010 10:44   

Re: Szukam rozwiazania w VBA excel


Takie moje kombinacje. Zamiast zagnieżdżać kilka pętli wykorzystałem tablicę. Procedura w kodzie arkusza uruchamiana przez zmianę wartości w komórce (kolumna A).



test(1).xls
 Description:
 n/a

Download
 Filename:  test(1).xls
 Contents:  
 Filesize:  42 KB
 Punkty:  0

Back to top
   
technics6
Poziom 22
Poziom 22


Joined: 19 May 2007
Posts: 2274
Location: Białystok

Post#18 18 Mar 2010 21:55   

Re: Szukam rozwiazania w VBA excel


adamas_nt mogłeś zrobić obsługę edycji więcej niż jednej komórki (np. gdyby autor zechciał wkleić do arkusza jakieś dane).

Kod kolegi adamas_nt po mojej aktualizacji:

Code:

Private Sub Worksheet_Change(ByVal TargetCells As Range)
Dim tmp As Variant
Dim tablica()
Dim wrt As Integer, i As Long, j As Integer

'If Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False

Dim Target As Range
    For Each Target In TargetCells
       
        'wyczysc wiersz
        tmp = Target.Value
        Rows(Target.Row).ClearContents
        Target.Value = tmp
   
        If Target.Column = 1 Then
          With Sheets("Arkusz2")
            wrt = 1
            'wypełnienie tablicy
            For i = 2 To .Range("A2").End(xlDown).Row
              If .Cells(i, 1) = Target.Value Then
                ReDim Preserve tablica(3, wrt)
                tablica(1, wrt) = .Cells(i, 2)
                tablica(2, wrt) = .Cells(i, 3)
                tablica(3, wrt) = .Cells(i, 4)
                wrt = wrt + 1
              End If
            Next
            'i z tablicy do arkusza
            j = 2 'Nr pierwszej kolumny w ark docelowym
            For i = 1 To wrt - 1
              Cells(Target.Row, j) = tablica(1, i)
              Cells(Target.Row, j + 1) = tablica(2, i)
              Cells(Target.Row, j + 2) = tablica(3, i)
              j = j + 3
            Next
          End With
        End If
    Next Target
   
Application.EnableEvents = True
End Sub

Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Beginners Programming -> Szukam rozwiazania w VBA excel
Page 1 of 1
Similar topics
[Excel] VBA makro - problem (21)
[VBa] Excel wyszukiwarka slow (3)
Excel VBA, przecinek i kropka (4)
VBA Excel - makro (15)
VBA, funkcje, Excel (5)
[Excel. Vba] Funkcja zmniejszająca w Vba (4)
[VBA][Excel] Odwołanie do wykresu (2)
Excel [VBA] sortowanie kolumny (1)
Excel - skomplikowana sprawa z VBA (4)

Page generation time: 0.389 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed