PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAReferera till annat ark inne i en kodReferera till annat ark inne i en kod
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-10-03 18:49
 

Hej,

Jag har ett macro där jag skapar en tabell i ett ark och hämtar data från en matrs i ett annat ark, som jag sedan indexerar till tabellen jag har skapat i mitt nya ark. Mitt problem är att jag skall hämta samma information från 50 likadana ark, fast arken har oika namn.

Nedan är den formel jag skapar i mitt nya ark, men jag vill hänvisa till nästkommande ark i formeln. Jag har försökt att använda mig av en relativ referens typ "ActiveSheet.Next" men jag lyckas inte... Vet inte vad jag gör för fel..?

Är det någon som vet hur jag i nedan formel kan hänisa till nästa ark istället för hårdkodat "Finance" i nedan exempel?

ActiveCell.FormulaR1C1 = "=IFERROR(INDEX(Finance!R22C4:R348C55,RC1,RC[-2]),0)" 

Nytt inlägg
 2019-10-04 05:39
 
 Ändrad av Christian  på 2019-10-04 05:51:49
Hej hej

Hur ska koden veta vilket sheet som ska anropas? Du skriver att du vill hämta nästa blad? men som jag läser din kodsnutt så vill du skriva en formel till den aktiva cellen. Förstår jag dig rätt så vill du nästa gång du använder makrot, hämta från nästa blad? eller är det i nästa kolumn?

Varje blad har ett index enligt din sortering på bladen. Så ditt första sheet har index 1, nästa 2 osv..
Därmed är det möjligt att med hjälp av radnummer eller kolumnnummer, berätta för makrot att använda radnummer eller kolumnnummer för att visa vilket blad som ska in i din formel. Nedan formel använder sig av kolumnnummer för att åstadkomma detta. Notera att du troligtvis måste modifiera kolumnnumret för att motsvara rätt sheet. Exempel: mWSindex = activecell.column - 4, detta skulle minsta index med 4.

Dock så gör man aldrig på detta sätt, man hämtar istället alla data i ett svep, därefter skriver man ut den.

Mvh
Christian

Sub writeFormulaToCell()

'Hämtar kolumnnummer för din aktiva cell
Dim mWsIndex as long: mWSindex = activecell.column
'Sätter bladet till att motsvara kolumnnummer
Dim ws as worksheet: set ws = thisworkbook.sheets(mWsIndex )

'stoppat in dynamiskt bladnamn i din formel
ActiveCell.FormulaR1C1 = "=IFERROR(INDEX(" & ws.name & "!R22C4:R348C55,RC1,RC[-2]),0)"

End sub


Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAReferera till annat ark inne i en kodReferera till annat ark inne i en kod

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter