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
ID tematu: 70123 Skopiuj do schowka Kopiowanie między arkuszami-Makro czy formuły - co prostsze
Autor Wiadomość
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 11-02-2021, 21:45   Kopiowanie między arkuszami-Makro czy formuły - co prostsze

Proszę o pomoc w kopiowaniu pomiędzy arkuszami.
W pierwszym arkuszu mam kilkaset 6-liniowych danych, z których każde 6 linii dotyczy tego samego samochodu.
W drugim będę miał te same dane, ale w innej konfiguracji.
Próbowałem z funkcją PRZESUNIĘCIE, ale działałaby gdyby kopiować do kolejnych wierszy, a nie do rosnących o stałą liczbę.
Dałoby się zrobić to nie funkcją, a jakimś zmyślnym makrem?
W załączonym pliku - przykład, z którego prawej strony (będzie to w drugim arkuszu) będę za pomocą funkcji ZŁĄCZ.TEKST miał to, co potrzebuję.
Byłbym wdzięczny… :-D

Zeszyt1.xls
Pobierz Plik ściągnięto 10 raz(y) 48.5 KB

ID posta: 400218 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3096 razy
Posty: 10264
Wysłany: 12-02-2021, 02:03   

Blasius napisał/a:
kilkaset 6-liniowych danych
+
Blasius napisał/a:
funkcją PRZESUNIĘCIE
+
Blasius napisał/a:
ZŁĄCZ.TEKST
Biedny ten Exelek w Twoich rękach. ;-)

Do wykonania zadania potrzebne dane w kolumnach A:E oraz w tym samym arkuszu jeden szablon kodu html w zakresie H1:O47.
I odpal:
Kod:

Sub AAA()
    Dim vSzablon    As Variant
    Dim v           As Variant
    Dim vX          As Variant
    Dim vWynik      As Variant
    Dim i           As Long
    Dim w           As Long
    Dim k           As Long
    Dim lRow        As Long
    Dim wks         As Worksheet

    vSzablon = Range("H1:O47")
    lRow = Cells(Rows.Count, "A").End(xlUp).Row

    ReDim vX(1 To UBound(vSzablon))

    ReDim vWynik(1 To UBound(vSzablon) * lRow / 6 + lRow / 6 - 1, 1 To 1)

    For i = 1 To lRow Step 6
        v = Cells(i, 2).Resize(6, 4).Value

        vSzablon(7, 2) = v(1, 1)
        vSzablon(17, 2) = v(1, 1)
        vSzablon(20, 2) = v(1, 1)
        vSzablon(20, 4) = v(1, 1)
        vSzablon(21, 2) = v(1, 1)

        vSzablon(22, 2) = v(1, 2)
        vSzablon(22, 4) = v(1, 3)

        vSzablon(25, 5) = v(2, 4)
        vSzablon(26, 5) = v(3, 4)
        vSzablon(27, 5) = v(4, 4)
        vSzablon(28, 5) = v(5, 4)
        vSzablon(30, 4) = v(6, 4)
        vSzablon(30, 6) = v(6, 4)

        With Application
            For w = 1 To UBound(vSzablon)
                vWynik(w + k, 1) = Join(.Index(vSzablon, w, 0), vbNullString)
            Next w

            k = k + w
        End With
       
        DoEvents
    Next i

    With ActiveWorkbook
        Set wks = .Worksheets.Add(After:=.Sheets(.Sheets.Count))
    End With

    wks.Range("B1").Resize(UBound(vWynik)).Value = vWynik


    w = 0

    For i = 1 To UBound(vWynik) Step UBound(vSzablon)
        If i > 1 Then
            With wks.Cells(i + w, 1)
              .Resize(, 10).Interior.Color = RGB(128, 128, 128)
              .Value = "X"
            End With
            w = w + 1
        End If
    Next i

End Sub

W starym Excelu swobodnie 1300 samochodzików się zmieści.

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 400222 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 10:25   

Artik - jesteś genialny!!!
Wielkie dzięki za tak szybką pomoc (godz. 02:03).
Jestem bardzo wdzięczny, sam nie dałbym rady, mój poziom znajomości VBA to 1 klasa podstawówki, dlatego kombinowałem z funkcjami.
Ale Twoje makro jest i proste i skuteczne.
Szacun! :danke
ID posta: 400244 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 12-02-2021, 10:54   Tworzenie pliku HTML

