05. oktober 2011 - 08:54
Der er
7 kommentarer og 1 løsning
Find sidste aktive celle og ryk en til højre.
Hej Håber i kan hjælpe mig med denne. Skal bruge en VBA kode der kan gøre følgene. En værdi fra f.eks. Ark1 A1 skal flyttes Ark 2 A1. En ny Værdi skal skrives i Ark 1 A1 og nu skal VBA koden flytte den over på Ark 2, men den skal ikke overskrive A1 men flytte den til B1 og næste nye værdi fra A1 skal flyttes til Ark 2 C1 osv. Koden skal finde sidste celle med en værdi i og aktivere cellen til højre og indsætte (copy/paste). Håber det gav mening.
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
05. oktober 2011 - 09:40
#1
Hej micwar Her er lidt VBA kode, som burde gøre det du ønsker ? Koden tømmer ikke celle A1 på Ark1 efter kopiering, men det kan laves. Bruger du den danske udgave af Excel, så må du lige selv ændre diverse Sheet1 og 2 til dine navne ... Prøv den og lad høre :o) -------------------- Private Sub KopierA1() Dim s As Integer 'sæt Excel´s opdatering ud af kraft Application.ScreenUpdating = False 'kopier celle "A1" på Sheet1 Sheets("Sheet1").Range("A1").Copy 'gør Sheet2 til det aktive ark Sheets("Sheet2").Activate 'vælg celle "A" i 1 række ActiveSheet.Range("A1").Select 'hvis den aktive celle er tom If ActiveCell.Value = "" Then 'indsæt det kopierede, startende fra den aktive celle ActiveCell.PasteSpecial (xlPasteValuesAndNumberFormats) 'fjern kopimarkeringen fra Sheet1 Application.CutCopyMode = False 'gør Sheet1 til det aktive ark Sheets("Sheet1").Activate Else 'tildel variablen s, kolonnenummeret på sidste kolonne indeholdende data i række 1 s = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column 'tildel y rækkenummeret y = ActiveCell.Row 'tildel x kolonnenummeret efter sidste kolonne indeholdende data x = s + 1 'lav kolonne nummeret om til et bogstav sBogstav = Replace(ActiveSheet.Cells(y, x).Address(False, False), y, "") 'samlede cellekoordinat på den aktive celle sCell = sBogstav & y 'vælg den aktive celle ActiveSheet.Range(sCell).Select 'indsæt det kopierede, startende fra den aktive celle ActiveCell.PasteSpecial (xlPasteValuesAndNumberFormats) 'fjern kopimarkeringen fra Sheet1 Application.CutCopyMode = False 'gør Sheet1 til det aktive ark Sheets("Sheet1").Activate End If 'slå Excel´s opdatering til igen Application.ScreenUpdating = True End Sub ----------------- Med venlig hilsen, Nicolai
05. oktober 2011 - 09:53
#2
Hej micwar Hermed linien, hvis du ønsker at tømme celle A1 efter kopiering. 'tøm celle A1 ActiveSheet.Range("A1").Clear Kopiere linien ind umiddelbart før ELSE og igen før END IF. Med venlig hilsen, Nicolai
05. oktober 2011 - 12:28
#3
Hej Lalcin Jeg har prøvet at det og det virker lige som jeg ønsker det. Nu skal jeg have den ind i et større sammenhæng :-) Tak for det du fortjener dine 60 point.
05. oktober 2011 - 12:53
#4
Hej micwar Godt at høre :o) Hermed mit "svar" Med venlig hilsen, Nicolai
05. oktober 2011 - 13:16
#5
Hej Lalocin Hvis du er her endnu så vil jeg høre om du har et svar på dette. Hvis nu at Aak1 A1 skal over på Ark2 men hvor det starter på B4 fordi Række 1 til 3 står der noget og Kolonne A står der også noget så start er B4 næste er C4 osv. Håber du kan hjælpe.
05. oktober 2011 - 13:37
#6
Hej Lalocin Takke være dine udførlige text over formlen fand jeg selv løsningen så tak for det igen. 'tildel variablen s, kolonnenummeret på sidste kolonne indeholdende data i række 1 s = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
05. oktober 2011 - 13:40
#7
Hej micwar Super :o) Tak for point. Du er velkommen til at poste en mail, hvis du har yderligere brug for hjælp ... Så skal jeg se om jeg kan hitte ud af det ? Med venlig hilsen, Nicolai
05. oktober 2011 - 13:50
#8
Det skal jeg huske :-)
Kurser inden for grundlæggende programmering