ID tematu: 70123
 |
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…
Zeszyt1.xls
|
Pobierz Plik ściągnięto 10 raz(y) 48.5 KB |
|
|
 | ID posta:
400218
|
|
|
 |
|
|
|
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
|
|
|
 |
|
|
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! |
|
 | ID posta:
400244
|
|
|
 |
|
|
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.
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
|
|
|
 |
|
|
Blasius
Starszy Forumowicz

Posty: 27
|
Wysłany: 12-02-2021, 17:50
|
|
|
Nie mogę inaczej odpowiedzieć, że Marecki - też jesteś genialny!!!
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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ć? |
|
 | ID posta:
400282
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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... |
|
 | ID posta:
400295
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
Blasius
Starszy Forumowicz

Posty: 27
|
Wysłany: 12-02-2021, 23:02
|
|
|
Coś nie dodało pliku...
Teraz jest? |
|
 | ID posta:
400299
|
|
|
 |
|
|
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
|
|
|
 |
|
|
|
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
|
 |
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
|