Blasius napisał/a:
Artik - jesteś genialny!!!
Wielkie dzięki za tak szybką pomoc (godz. 02:03).
Widać spać to mu nie dawało, że zostanie post bez odpowiedzi, a to nie są tanie rzeczy. :haha

Nie wiem co chcesz zrobić, a przyjąłem że chcesz generować pliki html dla każdego z aut.
Zerknij do załącznika - do arkusza "Auta"
Tak bym to widział:
W katalogu z plikiem Auta.xls umieściłem szablon - plik "szablon.ini" , w którym podmieniamy wartości, czyli markę, model, nr.rej itd..
Testuj.

Auta.rar
Pobierz Plik ściągnięto 5 raz(y) 28.52 KB

_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
Ostatnio zmieniony przez Marecki 13-02-2021, 19:16, w całości zmieniany 1 raz  
ID posta: 400247 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 17:50   

Nie mogę inaczej odpowiedzieć, że Marecki - też jesteś genialny!!! :danke
Również dziękuję. I z lenistwa chyba wybiorę Twoją wersję, bo rzeczywiście chodzi o stronki.
To mogę liczyć na jeszcze dwie podpowiedzi?
Otóż w obrazkach (jpg-ach) będę miał czasami dwa słowa i muszą one być połączone, np dolnym myślnikiem.
Da się dodać jakąś linijkę kodu, żeby w takim przypadku automatycznie były te słowa łączone?
Drugie pytanie - co zrobić jak nie będę mógł wpisać jakichś danych, jak zlikwidować zbędne wpisy, np
Kod:
<a target="_blank" href=
?
Pierwsza podpowiedź chyba (?) jest prosta, ale druga raczej niemożliwa, chociaż VBA jest zdolne do wszystkiego.
Pomożesz?
Z góry dziękuję!!!
ID posta: 400279 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 12-02-2021, 18:39   

Nie bardzo rozumiem. Daj jakiś konkretny przykład na danych i jak ma wyglądać kod html.

Blasius napisał/a:
Otóż w obrazkach (jpg-ach) będę miał czasami dwa słowa i muszą one być połączone, np dolnym myślnikiem.
Da się dodać jakąś linijkę kodu, żeby w takim przypadku automatycznie były te słowa łączone?
Chodzi o ten tag?
Kod:
<div id="obrazek"><img src="PEUGEOT.jpg" width="285" height="215" alt="PEUGEOT"></div>
i ma wyglądać np. tak:
Kod:
<div id="obrazek"><img src="Alfa_Romeo.jpg" width="285" height="215" alt="Alfa_Romeo"></div>
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 400281 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 19:09   

Jeśli chodzi o jpg, to właśnie o to mi chodzi, o dolny myślnik np w Alfa_Romeo.jpg. Da się dodać jakiś kawałek kodu?

A na pierwsze pytanie - chodzi o to, żeby jak będę miał adres strony, to kod będzie wyglądał tak jak dotychczas::
Kod:
<tr><td id="td7" >Adres internetowy:</td><td id="td17"><a target="_blank" href="https://www.Fiat.com/">https://www.Fiat.com/</a></td></tr>

a jak nie będę miał adresu strony, to html będzie wyglądał tak::
Kod:
<tr><td id="td7" >Adres internetowy:</td></tr>

a na stronie będzie po prostu puste miejsce.
Da się zrobić? :roll:
ID posta: 400282 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 12-02-2021, 19:39   

Cytat:
a na stronie będzie po prostu puste miejsce.
Zrobiłem bez miejsca pustego. Poprawić ?

Testuj.

Auta.rar
Pobierz Plik ściągnięto 8 raz(y) 31.89 KB

_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 400284 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 20:11   

Super!
Dzieła i wygląda w sumie lepiej niż z pustym miejscem!
A co z zapisem nazwy obrazka bez spacji?
Mogę jeszcze o to poprosić? :?:
ID posta: 400287 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 12-02-2021, 20:46   

Blasius napisał/a:
A co z zapisem nazwy obrazka bez spacji?
Tego nie trzeba zmieniać w kodzie, bo jeśli nie będzie spacji to po prostu nie podstawi znaku "_".
Zmień tylko plik szablon.ini na ten z załącznika.

