Visual Basic er et værktøj der kan være en stor hjælp ved repetetive opgaver. Under dette tema vil jeg introducere nogle af de intro videoer der er på dette område:
https://www.youtube.com/watch?v=KHO5NIcZAc4&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5&index=1
Sub Example()
Dim a As Integer
a = 2
Debug.Print a
Dim b As Long
b = a + 2
Debug.Print b
Dim c As String
c = "Hello, world!"
Debug.Print
c
[a3] = "Hello!"
End Sub
Sub hello()
MsgBox "Hello World"
End Sub
Sub this()
ThisWorkbook.Sheets("Sheet1").Range("A1").Offset(1, 1).Select
ThisWorkbook.Sheets("Sheet1").Range("A1").Offset(1,
1).Value = "New Value"
ActiveCell.Offset(-1, -1).Value = ActiveCell.Value
ActiveCell.Value = vbNullString
End Sub
Sub TransposeRangeValues()
Dim TmpArray() As Variant, FromRange As Range, ToRange As Range
Set FromRange = Sheets("Sheet1").Range("a1:a12")
'Worksheets(1).Range("a1:p1")
Set ToRange = ThisWorkbook.Sheets("Sheet1").Range("a1")
'ThisWorkbook.Sheets("Sheet1").Range("a1")
TmpArray = Application.Transpose(FromRange.Value)
FromRange.Clear
ToRange.Resize(FromRange.Columns.Count,
FromRange.Rows.Count).Value2 = TmpArray
End Sub
Sub Namedrng()
Dim rng As Range
ThisWorkbook.Names.Add Name:="MyRange", _
RefersTo:=Worksheets("Sheet1").Range("A1")
'Delete defined named range by
name
'ThisWorkbook.Names("MyRange").Delete
'Access Named Range by name
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)
'GoalKicker.com – Excel® VBA Notes
for Professionals 26
'Access a Named Range with a Shortcut
'Just like any other range, named ranges can be accessed directly with through a shortcut notation that does not
'require a Range object to be created. The three lines from the code
excerpt above can be replaced by a single line:
'Call MsgBox("Width = " & [MyRange
End Sub
'Side 28
Private Sub Max_Min()
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Sheet1")
Dim units As Range
Set units = ThisWorkbook.Names("units").RefersToRange
Worksheets("Sheet1").Range("Year_Max").Value = WorksheetFunction.Max(units)
Worksheets("Sheet1").Range("Year_Min").Value = WorksheetFunction.Min(units)
End Sub
Private Sub Highlight_1()
'Highlighting Duplicate Values
With Range("b1:b100").FormatConditions.AddUniqueValues
.DupeUnique = xlDuplicate
With .Font
.Bold = True
'GoalKicker.com – Excel®
VBA Notes for Professionals 38
.ColorIndex = 6
End With
End With
End Sub
Private Sub Highlight_2()
'Highlighting Unique Values
With Range("b1:b100").FormatConditions.AddUniqueValues
With .Font
.Bold = True
.ColorIndex = 3
End With
End With
End Sub
Public Sub Highlight()
Call Max_Min
Call Highlight_1
Call Highlight_2
End Sub