|
| Hjælp til knapper i Excel (slet knap + ind~ Fra : PBH |
Dato : 08-07-04 15:35 |
|
Hej gruppe,
enten er der mangel på eksperter i dk.regneark-gruppen ellers er der mangel
på vilje til hjælp derinde, da jeg to gange har postet nedenstående, men
ikke et eneste svar er modtaget i ca. en uge
Håber på bedre held her:
---
Hej gruppe,
så har jeg igen brug for lidt hjælp til noget vba.
Jeg har to regneark. Her er et forenklet eksempel:
Regneark 1 = til indtastning (en form for indtastningsformular). Jeg har
indsat en knap i regneark 1, som skal overføre indtastningerne til regneark
2.
Der kan indtastes data i B2, B3, B4 og B5.
B2 er et ID-nummer svarende til tallene i regneark to, kolonne A (1-50).
Dvs. at står der 2 i celle B2, så skal cellernes indhold indsættes i den
række ud for tallet 2 kolonne A i ark 2.
Regneark 2 = til at gemme indtastningerne i en tabel. Kolonne A består af
tal fra 1-50
Desuden skal knappen nulstille celle B2, B3, B4 og B5, så disse er klar til
ny indtastning.
Hvordan skal VBA-koden i denne knap se ud, for at cellernes indhold placeres
på de rigtige linier.
SLETTEKNAP
Jeg har ligeledes i regneark 1 lavet en SLET knap.
Denne knap skal slette alle indtastede data i regneark 2 på den række, der
står ud for det ID-nummer, der er valgt i regneark 1.
Eks. I regneark 1, celle B2 står der "5"
Når der trykkes på knappen SLET, så skal indholdet på rækken, hvor der står
5 i kolonne A i ark 2 slettes, på nær kolonne A.
Der skal desuden spørges om en bekræftelse på sletningen inden.
På forhånd tak.
| |
Harald Staff (08-07-2004)
| Kommentar Fra : Harald Staff |
Dato : 08-07-04 17:06 |
|
"PBH" <mail@mail.invaliod> skrev i melding
news:40ed5b95$0$14511$ba624c82@nntp02.dk.telia.net...
> Hej gruppe,
>
> enten er der mangel på eksperter i dk.regneark-gruppen ellers er der
mangel
> på vilje til hjælp derinde, da jeg to gange har postet nedenstående, men
> ikke et eneste svar er modtaget i ca. en uge
Det kan også være fordi det er et meget omfattende spørsmål, nesten på
linje med "hvordan laver man et stykke software?" -om man skal være
vrangvillig, og det skal man jo selvfølgelig ikke. Men det er mange små
delproblemer her som du selv skal forsøke å overskue og som hver lar seg
besvare på meget kort tid: Hvordan finne korrekt linje i ark2, hvordan
overføre fra en celle til en annen, hvordan tømme celler, ... Du røper
dessuten lite om hva du behersker, hvilket skaffer i alle fall meg en grusom
bekymring for hvor omfattende svarbeskrivelsen skal behøve å være og hvor
mye validering og sikring koden er nødt til å inneholde fra min side. Dette,
kombinert med at du ikke presenterer deg ved navn, har gjort at jeg har ikke
har brukt en time på å løse/forklare dette. Forhåpentligvis ser andre
annerledes på det.
Beste hislen Harald
| |
PBH (08-07-2004)
| Kommentar Fra : PBH |
Dato : 08-07-04 17:34 |
|
"Harald Staff" <innocent@enron.invalid> skrev i en meddelelse
news:ccjrcd$ldb$1@services.kq.no...
> "PBH" <mail@mail.invaliod> skrev i melding
> news:40ed5b95$0$14511$ba624c82@nntp02.dk.telia.net...
> > Hej gruppe,
> >
> > enten er der mangel på eksperter i dk.regneark-gruppen ellers er der
> mangel
> > på vilje til hjælp derinde, da jeg to gange har postet nedenstående, men
> > ikke et eneste svar er modtaget i ca. en uge
>
> Det kan også være fordi det er et meget omfattende spørsmål, nesten på
> linje med "hvordan laver man et stykke software?" -om man skal være
> vrangvillig, og det skal man jo selvfølgelig ikke. Men det er mange små
> delproblemer her som du selv skal forsøke å overskue og som hver lar seg
> besvare på meget kort tid: Hvordan finne korrekt linje i ark2, hvordan
> overføre fra en celle til en annen, hvordan tømme celler, ... Du røper
> dessuten lite om hva du behersker, hvilket skaffer i alle fall meg en
grusom
> bekymring for hvor omfattende svarbeskrivelsen skal behøve å være og hvor
> mye validering og sikring koden er nødt til å inneholde fra min side.
Dette,
> kombinert med at du ikke presenterer deg ved navn, har gjort at jeg har
ikke
> har brukt en time på å løse/forklare dette. Forhåpentligvis ser andre
> annerledes på det.
Hej Harald,
og tak for dit svar.
Selv dette svar var bedre end slet ingen svar. Især for folk, der ikke har
deres daglige gang i nyhedsgrupper, og som har godt af at få lært, hvordan
man gebærder sig i disse. Det har jeg lært lidt af nu efter dit svar,
hvorimod ingen svar kun giver spørgsmålstegn fra min side vedr. gruppen og
folk herinde, hvis du forstår mig ret.
Spørgsmålet er måske meget omfattende, jeg kunne i hvert fald ikke selv se
en løsning. Folk herinde har før hjulpet mig og andre og derfor var det jo
en oplagt mulighed at spørge. Men jeg indrømmer meget gerne, at jeg måske
ikke har gjort spørgsmålet overskueligt nok, mens jeg også har manglet navn
og præsentation af mig. Det bliver rettet fremover, da jeg kan opfatte, at
det er velset i grupperne.
For et års tid siden lavede jeg et par regneark med brug af en del makroer.
Problemet er bare, at jeg skal have noget kode mv. først lavet af andre, som
jeg så kan lære af og bruge senere i andre henseender ved at ændre lidt på
disse koder. Dvs. hver gang et nyt problem opstår for mig, så kan jeg ikke
selv hitte ud af, hvordan det løses, før ejg har set en mulig måde og
derefter håber jeg på, at jeg kan variere koderne til fremtidig brug i
stedet for at spørge her. Så meget / lidt kan jeg med makroer. (Excel 2000
DK)
> Beste hislen Harald
Lige så gode hilsener
Preben B. Hansen
| |
Harald Staff (09-07-2004)
| Kommentar Fra : Harald Staff |
Dato : 09-07-04 10:07 |
|
"PBH" <mail@mail.invaliod> skrev i melding
news:40ed7780$0$12556$ba624c82@nntp03.dk.telia.net...
Hei Preben
> Selv dette svar var bedre end slet ingen svar. (..) ingen svar kun giver
spørgsmålstegn fra min side vedr. gruppen og
> folk herinde, hvis du forstår mig ret.
Absolutt. Og det var ikke kritikk, kun en forklaring fra min side.
> Spørgsmålet er måske meget omfattende, jeg kunne i hvert fald ikke selv se
> en løsning. Folk herinde har før hjulpet mig og andre og derfor var det jo
> en oplagt mulighed at spørge. Men jeg indrømmer meget gerne, at jeg måske
> ikke har gjort spørgsmålet overskueligt nok, mens jeg også har manglet
navn
> og præsentation af mig. Det bliver rettet fremover, da jeg kan opfatte, at
> det er velset i grupperne.
Se om dette ikke bringer deg på sporet av en del-løsning. Høyreklikk
faneblad Ark1, "vis kode", lim inn:
Private Sub CommandButton1_Click()
Dim Rng As Range, R As Long
On Error Resume Next
If Cells(2, 2).Value = "" Then Exit Sub
Set Rng = Sheets(2).Range("A:A").Find(Cells(2, 2).Value)
If Rng Is Nothing Then Exit Sub
R = Rng.Row
Sheets(2).Cells(R, 2).Value = Cells(2, 3).Value
Sheets(2).Cells(R, 3).Value = Cells(2, 4).Value
Sheets(2).Cells(R, 4).Value = Cells(2, 5).Value
Cells(2, 3).Value = ""
Cells(2, 4).Value = ""
Cells(2, 5).Value = ""
End Sub
HTH. Beste hilsen Harald
| |
PBH (09-07-2004)
| Kommentar Fra : PBH |
Dato : 09-07-04 18:45 |
|
"Harald Staff" <stf@enron.invalid> skrev i en meddelelse
news:ccln7p$jck$1@services.kq.no...
> "PBH" <mail@mail.invaliod> skrev i melding
> news:40ed7780$0$12556$ba624c82@nntp03.dk.telia.net...
>
> Hei Preben
Hej igen Harald.
> > Selv dette svar var bedre end slet ingen svar. (..) ingen svar kun giver
> spørgsmålstegn fra min side vedr. gruppen og
> > folk herinde, hvis du forstår mig ret.
>
> Absolutt. Og det var ikke kritikk, kun en forklaring fra min side.
Jamen, det har jeg også stor respekt for, jeg var bare frusteret i første
omgang, da der ikke kom et eneste svar af nogen karakter fra
nogen´overhovedet.
> > Spørgsmålet er måske meget omfattende, jeg kunne i hvert fald ikke selv
se
> > en løsning. Folk herinde har før hjulpet mig og andre og derfor var det
jo
> > en oplagt mulighed at spørge. Men jeg indrømmer meget gerne, at jeg
måske
> > ikke har gjort spørgsmålet overskueligt nok, mens jeg også har manglet
> navn
> > og præsentation af mig. Det bliver rettet fremover, da jeg kan opfatte,
at
> > det er velset i grupperne.
>
> Se om dette ikke bringer deg på sporet av en del-løsning. Høyreklikk
> faneblad Ark1, "vis kode", lim inn:
>
> Private Sub CommandButton1_Click()
> Dim Rng As Range, R As Long
> On Error Resume Next
> If Cells(2, 2).Value = "" Then Exit Sub
> Set Rng = Sheets(2).Range("A:A").Find(Cells(2, 2).Value)
> If Rng Is Nothing Then Exit Sub
> R = Rng.Row
> Sheets(2).Cells(R, 2).Value = Cells(2, 3).Value
> Sheets(2).Cells(R, 3).Value = Cells(2, 4).Value
> Sheets(2).Cells(R, 4).Value = Cells(2, 5).Value
> Cells(2, 3).Value = ""
> Cells(2, 4).Value = ""
> Cells(2, 5).Value = ""
> End Sub
>
> HTH. Beste hilsen Harald
Jeg forsøger i løbet af weekenden og vender tilbage med respons uanset hvad,
når jeg får det afprøvet.
Preben B. Hansen
PBH
| |
PBH (12-07-2004)
| Kommentar Fra : PBH |
Dato : 12-07-04 17:14 |
|
> Se om dette ikke bringer deg på sporet av en del-løsning. Høyreklikk
> faneblad Ark1, "vis kode", lim inn:
>
> Private Sub CommandButton1_Click()
> Dim Rng As Range, R As Long
> On Error Resume Next
> If Cells(2, 2).Value = "" Then Exit Sub
> Set Rng = Sheets(2).Range("A:A").Find(Cells(2, 2).Value)
> If Rng Is Nothing Then Exit Sub
> R = Rng.Row
> Sheets(2).Cells(R, 2).Value = Cells(2, 3).Value
> Sheets(2).Cells(R, 3).Value = Cells(2, 4).Value
> Sheets(2).Cells(R, 4).Value = Cells(2, 5).Value
> Cells(2, 3).Value = ""
> Cells(2, 4).Value = ""
> Cells(2, 5).Value = ""
> End Sub
Hej Harald,
jeg overvurderede vist mine evner i VBA...
Kan jeg ikke kort få dig til at fortælle, hvad makroen gør, evt. lige
beskrive hensigten med et par af linierne (nogle af linierne minder om
hinanden og burde være simple, men især nedenstående volder mig lidt
forståelsesproblemer)
> On Error Resume Next
> If Cells(2, 2).Value = "" Then Exit Sub
> Set Rng = Sheets(2).Range("A:A").Find(Cells(2, 2).Value)
> If Rng Is Nothing Then Exit Sub
> R = Rng.Row
> Sheets(2).Cells(R, 2).Value = Cells(2, 3).Value
| |
Harald Staff (12-07-2004)
| Kommentar Fra : Harald Staff |
Dato : 12-07-04 19:37 |
|
> Kan jeg ikke kort få dig til at fortælle, hvad makroen gør, evt. lige
> beskrive hensigten med et par af linierne (nogle af linierne minder om
> hinanden og burde være simple, men især nedenstående volder mig lidt
> forståelsesproblemer)
>
> > On Error Resume Next
= ved feil: fortsett, ikke meld feil + luk som vanlig
> > If Cells(2, 2).Value = "" Then Exit Sub
= Om celle rekke 2 kolonne 2 er tom så stop
> > Set Rng = Sheets(2).Range("A:A").Find(Cells(2, 2).Value)
= Finn verdien fra rekke 2 kolonne 2 i ark 2s kolonne A
> > If Rng Is Nothing Then Exit Sub
= Ingenting funnet, men feil er ikke meldt (fordi On Error Resume hid), så
stop
> > R = Rng.Row
= fundet celle's rekkenummer
> > Sheets(2).Cells(R, 2).Value = Cells(2, 3).Value
= overfør.
HTH. Beste hilsen Harald
| |
PBH (12-07-2004)
| Kommentar Fra : PBH |
Dato : 12-07-04 19:42 |
|
> > > On Error Resume Next
> = ved feil: fortsett, ikke meld feil + luk som vanlig
>
> > > If Cells(2, 2).Value = "" Then Exit Sub
> = Om celle rekke 2 kolonne 2 er tom så stop
>
> > > Set Rng = Sheets(2).Range("A:A").Find(Cells(2, 2).Value)
> = Finn verdien fra rekke 2 kolonne 2 i ark 2s kolonne A
>
> > > If Rng Is Nothing Then Exit Sub
> = Ingenting funnet, men feil er ikke meldt (fordi On Error Resume hid), så
> stop
>
> > > R = Rng.Row
> = fundet celle's rekkenummer
>
> > > Sheets(2).Cells(R, 2).Value = Cells(2, 3).Value
> = overfør.
Hej Harald og 1000 tak.
Jeg har nu fundet frem til noget, jeg kan få til at fungere og som jeg kan
arbejde videre med.
Mvh.
Preben B. Hansen.
| |
Harald Staff (13-07-2004)
| Kommentar Fra : Harald Staff |
Dato : 13-07-04 10:39 |
|
"PBH" <mail@mail.invaliod> skrev i melding
news:40f2db63$0$190$ba624c82@nntp04.dk.telia.net...
> Jeg har nu fundet frem til noget, jeg kan få til at fungere og som jeg kan
> arbejde videre med.
Velbekomme Preben.
Beste hilsen Harald
| |
|
|