szablon.rar
Pobierz Plik ściągnięto 2 raz(y) 1.05 KB

_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 400289 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 22:25   

Lipa...
Kod:
<div id="obrazek"><img src="#MARKA.JPG#.jpg" width="285" height="215" alt="#MARKA#"></div>

nie działa, nie wyświetla obrazka. Wyświetla tylko nazwę - Alfa Romeo.
Jak zapisałem obrazek Alfa Romeo, to dodało mi myślnik pomiędzy, ale nie był obrazek widoczny na stronie?!

A jak rozwinąłem (porozdzielałem na kolejne linie) kod, to pojawił się na stronie napis
Kod:
adres internetowy:    #WWW#

Chociaż jak kliknąłem na Twoim szablonie, to było OK.
Coś źle robię?
Nie rozumiem tego... :cry:
ID posta: 400295 Skopiuj do schowka
 
 
Marecki 
Excel Expert



Wersja: Win Office 2019
Pomógł: 2496 razy
Posty: 8293
Wysłany: 12-02-2021, 22:44   

Pokaż działający kod html. Podeślij plik.
_________________
Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.

Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki.
ID posta: 400297 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 22:59   

Prawie nic nie zmieniałem ani w kodzie, ani w szablonie.

Kod:
<!DOCTYPE html>
<html lang="pl">
<head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="Description" content="Park samochodowy">
<meta name="Keywords" content="Alfa Romeo"/>
<meta name="Author" content="blasius">
<meta name="Robots" content="ALL"/>
<meta name="Creation-Date" content="2020-02-11"/>
<meta name="revisit-after" content="14 Days"/>
<meta name="distribution" content="global"/>
<meta name="rating" content="general"/>
<meta name="theme-color" content="#ffffff"/>
<link rel="apple-touch-icon" href="/ikony/apple-touch-icon.png" sizes="152x152" type="image/png"/>
<link rel="manifest" href="manifest.json"/>
<title>Marka:Alfa Romeo</title>
<style>
<!--
body {
      background-image: url('carpet6.jpg');
      }
       -->
</style>
<link rel="stylesheet" href="styltabeli.css">
</head><body>
<div id="obrazek"><img src="#MARKA.JPG#.jpg" width="285" height="215" alt="Alfa Romeo"></div>
<div id="nazwa"><h2>Alfa Romeo</h2></div>
<div id="numer">B-330</div><div><h2>Nr rej.</h2></div><div><h2>AB550AB</h2></div>
<table class="responsive-card-table"
><thead/><tbody>
<tr><td id="td1">pojemność:</td><td id="td11">2200 ccm</td></tr>
<tr><td id="td2">Nr VIN:</td><td id="td12">XXXXXXXX</td></tr>
<tr><td id="td3">przebieg:</td><td id="td13">55000 km</td></tr>
<tr><td id="td4">rok produkcji:</td><td id="td14">Rok 2018</td></tr>
<tr><td id="td5" colspan="2">Więcej szczegółów znajduje się poniżej na stronie producenta . Kliknij!:</td></tr>
<tr><td id="td6">adres internetowy:</td><td id="td16"><a target="_blank" href="#WWW#">#WWW#</a></td></tr>
</table>
<div id="stopka"><a href="javascript:window.close()">Zamknij okno</a></div>
<script>
<script>
const PATH = '/sw.js';

let isServiceWorkersSupport = ('serviceWorker' in navigator);

if (isServiceWorkersSupport) {
    console.log('Will service worker register?');
    navigator.serviceWorker.register(PATH).then(function () {
        console.log("Yes it did.");
    }).catch(function (err) {
        console.log("No it didn't. This happened: ", err)
    });
}
</script>
</body></html>


dodałem tylko styltabeli.css, tło i zdjęcie Alfa-Romeo.jpg
I właśnie tego zdjęcia nie pokazuje.
Do pomocy dołączam cały katalog...
ID posta: 400298 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 23:02   

Coś nie dodało pliku...
Teraz jest?
ID posta: 400299 Skopiuj do schowka
 
 
Blasius 
Starszy Forumowicz


Posty: 27
Wysłany: 12-02-2021, 23:06   

Teraz się udało. 7zip nie wchodzi...

Auta.zip
Pobierz Plik ściągnięto 3 raz(y) 71.45 KB

ID posta: 400300 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