Stránka 1 z 2

EXCEL - automatické vypĺňanie

Napsal: 20 bře 2022 14:35
od 28_nitro_28
Ahojte, narazil som na jeden problém s ktorým si neviem dať rady. Už som prevetral aj google ale nepodarilo sa mi dopátrať pravde.

V práci si potrebujem vypĺňať indexy od odliatkov. Skladá sa s písmena a čísla. No a problém nastáva keď si chcem dať automaticky vyplniť index s pozíciou na modely (sú 2 niekedy aj viac)

Príklad:

A1H1
A1H2
A2H1
A2H2
...

Keď to takto napíšem do excelu a dám automaticky vyplniť tak mi pokračuje vo vypĺňaní za Háčkom. Potreboval by som to mať v tomto tvare a nič inšie ako concatenate ma nenapadlo. Tak by som sa Vás chcel opýtať či by ste mi vedeli poradiť ako by som to mohol aj inak urobiť ak sa dá. vďaka

Re: EXCEL - automatické vypĺňanie

Napsal: 21 bře 2022 08:16
od atari
Co je index a co je model? Je potřeba abys přesně popsal jak ta automatizace má fungovat.

Re: EXCEL - automatické vypĺňanie

Napsal: 25 bře 2022 22:44
od 28_nitro_28
No z modelového zariadenia sa do piesku otlačí forma a po naliatí kovu s toho vznikne odliatok, každý má svoje značenie a to pozostáva z písmena a čísla (dvojciferné) takže klasicky začína A1, A2,A3... A99, potom ide B1, B2...
Lenže niektoré odliatky (menšie) sú na jednom modelovom zariadení 2x (kvôli úspore financií) a teda ide A1H1, A1H2 (H1,2 značí pozíciu kde na modeli sa to nachádza (ak by boli nejaké rozmerové problémy, tak je to takto označené)
A teda mne treba zadávať A1H1, A1H2, A2H1, A2H2...A99H1, A99H2

No a tu mi to excel nechce v tomto poradí vypĺňať. Už som skúšal kadečo ale bez úspechu. Vedeli by ste mi poradiť ako na to?

Ďakujem veľmi pekne.

Re: EXCEL - automatické vypĺňanie

Napsal: 26 bře 2022 01:56
od Uziv00
Makro:

Kód: Vybrat vše

For i = 1 To 99
Cells(2 * i, 1) = "A" & i & "H1"
Cells(2 * i + 1, 1) = "A" & i & "H2"
Next
Příklad je pro písmeno A, zbytek už si určitě zvládneš dodělat sám. Soubor přikládám.

Re: EXCEL - automatické vypĺňanie

Napsal: 26 bře 2022 05:52
od 28_nitro_28
Veľká vďaka :-) si super, ani si nevieš predstaviť koľko času mi ušetriš :-)

Re: EXCEL - automatické vypĺňanie

Napsal: 26 bře 2022 18:32
od 28_nitro_28
Ak by som chcel vynechať v reťazci určité indexy ako napr. čísla 6,9,66,69,96,99 dá sa to naprogramovať?

Re: EXCEL - automatické vypĺňanie

Napsal: 26 bře 2022 20:57
od atari

Kód: Vybrat vše

Sub vyplneni()
posun = 0
For i = 1 To 99
    If i = 6 Or i = 9 Or i = 66 Or i = 69 Or i = 96 Or i = 99 Then
        posun = posun + 2
    Else
        Cells(2 * i - posun, 1) = "A" & i & "H1"
        Cells(2 * i - posun + 1, 1) = "A" & i & "H2"
    End If
Next
End Sub

Re: EXCEL - automatické vypĺňanie

Napsal: 26 bře 2022 21:11
od 28_nitro_28
Veľká vďaka chlapy :-) ste moji zachrancovia

Re: EXCEL - automatické vypĺňanie

Napsal: 26 bře 2022 22:07
od Grimm
Ahoj, napadla mě taková menší změna v Atariho kódu pro jednodušší zápis vynechaných čísel s nahrazením If za Select Case.
Prostě se jednotlivá čísla zapíší jednoduše za sebou.

Kód: Vybrat vše

Sub vyplneni()
Dim posun As Integer
Dim i As Integer

posun = 0
For i = 1 To 99
    Select Case i
   'zde uvedená čísla budou vynechána, pokud chceme vynechání zrušit zapíšeme 0 (Case 0)
    Case 6, 9, 66, 69, 96, 99
        posun = posun + 2
    Case Else
        Cells(2 * i - posun, 1) = "A" & i & "H1"
        Cells(2 * i - posun + 1, 1) = "A" & i & "H2"
    End Select
Next
End Sub

Re: EXCEL - automatické vypĺňanie

Napsal: 27 bře 2022 14:10
od 28_nitro_28
Ďakujem pekne za Váš čas a pomoc.

Napadlo ma ešte ako by sa dalo zapísať keby že chcem skombinovať 2 rozdielne písmená a pre každé z nich iný číselný rozostup?

Príklad: často sa stáva, že tavby odlejú v rozmedzí indexov A84 - B12 teda viem zapísať zvlášť pre A84-99 a zvlášť pre B1-12? samozrejme v zápise by mali ostať tie vynechané indexy 6,9,66,69,96,99

Skúšal som prekopírovať ten kód a pozmeniť A za B ale nefungovalo to a keďže absolútne nepoznám ako sa kóduje tak sa to dalo aj čakať :-)

Ďakujem za info :-)

Re: EXCEL - automatické vypĺňanie

Napsal: 27 bře 2022 17:12
od Grimm
Chápu správně, že ty vynechané indexy 6,9,66,69,96,99 platí pro A i B?
Pokud ano, tak:

Kód: Vybrat vše

Sub vyplneni_Index_A_B()
Dim posun As Integer
Dim i As Integer, x As Integer
Dim Index()

ReDim Index(1 To 2, 1 To 3)
Index(1, 1) = "A"
Index(1, 2) = 84    'min
Index(1, 3) = 99    'max
Index(2, 1) = "B"
Index(2, 2) = 1     'min
Index(2, 3) = 12    'max

For x = LBound(Index, 1) To UBound(Index, 1)
    For i = Index(x, 2) To Index(x, 3)
        Select Case i
       'zde uvedená čísla budou vynechána, pokud chceme vynechání zrušit zapíšeme 0 (Case 0)
        Case 6, 9, 66, 69, 96, 99
             
        Case Else
            Range("A2").Offset(posun).Value = Index(x, 1) & i & "H1"
            posun = posun + 1
            Range("A2").Offset(posun).Value = Index(x, 1) & i & "H2"
            posun = posun + 1
        End Select
    Next i
Next x

Erase Index
End Sub


Re: EXCEL - automatické vypĺňanie

Napsal: 27 bře 2022 17:42
od 28_nitro_28
Áno, vynechané indexy sú práve kvôli tomu, že sú Anagram, teda keď sa opačne otočia sú identické 6,9...

Bol by problém pretože chemické a mechanické vlastnosti sa robia presne podľa čísla tavby (teda priamo na zvolené indexy)
Koncový zákazník to požaduje protokolovať a teda keby sa to omylom vymenilo už by tam bol problém (ak by sa liali 2x po sebe idúce tavby, s ktorých by jedna obsahovala index 6 a druhá 9) mohlo by sa stať, že by nevyšli skúšky a keďže by to mohlo byť pomiešané tak by sa nevedelo presne, ktorá z kade je.

Pozeral som zápis vyzerá zaujímavo, sám by som to nikdy asi nedal tak obrovská vďaka :-)

Funguje perfektne a stačí už iba údaje pomeniť :-)

Ďakujem pekne za Váš čas :-)