Avatar billede Thessen81 Nybegynder
21. marts 2010 - 00:18 Der er 19 kommentarer og
1 løsning

Definer og erstat celle

Jeg har en opgave hvor jeg er lidt på bar bund.
Opgave lyder som følger:

Jeg har 2 ark.

På "ark 2" kan man indtaste en værdi i celle "H25"

Denne værdi skal ved at trykke på en knap kopiere sig til en celle i "ark 1". Denne celle kan varieret udfra hvilken værdi som står i D4 på "Ark 2".
Værdien fra D4 findes i "ark 1" i kolonne B og celle som der skal kopieres til er i samme række men kolonne G
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 00:24 #1
Glemte at skrive at hvis "h25" er tomt må indholdet ikke kopiere sig til den nye celle. Der er allerede en værdi i den nye celle som ikke må erstattes af en tomt felt.

Håber nogen kan hjælpe
Avatar billede jokerper Nybegynder
21. marts 2010 - 00:44 #2
Måske sådan her:

Private Sub CommandButton1_Click()
If Range("h25") <> "" Then
Sheets("Ark1").Range("b1").End(xlDown).Offset(0, 5).Value = Sheets("Ark2").Range("h25").Value
End If
End Sub
Avatar billede jokerper Nybegynder
21. marts 2010 - 00:48 #3
Hvis det er en fast celle i ark1 i kolonne B - i eks er det b1.

Private Sub CommandButton1_Click()
If Range("h25") <> "" Then
Sheets("Ark1").Range("b1").Offset(0, 5).Value = Sheets("Ark2").Range("h25").Value
End If
End Sub

Så bare en active-x knap på regnearket.
Avatar billede jokerper Nybegynder
21. marts 2010 - 00:50 #4
Det her bør ændres:

Private Sub CommandButton1_Click()
If Range("h25") <> "" Then

til:

Private Sub CommandButton1_Click()
If sheets("Ark2").Range("h25") <> "" Then


Hvis der cykles rundt mellem regnearkene.
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 10:13 #5
Tak for svaret til en del af spørgsmålet.

Jeg kan nu kopieret "ARK 2! H25" til en ny celle og kun hvis denne er <> "".
Den nye celle mangler jeg dog stadig at få defineret. Denne celle ligger i "Ark 1" kolonne G et sted mellem række 5 og 1002.
Rækken bestemmes udfra den værdi som står i "Ark 2! D4". Denne værdi kan nemlig findes i "Ark 1" kolonne B et sted mellem række 4 og 1002.
Håber jeg her forklaret det godt nok.
Avatar billede jokerper Nybegynder
21. marts 2010 - 10:43 #6
Vil det sige at "Rækken bestemmes udfra den værdi som står i "Ark 2! D4". "

Værdien i Ark2 celle D4 indeholder et tal mellem 4 og 1002? Som skal være referencecellen.
Avatar billede jokerper Nybegynder
21. marts 2010 - 10:46 #7
Private Sub CommandButton1_Click()
If sheets("Ark2").Range("h25") <> "" Then
dim a as integer
a = sheets("Ark2").range("d4").value
Sheets("Ark1").Range("b" & a).Offset(0, 5).Value = Sheets("Ark2").Range("h25").Value
End If
End Sub
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 11:20 #8
"Ark2! D4" indeholder en stregkode (typisk et 13-cifret helt tal)

"Ark 1" kolonne B indeholder op til 998 forskellige og ikke sorterede stregkoder. (fordelt fra række 4 til 1002)

Jeg skal kunne opdatere en oplysningen om en given strekode som er placeret i kolonne J (dette kunne f.eks. være en udsalgspris)

Denne udsalgspris er den værdi som står i "akr2! H25"

Hjælper det lidt???
Avatar billede jokerper Nybegynder
21. marts 2010 - 12:20 #9
Prøv lige denne kode:

Private Sub CommandButton1_Click()

If Sheets("Ark2").Range("h25") <> "" Then
Dim a As Integer
a = Sheets("Ark2").Range("d4").Value
Cells.Find(What:=a, LookIn:=xlValues, After:=Range("b1"), SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Select
ActiveCell.Offset(0, 5).Value = Sheets("Ark2").Range("h25").Value

End If
End Sub
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 13:08 #10
Den kommer med "Run-time error '6': Overflow"
Avatar billede jokerper Nybegynder
21. marts 2010 - 13:14 #11
Selvfølgelig udskift denne:
Dim a As Integer

med

Dim a As long


Det var jo bare i testen.
Avatar billede jokerper Nybegynder
21. marts 2010 - 13:17 #12
Denne her virker med 13 tal

Dim a
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 13:44 #13
Så opstår bare næste fejl:

"Run-time error '91': Object variable or With block variable not set"

En markere følgende linie som linien med fejl:
Cells.Find(What:=a, LookIn:=xlValues, After:=Range("b1"), SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Select
Avatar billede jokerper Nybegynder
21. marts 2010 - 13:59 #14
Det er fordi den skriver at du ikke har det søgte i celle referencen i (B:B) som skulle være det samme som i D4 i ark2.


I ark2 D4 - skriver jeg fx. 1234567890123 - 13 tal.

Udfylder nogle tal i ark2 celle H25.

I ark1 B:B finder den tallet 1234567890123 fra ark2 D4 og indsætter værdien fra ark2 H25 i Ark1 i kolonne G ud for den celle i ark1 B:B.

Er dette korrekt?
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 14:06 #15
tror fejlen ligger i at du har taget udgangspunkt i at knappen ligger på ark1...  den ligger dog på ark2.
Derfor finder den nok heller ikke værdien.
Har forsøgt at ændre linien til:

Cells.Find(What:=a, LookIn:=xlValues, After:=Sheets("Ark1").Range("b1"), SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Select

Dog uden held.
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 14:10 #16
I øvrigt super du gider at hjælpe...

Vil det evt. hjælpe at få tilsendt mit excel-dokument???
Avatar billede jokerper Nybegynder
21. marts 2010 - 14:28 #17
Prøv at ligge dette ind i et vba-modul:

Sub test()
If Sheets("Ark2").Range("h25") <> "" Then


Dim a As Double
a = Sheets("Ark2").Range("D4").Value


Sheets("Ark1").Select
Cells.Find(What:=a, LookIn:=xlValues, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Select
ActiveCell.Offset(0, 5).Value = Sheets("Ark2").Range("h25").Value

End If
End Sub

Og så på knappens kode i regnearket:
Private Sub CommandButton1_Click()
Call test
End Sub

Det virker for mig.
Avatar billede jokerper Nybegynder
21. marts 2010 - 14:30 #18
Vi prøver lige lidt mere, det virker som et stort regneark.
Avatar billede Thessen81 Nybegynder
21. marts 2010 - 14:53 #19
Så lykkedes det....!!!!!  KANON!!!!!

Tusind tak for hjælpen...

Post et svar så jeg kan tildele dig point...
Avatar billede jokerper Nybegynder
21. marts 2010 - 14:54 #20
Jamen jeg er da glad for det lykkedes.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester