Mijn vraag:
Ik ben op zoek naar een manier om een stukje vba code te laten werken op een variable bereik. Mijn code werkt perfect op een "harde" range. Range("B14:Y60")
Echter moet de code meeschalen zodra Y is ingevuld. Als rij 61 bijvoorbeeld is ingevuld, (van B61 tot Y61) dan moet de range in de vba worden aangepast naar (B14:Y61)
Mijn VBA code:
Wat ik al gevonden of geprobeerd heb:
Ik heb de normale dynamic range functie van excel geprobeerd maar dat werkt natuurlijk niet omdat het om een intersect gaat.
Ook heb ik geprobeerd om het bereik als range().Value uit een cell te halen. (="B14:Y"&502-AANTAL.LEGE.CELLEN(Y15:Y502))
Het mooiste is natuurlijk een oplossing volledig in VBA, hoor graag of iemand suggesties heeft! Bedankt alvast.
Ik ben op zoek naar een manier om een stukje vba code te laten werken op een variable bereik. Mijn code werkt perfect op een "harde" range. Range("B14:Y60")
Echter moet de code meeschalen zodra Y is ingevuld. Als rij 61 bijvoorbeeld is ingevuld, (van B61 tot Y61) dan moet de range in de vba worden aangepast naar (B14:Y61)
Mijn VBA code:
VBScript: filename
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Dim OutApp As Object Dim OutMail As Object Dim StrBody As String On Error Resume Next Set rng = Intersect(Target, Range("B14:Y60")) On Error GoTo 0 If Not rng Is Nothing Then Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) StrBody = "Cell " & rng.Address(False, False) & _ " in werkblad '" & Me.Name & "' is aangepast op " & _ Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _ " door " & Environ$("username") & "." With OutMail .To = "voornaam.achternaam@email.nl" .Subject = "Excel aangepast" & ThisWorkbook.FullName .Body = StrBody .Send End With Set rng = Nothing Set OutApp = Nothing Set OutMail = Nothing End If End Sub |
Wat ik al gevonden of geprobeerd heb:
Ik heb de normale dynamic range functie van excel geprobeerd maar dat werkt natuurlijk niet omdat het om een intersect gaat.
Ook heb ik geprobeerd om het bereik als range().Value uit een cell te halen. (="B14:Y"&502-AANTAL.LEGE.CELLEN(Y15:Y502))
Het mooiste is natuurlijk een oplossing volledig in VBA, hoor graag of iemand suggesties heeft! Bedankt alvast.