-HA- Posted October 7, 2004 Share Posted October 7, 2004 Excelfråga: Önskar från blad 1 slå ihop två fält, fält 1: Förnamn & fält2: Efternamn, till ett gemensamt fält på blad2. Detta så jag för förnamn och efternamn i ett gemensamt fält. Ngn som kan vägleda? Link to comment Share on other sites More sharing options...
BI Posted October 7, 2004 Share Posted October 7, 2004 Följande formel i blad 2 i cellen där du önskar resultatet: =Blad1!A1& " " & Blad1!B1 A1 och B1 är cellerna som skall slås ihop. & -tecknet konkatinerar " " placerar ett mellan slag mellan fälten BI Link to comment Share on other sites More sharing options...
-HA- Posted October 7, 2004 Author Share Posted October 7, 2004 var lite oklar... Önskar slå ihop en hel kolumn inte enbart en cell... Hur blir det då? Link to comment Share on other sites More sharing options...
BI Posted October 7, 2004 Share Posted October 7, 2004 Kopiera formeln nedåt antalet rader som slås ihop från blad1. Till exempel enligt följande: Gå till cellen med formeln. Ta i cell hörnet nere till höger, muspekaren blir ett + -tecken. Håll ned vänstra mustantgenten och dra nedåt. BI Link to comment Share on other sites More sharing options...
-HA- Posted October 7, 2004 Author Share Posted October 7, 2004 Fungerar finemang... Dock så är det ett hundratal rader som kommer utökas oregelbundet. Ifall jag utökar med en rad eller två, antar jag att jag behöver utöka radantalet genom att dra i pluset osv... eller kan man på ngt sätt sätta så den känner av hur många rader som finns i kolumnen? Att det sker på automatik dvs.. Link to comment Share on other sites More sharing options...
BI Posted October 7, 2004 Share Posted October 7, 2004 Jepp, du måste utöka raderna manullt. Om du vill ha automatik måste du koda lite i VBA. Till exempel följande kodsnutt sammanslår dina celler till blad 2 från celll a2 framåt (observera att denna måste också köras om radantalet ändras): Sub SlaIhop() Dim strNamn As String, i As Long, rngBlad2 As Range i = 1 Set rngBlad2 = Worksheets("blad2").Range("a1") Do While ActiveCell <> "" strNamn = ActiveCell.Value & " " & ActiveCell.Offset(0, 1).Value rngBlad2.Offset(i, 0) = strNamn i = i + 1 ActiveCell.Offset(1, 0).Select Loop End Sub Kopiera koden till en modul (Alt+F11). Har du ingen modul måste du infoga en. Kopera därefter koden till modulen. Gå tillbaka till Excel - blad1, placera markören i den första cellen där din lista börjar med namnen. Makrot körs ända tills den stöter på en tom cell i ifrågavarnade kolumn. Starta makrot från verktyg/makron/Makron. Välj makrot SlaIhop Klicka på Kör. Makrot rensar inte upp innan körningen så om det finns gammal data där så skriver det över eller om raderna är färre den här gången lämnas de kvar. BI Link to comment Share on other sites More sharing options...
Monshi Posted October 7, 2004 Share Posted October 7, 2004 eller ett annat quick&dirty makro: Sub SlaIhop() With Sheets("Blad2") .Range(.Cells(1, 1), .Cells(ActiveCell.End(xlDown).Row, 1)).Formula = "=blad1!A1" & " " & "blad1!b1" End With End Sub Att tilldela hela området data med ett kommando går ungefär lika snabbt som att tilldela en cell ett värde... Ed: (snyggade till lite, ännu mindre kod) Ed2: en snyggare version (nja) där Activecell inte nyttjas. Både källa och destination är hårdkodade i koden: [log] Sub SlaIhop() Dim target As Range Dim rwIndex As Integer rwIndex = Sheets("Blad1").Cells(1, 1).End(xlDown).Row With Sheets("Blad2") .Range(.Cells(1, 1), .Cells(rwIndex, 1)).Formula = "=blad1!A1" & " " & "blad1!b1" End With End Sub [/log] /T Even when we know we´ll never find the answers, we have to keep on asking questions. [inlägget ändrat 2004-10-07 14:19:11 av Monshi] Ed:fel i koden. Som moderator i detta forum kunde jag fixa det. Missat några ". [inlägget ändrat 2004-10-07 15:24:12 av Monshi] Link to comment Share on other sites More sharing options...
BI Posted October 7, 2004 Share Posted October 7, 2004 Fiffigt! BI Link to comment Share on other sites More sharing options...
Monshi Posted October 7, 2004 Share Posted October 7, 2004 Visst är det fiffigt, men framförallt mycket snabbare... Trevligt att kunna lära dig något nytt /T Even when we know we´ll never find the answers, we have to keep on asking questions. Link to comment Share on other sites More sharing options...
BI Posted October 7, 2004 Share Posted October 7, 2004 Man är aldrig fullärd och lär aldrig bli det! BI Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.