Marek00000
01.06.17,12:57
Ahojte, ospravedlnujem sa, ak tu takato otazka uz bola zodpovedana.
Potrebujem v exceli mozno jednoduchu vec, ale neviem dojst na sposob ako to urobit.

Mozno to budem zbytocne rozpisovat, viac v subore ktory prikladym. Je uvedene co potrebujem, ale co excel robi.

Velmi pekne dakujem za pomoc.
mepex
01.06.17,13:32
Prikladám riešenie pomocou PowerQuery (použiteľné od verzie 2010). V tabuľke Výstup stačí iba jej aktualizácia (Alt+F5).
vicktor
01.06.17,13:44
Kolko riadkov je v databaze?
Ak medzi "plnohodnotne" riadky vlozis 2 prazdne, kopirovany vzorec zafunguje - treba ho copy nanovo.
Ale ak je tych riadkov prilis vela, tak to bude pracne riesenie... :(
Napadlo ma skombinovat viac retazeni a do nich este pouzit =row(), ale popri robote som nepokracoval.
excel.sk
01.06.17,16:21
.
Bunka B1: =INDIRECT("Databáza!A"&ROUNDUP(ROWS($G$1:G1)/3;0)+1)
Bunka B2: =INDIRECT("Databáza!B"&ROUNDUP(ROWS($G$1:G2)/3;0)+1)&" "&INDIRECT("Databáza!c"&ROUNDUP(ROWS($G$1:G2)/3;0)+1)
Bunka B3: prázdna

Všetky 3 bunky vyberte a kopírujte smerom nadol
.
Marek00000
01.06.17,16:46
Veľmi pekne ďakujem, zajtra v práci vyskúšam. Myslím ale, že posledná možnosť, je presne to čo som hľadal. Samozrejme veľká vďaka aj ostatným, cením si vašu pomoc a čas :) Ešte raz ďakujem, veľmi mi to pomohlo.
xxn
27.06.17,17:15
Skús do VBA editora nakopírovať nasledujúce makro a spustiť (F5). Súbor v ktorom sa nachádza zošit "Databáza" musí byť otvorený. Výsledný súbor by sa mal objaviť v novovytvorenom zošite "Výsledok2".

Sub MakroKopirujAdresy()
Dim ws As Worksheet
Dim ws1 As Worksheet

Set ws = Sheets("Databáza")
Set ws1 = Sheets.Add(After:=Sheets(Sheets.Count))
ws1.Name = "Výsledok2"

ws.Select
Range("A1").Select

Dim PocetRiadkov As Long
Dim i As Long
Dim A As String
Dim B As String
Dim C As String

Selection.CurrentRegion.Select
PocetRiadkov = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

For i = 2 To PocetRiadkov
ws.Select
Range("A" & i).Select
Selection.Copy
ws1.Select
j = i * 3
Range("A" & j).PasteSpecial

ws.Select
A = Range("B" & i).Value
B = Range("C" & i).Value
C = A & " " & B

ws1.Select
Range("A" & j + 1) = C
Next i

Columns("A:A").ColumnWidth = 30
Range("A6").Select

End Sub
elninoslov
05.07.17,20:31
Také pomalé makro s toľkými Select-ami nemôžete myslieť vážne. Skúste to cez rýchle polia:

Sub Vysledok()
Dim aDB(), aVys(), R As Long, i As Long, Poz As Long

With Worksheets("Databáza")
R = .Cells(Rows.Count, 1).End(xlUp).Row - 1
If R = 0 Then MsgBox ("Databáza je prázdna"): Exit Sub
ReDim aDB(1 To R, 1 To 3)
ReDim aVys(1 To R * 3, 1 To 1)
aDB = .Cells(2, 1).Resize(R, 3).Value2
End With

For i = 1 To R
Poz = (i - 1) * 3 + 1
aVys(Poz, 1) = aDB(i, 1)
aVys(Poz + 1, 1) = aDB(i, 2) & " " & aDB(i, 3)
Next i

With Worksheets("Výsledok")
i = .Cells(Rows.Count, 2).End(xlUp).Row
If i > 2 Then .Cells(3, 2).Resize(i - 2).ClearContents
.Cells(3, 2).Resize(R * 3).Value2 = aVys
End With

Erase aDB: Erase aVys
End Sub
mepex
07.07.17,02:36
Upravil som riešenie (https://ulozto.sk/!EM7zA9gillkH/pqvzorovy-subor-spoj-xlsx). Bola tam chyba, ktorú som si neuvedomil.