19. marts 2010 - 19:10Der er
17 kommentarer og 1 løsning
ændre exel ark navn automatisk
Jeg har lavet et budgetprogram på exel som skal bruges både i Danmark og i andre lande jeg kan godt få den til at rette teksten i cellerne men hvordan får jeg det til at rette navnet på ark. For eksempel fra dansk til tysk.
Jeg tror at jeg ville lave 2 ark. Ark 1 som du kan omdøbe til "Dansk" Ark 2 som du kan omdøbe til "Tysk" evt. på tysk Du kan lave alle de ark du vil, kernen er at de tal der tastes ind går igen på alle ark, ens selvfølgelig, samtidigt.
I Excel´s terminologi hedder det Konsolidering af data.
da de personer der laver budgettet er både danskere franskmænd så skal det være således at når franskmanden får tilsendt budgettet så kan han trykke på fransk så er alt tekst på fransk. det virker men jeg kan ikke få fanerne til at virke. jeg kan godt hvis jeg taster det manuel i en navngivet celle med denne formel.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("rSheetName")) Is Nothing And Not Target.Value = "" Then Me.Name = Me.Range("rSheetName").Value End If End Sub
men ikke når jeg bruger =HVIS(J3=1;B3;HVIS(J3=2;C3))
Når man arbejder med ensartede data i flere regneark, eller i flere projektmapper, vil det oftest være en fordel at man kan nøjes med at indtaste på et ark. Du har ex. Hvis du vil kombinere dataene i celle B3 fra regneark Ark 2 til og med Ark 7, kan du skrive formlen: =SUM(Ark2:Ark7!B3). Hvis de data der skal konsolideres, er i forskellige celler på forskellige regneark, skal du indtaste en formel på følgende måde: =SUM(Ark!B4;Ark!A7;Ark!C5).
Hjælper det? Jeg bruger det på 4 regneark til 4 forskellige afdelinger dvs. de 3 er indput med deres resultater og ark. 4 er det samlede til ham der samler de resultater der er for de tre afdelinger. Men du skal jo have det ens over hele linien.
Du laver de antal af ark du skal bruge gemmer hvert enkelt ark med teksten.
Skal du ikke bruge SUM isteddet for, det er jo de samme tal der skal stå i I alt kolonnerne.
det er rigtig at det er bedst at kun indtaste tal i 1 ark. men det er så udtræk af dette ark som jeg så bruer på de andre ark. I disse ark er der så en masse tal og statestikker hvor der så er en forklarende tekst til. Dennet tekst er så kædet til en side hvor jeg ved en simpel valg kan vælge hvilke sprog der skal bruges alt efter hvilket land brugeren er fra. teksten henter jeg i en "sprogmodul" det virker fint men jeg kan ikke få ark navnet til at skifte automatisk.
Min kammerat kom lige med en ide, der står et sted i min manual:
"Hvis du ofte udfører en bestemt opgave i MS E, kan du automatisere opgaven med en makro. En makro er serie komandoer og funktioner, der gemmes i et Visual Basic-modul og som kan afspilles, når du har brug for at udføre opgaven. Når du indspiller en makro, gemmer MS E oplysninger om hvert trin, du foretager dig. mens du udfører en serie af kommandoer. Derefter afspiller du makroen for at gentage eller `afspille´ kommandoerne.
jeg er ikke helt med med den kode du skrev. jeg er ikke helt så meget inde i disse koder. men kan du beskrive det lidt tydeliger hvordan jeg får det til at virke, jeg formoder at det skal ind i visual basic?
Ja og så vidt jeg husker er noget med at være koncentreret medens man lægger disse macroer ind :-) Jeg forestiller mig at du evt. tester om det virker på tomme men navngivet ark.
1. Vælg fanen vis, knappen macroer, indspil makroer 2. Du får nu en dialogboks der hedder "Indspil makroer" Giv din makro et navn, læg mærke til at i denne boks kan du også vælge en genvejstast Ctrl+ (dit valg)men det skal ikke vælges nu - Afslut med OK 3. Du udfører nu (og indspiller) den handling du vil have din makro til at udfører for dig senere hen, du klikker på dit ark og stiller dig i celle A1. 4. Når du er færdig med at vælge de funktioner som makroen skal indeholde, så klikker du på STOP INDSPILNING kanppen sidder nede ved statuslinjen i venstre hjørne. For så at afspille en makro vælger du fanen vis, knappen makroer, Vis makroer. Marker den pågældende makro i boksen og klikker på Afspil - Du kan dog gøre dette lettere ved at tilknytte den til en værktøjsknap. Det gøres således Først skal du have fanen Udvikler frem, hvis den ikke er det i forvejen, skal du ind i indstillingerne, klik på den knap hvor du har gemme, gem som, pring og den slags oppe i venstre øverste hjørne der er der en indstillingsknap i bunden af det vindue der hedder Excelindstillinger. Under punktet Populær sætter du et flueben ud for Vis fanen udvikler på båndet, den kommer så op på båndet sidst i rækken. FanenUdvikler bliver synlig klik på indsæt. Før musen langsomt hen over hver enkelt knap for at aflæse dens funktion For at oprette en kanp gøres følgende Klik en gang på knappen KNAP. Før derefter musen hen til det sted på regne arket, hvor kanppen skal placeres. Træk diagonalt med venstre musetast og slip, hvorved et knapfelt opstår. Herefter vises dialog boksen Tildel makro da du her overfor Excel skal markere hvilken makro der er der skal overføres på kanppen, Markér og vælg OK. Knappen skal nu tildeles et navn, Klik en gang inde i kanppen medens endnu er markeret, slet og skriv et navn/funktion I det øjeblik du klikker udenfor kanppen er den (knappen) aktiv.
Det er altså en svær en, men øvelse gør mester, jeg havde det ikke til at virke første gang jeg prøvede, men om der findes en anden udvej på dit problem ved jeg ikke, men der er vel eksperteksperter der kan give en hånd med hvis man søger efter dem.
Anbringes under Ark1, hvor der kan vælges sprog Ræk 1: DK | UK | D | F - 2 - Arknavn pr. ovennævnte sprog
Skift af sprog - dobbeltklik i ræk 1 ------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim antalSprog As Byte, antalRækker As Long, antalArk As Byte, valgteSprog As Byte antalSprog = ActiveCell.SpecialCells(xlLastCell).Column 'antal kolonner antalRækker = ActiveCell.SpecialCells(xlLastCell).Row 'antal rækker antalArk = ActiveWorkbook.Sheets.Count 'antal ark
If antalRækker - 1 <> antalArk Then 'overskrift fratrækkes MsgBox ("Uoverensstemmelse mellem antal ark & termer") 'der skal være en sprogterm til hvert ark Else If Target.Row = 1 Then 'Kun dobbeltklik i række 1 If Target.Column >= 1 And Target.Column <= antalSprog Then 'og indenfor antallet af sprog - vil virke valgteSprog = Target.Column
Rem Fjern p.t. sprogmarkering Range("A:IV").Select 'fjern farvemarkering i række 1 Selection.Interior.ColorIndex = xlColorIndexNone
Rem sæt valgte sprogmarkering Target.Interior.ColorIndex = 6 'sæt farve for valgte sprog i "dobbeltklik-cellen"
anvendValgteSprog valgteSprog, antalRækker
Target.Select 'marker dobbeltklik-cellen
Cancel = True '"afbryd" højreklikkets normale menu End If End If End If End Sub Private Sub anvendValgteSprog(sprogNr, antalRækker) 'række & arkNr skalpasse sammen Dim ræk As Byte, arkNr As Byte For ræk = 2 To antalRækker 'overfør term fra det valgte sprog (kolonneNr) ActiveWorkbook.Sheets(ræk - 1).Name = Cells(ræk, sprogNr) 'arkNr reduceres med 1 p.g.a. overskrift Next ræk End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.