Just nu i M3-nätverket
Gå till innehåll

mon935

Medlem
  • Antal inlägg

    5
  • Gick med

  • Senaste besök

  1. Jag undrar hur man översätter formeln =get.cell(38;$J$17) till svenska? Behöver deni en lösning för att räkna hur många celler det finns av en färg på en viss rad. Jag har letat och letat, men inte hittat någon översättning. Eller....har någon en annan bra lösning? (Inte intresserad av VBA-lösning.)
  2. Tack för ditt svar. Jag förstår dock inte riktigt skillnaden i ditt sätt att skriva och mitt sätt. Du använder ju också ActiveCell.?? Ja testade att skriva enligt ditt förslag och då får jag "Körfel nr '91': Objektvariabel eller With-blockvariabel har inte angetts." Vad betyder det? Vad jag förstått så måste jag använda mig av set-komandot när jag har en objektvariabel och det blir det när jag deklarerar den som "as range". Eller har jag fel? ELLER.... ....menar du att jag ska byta ut markvarde mot AcktiveCell.Offset(0, -16).Value i själva beräkningsformeln? Det kanske funkar men jag behöver variabeln i andra beräkningar så den måste definieras.
  3. Hejsan! Jag har lite kod som inte riktigt funkar som jag vill. När jag kommer till den sista raden kod där jag försöker ändra värde på variabeln FdVardeCell genom att minska den med markvarde händer något konstigt. Det blir en korrekt förändring på variabelvärdet men cellen som jag hämtade in det ursprungliga värdet till FdVardeCell ändras OCKSÅ. Det var inte planen. Varför händer detta? Kan jag gå runt problemet på något vis? (Jag har en stor grund-exceltabell som jag gör omräkningar utfirån till en annan tabell. Varje rad i grundtabellen ska bli till tolv nya rader. När en rad beräknas om har den en "flagga" benämnd "4". Grundtabellens värden får inte ändras så detta är en smärre katastrof.) ------------------------------------------------------------------------------------------------------------------ Dim searchRange As Range Dim FdGrundCell As Range Dim markvarde As Range Dim FdVardeUtmark As Range Set searchRange = Range("a10", Range("a10").End(xlDown)) Set markvarde = ActiveCell.Offset(0, -16) Set FdVardeCell = searchRange.Find(What:="4", LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ True, SearchFormat:=False).Offset(0, 35) FdVardeCell = FdVardeCell - markvarde ----------------------------------------------------------------------------------------------------------------- Någon som kan hjälpa mig?
  4. Tack för ditt svar. Jag är nybörjare i VBA och hade inte koll på WorksheetFunktion. (Ska läsa på mer om den funktionen). Har liksom tänkt att det måste finnas en annan väg att gå än just activecell och select. Det var därför jag lade ut denna fråga. Det är liksom lite svårt, att hitta möjliga kommandon och rätt syntax, när man är nybörjare. Gillar lösningen med myRn, den ska jag lägga på minnet. Mycket användbart. Din kod ovan funkar bra förutom att Then-satsens "Rows(1":12")" inte är en relativ referens. Det var rad 1-12 som ändrade färg. Min intention är att färglägga den raden jag står på samt kommande 11 rader (dvs 12 rader tot). Hur skriver man den relativa referensen? (det var det här med syntaxen igen.)
  5. Hejsan! Jag har en fil med en massa "grundrader" som underlag för en massa beräkningar. Varje sådan grundrad genererar tolv nya beräknade rader. Varje grundrad har ett radnummer som kopieras till de nya raderna. För att öka läsbarheten har jag färglagt alla rader med ett jämt radnummer. Nu till mitt problem. Jag har inte kommit på hur man gör för att slippa "mellanlagra" resultatet av if-satsen i en separat cell (0,34). En 2 eller 1 beroende på om resultatet är sant eller falskt. Hur gör man för att komma förbi detta? Så här ser min kod ut idag: Sub BytBakgrundsfärg() ActiveCell.Offset(0, -32).Select ActiveCell.Offset(0, 34).FormulaR1C1 = "=IF(ISEVEN(RC[-33])=TRUE,2,1)" If ActiveCell.Offset(0, 34).Value = 2 Then GoTo Markera Else: Exit Sub End If Markera: ActiveCell.Rows("1:12").EntireRow.Interior.Color = rgbBeige End Sub
×
×
  • Skapa nytt...