• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA: begrijpen van de taal

Status
Niet open voor verdere reacties.

Batigoal80

Gebruiker
Lid geworden
4 dec 2007
Berichten
52
IK ben niet zo'n held in visual basic.
Ik heb devolgende code gekregen voor een bestand die code werkt goed.
Echter ik moet deze ook gebruiken in een ander bestand dat te groot is om hier te plaatsen.
Kan iemand mij een heldere uitleg geven van wat waar bepaald wordt.

Bijvoorbeeld
Welke cellen je selecteerd;
Waar hij zoekt naar dFinddate en sfindshift;

misschien kan iemand een korte uitleg geven kolom voor kolom

Dit is de code
Code:
Sub Filteren()
Dim dFindDate As Date
Dim sFoundShift As String
Dim rngData As Range
Dim lngRow As Long
Dim ws1 As String
Dim ws2 As String
Dim i As Long

wsInvoer = "Blad1"
wsdata = "Blad2"

dFindDate = Sheets(wsInvoer).Range("J1").Value
sFoundShift = Sheets(wsInvoer).Range("J2").Value
Set rngData = Sheets(wsdata).Range("A1:B1", Sheets(wsdata).Range("A1").End(xlDown))

rngData.AutoFilter 1, dFindDate
rngData.AutoFilter 2, sFoundShift

If rngData.SpecialCells(xlCellTypeVisible).Count <> 4 Then 'indien dit 4 cellen zijn is er maar 1 rij gevonden, anders meerdere en dan foutmelding
    MsgBox "Verkeerd aantal rijen"

Else
    lngRow = rngData.SpecialCells(xlCellTypeVisible).End(xlDown).Row
    For i = 1 To 5
        Sheets(wsdata).Cells(lngRow, 2 + i) = Sheets(wsInvoer).Cells(1 + i, 2)
    Next i

End If
Sheets(wsdata).AutoFilterMode = False
Range("A1").Select
End Sub
 
Laatst bewerkt door een moderator:
Gabriel,

Als je de VBA-code wil begrijpen, is er als eerste toch de helpfiles. Als ik een woord niet begrijp uit een Nederlandse zin, dan zoek ik dat op in een woordenboek. Hetzelfde geldt voor VBA-code. Ook op Internet zoeken met Google geeft je in een mum van tijd massa's hits. Dat is de enige manier om het te leren...
 
Staat er toch eigenlijk gewoon.

Voorbeeld dFinddate:

Code:
wsInvoer = "Blad1"
dFindDate = Sheets(wsInvoer).Range("J1").Value
Zoek en vervang... Dus op blad 1, cel J1.

Begrijpen begint met eerst gewoon eens goed lezen wat er staat, daarvoor heb je de Hulp functie of Google nog niet eens voor nodig.
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan