Gå til innhold

Problemer med array i excel


Anbefalte innlegg

Hei der.

 

Jeg har brukt an del vanlige array funksjoner i et excel ark jeg har, men nå virker det ikke lenger??

 

Jeg har sjekket, dobbeltsjekket og trippelsjekket og alt stemmer! Navnet stemmer, rangen stemmer og alt! Det er bare excel som ikke lenger vil benytte seg av arrays :(

 

Får kun #VALUE!

All hjelp mottas med takk!

 

Kan gi litt mer kjøtt på denne:

 

Formelen ser ut som følger: {=SUM((Range1=A13)*(Range2=B13)*(Range3))}

Denne har fungert leeeenge, men i dag så var det stopp! Jeg har jobbet litt med informasjonen i range3, men ingenting som tilsier at det ikke skal virke.

Når jeg tar sum(Range1=A13) og sum(Range2=B13) så får jeg 1 på begge. sum(Range3) gir meg summen av den kolonnen. Alt stemmer men allikevel så vil ikke array formelen virke :(

Endret av MrVilla
Lenke til kommentar
Videoannonse
Annonse

Hehe....beklager akkurat det utsagnet Harald. Det falt vel litt på sin egen urimelighet ;)

 

Men det artige var at alle hadde eksakt lik range, men jeg måtte endre alle fra å starte fra rad 1 til å starte fra rad 2. Jeg kan fortsatt ikke se problemet med det, men så lenge det funket så får jeg vel være fornøyd:)

Lenke til kommentar

En annen ting jeg kom til å tenke på. Vet du (eller noen annen for den saks skyld) om noen methode som er raskere til å finne data enn VLOOKUP? Jeg er klar over at det finnes muligheter til det i VBA ved bruk av find, men uten VBA så ser det ikke ut at det er noen annen mulighet. Dette er litt synd når jeg har range som går til 30000 rader. Da kan det ta litt tid.

 

En mulighet jeg har fundert på er å lage en funksjon ved hjelp av vba som benytter FIND. Kanskje det går kjappere.

Lenke til kommentar

En ting til i tillegg til dem som er i topic.

 

Jeg kunne tenkt meg å benytte FIND funskjonen i VBA i motsetning til VLOOKUP funksjonen. Jeg har benyttet denne funksjonen før men da kun i en subrutine. Hvordan skriver jeg kode som reagerer på endring av innholdet i en celle?

Lenke til kommentar

Her er en demo som teller forekomster i A-kolonnen når du skriver i den. Du høyreklikker arkfanen, velger "View code" og limer inn dette:

 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim F As Range, F1 As Range, Ant As Long

For Each Cel In Target
If Cel.Column = 1 Then 'A-kolonnen
	Set F1 = Columns(1).Cells.Find(What:=Cel.Value, _
		LookIn:=xlValues, _
		LookAt:=xlWhole, _
		SearchDirection:=xlNext, _
		MatchCase:=False)
	Ant = -1
	Set F = F1
	Do
	Set F = Columns(1).Cells.Find(What:=Cel.Value, _
		LookIn:=xlValues, _
		LookAt:=xlWhole, _
		After:=F, _
		SearchDirection:=xlNext, _
		MatchCase:=False)
		Ant = Ant + 1
	Loop Until F.Address = F1.Address
	MsgBox Ant & " andre forekomster av " & Cel.Value
End If
Next
End Sub

 

HTH. Beste hilsen Harald

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...