/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
søg kopier sorter og indsæt
Fra : Brian


Dato : 11-06-05 21:06

Hejsa

Jeg kunne godt bruge en hjælpende hånd til at løse et lille søg kopier
sorter og indsæt problem.

Jeg spurgte for et par dage siden i dk.regneark men da ingen kunne
eller ville har jeg på bedste beskub forsøgt mig selv. (ps VBA er helt
nyt for mig)

Jeg har forsøgt mig med via macro at sortere en tabel op dette gjorde
jeg via macro med 4 for next lykker.
1 til at finde rækker med første celle = 100
1 til at finde rækker med første celle = 200
1 til at finde rækker med første celle = 300
1 til at finde rækker med første celle = 400

Jeg forsøgte med for y = 1 to 500 sådan bare for at tage højde
for at jeg fik alle med men når søgefunktionen ikke kan finde søgte
går den i fejl og stopper macroen.

Her er vba stump der virker så længe der er nok at søge på.

Sub kopigodvirker()
Sheets("resultat").Activate
Range("F200").Activate
For y = 1 To 13
Sheets("1").Activate
Cells.Find(What:="100", After:=ActiveCell, LookIn:=xlFormulas,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
SearchFormat:=False).Activate
ActiveCell.Range("A1:N1").Select
Application.CutCopyMode = True
Selection.Cut
Sheets("resultat").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Activate
Next y

End Sub

Så forsøgte jeg via hjælp at lave en do while men den får ikke
kopieret noget. Er der en der kan se fejlen for jeg kan desværre ikke?

Sub kopiervarer()

Sheets("resultat").Activate
Range("F200").Activate
With Worksheets(1).Range("A1:A500")
Set c = .Find(100, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ActiveCell.Range("A1:N1").Select
Application.CutCopyMode = True
Selection.Cut
Sheets("resultat").Activate
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Activate
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Adress <> firstAdresse
End If
End With
End Sub

Sidste problemer er
1. kender en en god tutorial eller hjemmeside til at sætte skub i
nybegyndere.
2. kan man sætte en macro eller hedder det VBA script til at køre
automatisk evt. ved åbning af ark ?

Med venlig hilsen

Brian


 
 
winetaster (20-06-2005)
Kommentar
Fra : winetaster


Dato : 20-06-05 09:58

Til Brian

Sæt dig i hjælperens sted. Det uklart, hvad du spørger om, men så vidt
jeg har forstået,
vil du udtrække rækker, der begynder med
100, 200, osv.
og skrive disse rækker et andet sted ?
Skriv udførligt, og jeg skal prøve at give en løsning.

Ad tutorial:
Man kan indspille makroer og lære vba ved at dissekere dem.
Men der findes også (dyre) kurser ude i byen.

Ad 2: Ja, tryk F1 i Excel og se vejledning.

Mvh W.

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Søg
Reklame
Statistik
Spørgsmål : 177438
Tips : 31962
Nyheder : 719565
Indlæg : 6408047
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste