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


Excel makra wklejania


Post new topic  Reply to topic      Main Page -> Forum Index -> Computer Service -> Computer Software -> Excel makra wklejania
Author
Message
piotr1110
Poziom 6
Poziom 6


Joined: 29 Jul 2009
Posts: 18
Location: Warszawa

Post#1 Post from the author of the topic 29 Jul 2009 11:29   

Excel makra wklejania


Witam,
W arkuszu 1 mam listę materiałów KolumnaA- index kolumnaB -nazwa (kilkaset pozycji) KolumnaC - wartości.
Chciałbym aby do arkusza 2 (z arkusza 1) wklejały się tylko pozycje o kodzie początek 93* nazwie "FOLIA" oraz wartości z kolumnyC zmienione z jednostki mb na kg (w zależności od indexu np. 93-001 = C/72, 93-002 = C/15, 93-003 = C/13
Back to top
   
adamas_nt
Poziom 22
Poziom 22


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

Post#2 29 Jul 2009 12:45helpful post - solution   

Re: Excel makra wklejania


Może w ten sposób...



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

Back to top
   
Google

Google Adsense


Post# 29 Jul 2009 12:45helpful post - solution   





Back to top
   
piotr1110
Poziom 6
Poziom 6


Joined: 29 Jul 2009
Posts: 18
Location: Warszawa

Post#3 Post from the author of the topic 29 Jul 2009 15:58   

Re: Excel makra wklejania


Mógłby porosić o gotowca do wlejenia:

index to zakres A8:A600
nazwa to zakres B8:B600
warości1 to zakres FW8:FW600
warości2 to zakres FX8:FX600
warości3 to zakres FY8:FY600
warości4 to zakres FZ8:FZ600
Back to top
   
adamas_nt
Poziom 22
Poziom 22


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

Post#4 29 Jul 2009 18:08   

Re: Excel makra wklejania


piotr1110 wrote:
Mógłby porosić o gotowca
Nie ma sprawy. Ale:
1. Jest dla Ciebie okazja złapać o co w tych pętlach chodzi (kombinuj, pytaj).
2. Jeśli chcesz gotowca, wpisz kilka wierszy danych do arkusza w układzie, jaki masz w oryginale (+ podpowiedź o co chodzi) i wrzuć na forum w postaci załącznika bez prowizji. Zaoszczędzi to wszystkim czasu, unikniemy pomyłek i niedomówień (nie wiem jak inni, ale pojęcia zielonego nie mam co też może być w zakresach: "wartości2", "wartości3" i co z tym zrobić)
Back to top
   
piotr1110
Poziom 6
Poziom 6


Joined: 29 Jul 2009
Posts: 18
Location: Warszawa

Post#5 Post from the author of the topic 30 Jul 2009 14:54   

Re: Excel makra wklejania


napisałem: zależności od indexu np. 93-001
dlaczego w module jest 92001?
Wartości 2, Warości 3, to zużycie foli w kolejnych kwartałach

Dodano po 19 [minuty]:

jak zapisać index 93-020-001
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 30 Jul 2009 14:54   





Back to top
   
adamas_nt
Poziom 22
Poziom 22


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

Post#6 30 Jul 2009 15:58   

Re: Excel makra wklejania


Musiałoby być cos takiego, sprawdź
Code:
Sub CopyCount()

Const wrt01 As Single = 72
Const wrt02 As Single = 15
Const wrt03 As Single = 13
Dim i As Integer, licznik As Integer, ark As String

ark = "Arkusz2" ' nazwa arkusza docelowego
licznik = 2 'pierwszy wiersz ark docelowego

Sheets(ark).Range("A2:C" & Range("A2").End(xlDown).Row).ClearContents 'czysc zakres

For i = 8 To 600 'tu ustawiasz Nr wierszy zakresu źródłowego
    If Left(Cells(i, 1), 2) = "93" And LCase(Left(Cells(i, 2), 5)) = "folia" Then
    'jeżeli kod zaczyna sie od "93" oraz
    '5 pierwszych znaków nazwy, zamienionych na małe litery = "folia"
       
        'przypisanie: arkusz.komórka docelowa = komórka źródłowa
        Select Case Right(Cells(i, 1), 2) 'sprawdzam dwa ostatnie znaki
        'i w zależności jakie są ich wartości dzielimy przez stałą zadeklarowaną na początku
            Case "01":  Sheets(ark).Cells(licznik, "C") = Cells(i, "FW") / wrt01
                        Sheets(ark).Cells(licznik, "D") = Cells(i, "FX") / wrt01
                        Sheets(ark).Cells(licznik, "E") = Cells(i, "FY") / wrt01
                        Sheets(ark).Cells(licznik, "F") = Cells(i, "FZ") / wrt01
                       
            Case "02":  Sheets(ark).Cells(licznik, "C") = Cells(i, "FW") / wrt02
            'i tu przepisujesz jak dla pierwszego, zmieniasz tyko dzielnik
           
            Case "03":  Sheets(ark).Cells(licznik, "C") = Cells(i, "FW") / wrt03
            'i jeszcze raz dla następnego warunku
           
            Case Else:  Sheets(ark).Cells(licznik, "C") = ""
            'tu też możesz nie musisz. Uruchamiany gdy nie jest spełniony zaden
            'z warunków
        End Select
       
        Sheets(ark).Cells(licznik, "A") = Cells(i, "A") 'indeks
        Sheets(ark).Cells(licznik, "B") = Cells(i, "B") 'nazwa
        licznik = licznik + 1
    End If
Next
Sheets(ark).Select
End Sub
Opisałem tak, że powinieneś się połapać. Nie pisałem przypisania dla następnych warunków, bo bez tego i tak jest długa a jak sam widzisz jest to dość oczywiste.
Odnośnie indeksów: Makro sprawdza tylko dwa pierwsze i dwa ostatnie znaki. Długość (czyli co jest w środku) nie ma znaczenia.
Back to top
   
piotr1110
Poziom 6
Poziom 6


Joined: 29 Jul 2009
Posts: 18
Location: Warszawa

Post#7 Post from the author of the topic 31 Jul 2009 08:09   

Re: Excel makra wklejania


93-020-001
93-021-001
Tak wyglądają kody dlatego środek jest kluczowy.
Jest ich około 6 różnych. a pozostałe dzielę przez 72,5, tylko nie wiem
jak zapisać kody pozostałe tzn. mające początek 93* próbowałem gwiazdkę ale nie działa.
Back to top
   
adamas_nt
Poziom 22
Poziom 22


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

Post#8 31 Jul 2009 08:23   

Re: Excel makra wklejania


Można rozwinąć warunki instrukcji Select Case. Mamy:
Select Case Right(Cells(i, 1), 2) 'sprawdzam dwa ostatnie znaki

Można Np:
Select Case Right(Cells(i, 1), 7) 'sprawdzam siedem znaków od prawej
i wtedy:
Case "020-001": polecenie(a) dzielenia przez wrt1
Case "021-001": polecenie(a) dzielenia przez wrt1a
itd
Case Else : polecenie(a) 'TU wszystkie inne rozpoczynające się od "93" zgodnie z If Left(Cells(i, 1), 2) = "93" podanym na początku pętli.

I wszystkie kody powinny być w tym (xx-xxx-xxx) formacie.
Tylko nie jestem pewien, czy o to chodzi...
Back to top
   
Google

Google Adsense


Post# 31 Jul 2009 08:23   





Back to top
   
piotr1110
Poziom 6
Poziom 6


Joined: 29 Jul 2009
Posts: 18
Location: Warszawa

Post#9 Post from the author of the topic 31 Jul 2009 12:15   

Re: Excel makra wklejania


I wszystkie kody powinny być w tym (xx-xxx-xxx) formacie.

ale wtedy wyskakuje błąd albo ucina otatnie dwa znaki
Back to top
   
adamas_nt
Poziom 22
Poziom 22


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

Post#10 31 Jul 2009 17:01   

Re: Excel makra wklejania


adamas_nt wrote:
wpisz kilka wierszy danych do arkusza w układzie, jaki masz w oryginale (+ podpowiedź o co chodzi) i wrzuć na forum w postaci załącznika bez prowizji. Zaoszczędzi to wszystkim czasu, unikniemy pomyłek i niedomówień

Back to top
   
piotr1110
Poziom 6
Poziom 6


Joined: 29 Jul 2009
Posts: 18
Location: Warszawa

Post#11 Post from the author of the topic 03 Aug 2009 07:15   

Re: Excel makra wklejania


A B FW
8 93-020-001 FOLIA 100 /13,1
9 93-021-001 FOLIA 1 100 /66,0
10 93-022-001 FOLIA 2 100 /11,8
11 93-086-001 FOLIA 3 100 /72,5
12 93-096-001 FOLIA 3 100 /72,5
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Computer Service -> Computer Software -> Excel makra wklejania
Page 1 of 1
Similar topics
[Excel] Makra do usprawnienia czasu obliczeń (4)
Excel poprawienie makra o dodatkowe kolumny (7)
Makra w Excel 2007 Dodawanie przycisku (8)
Excel - makra - Przekształcenie kodu (4)
Excel - makra zmieniające wartości x w y (2)
Excel makra zdjęcia (12)
Excel - tworzenie makra (6)
Excel - kłopot z blokowaniem wklejania i wstawianiem - makro (10)
EXCEL-makra nie mogę włączyć makra (25)
Excel makra zmiana stanu towarów na mgazynie (2)

Page generation time: 1.255 seconds


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