Hämta data från diskontinuerliga cellområden
Här demonstreras en teknik för att hämta data från ett diskontinuerligt cellområde. Det sker mha av en två-dimensionell matris (array), vars data därefter skrivs till ett annat arbetsblad i den aktiva arbetsboken.
Se också Diskontinuerlig markering av celler.
Option Explicit
Sub Datafångst_Diskontinuerlig_Markering()
'© 2002 Alla rättigheter XL-Dennis
Dim wsBlad As Worksheet
Dim wbBok As Workbook
Dim rnCell As Range
Dim va2Matris() As Variant
Dim i As Long
Set wbBok = ThisWorkbook
Set wsBlad = wbBok.Worksheets("Blad2")
'Kontroll av antalet markerade cellområden.
If Selection.Areas.Count < 2 Then
MsgBox "Antal cellområden måste vara fler än 1.", vbInformation
Exit Sub
End If
'Dimensionerar matrisen till antal celler i den diskontinuerliga cellmarkeringen.
ReDim va2Matris(1 To Selection.Cells.Count, 1 To 2)
i = 1
'Tilldelar matrisen värdena i den diskontinuerliga cellmarkeringen och utför en beräkning.
For Each rnCell In Selection
va2Matris(i, 1) = rnCell.Value
va2Matris(i, 2) = Int(rnCell.Value / 2)
i = i + 1
Next rnCell
'Skriver ut matrisvärdena till Blad2.
With wsBlad
.Range("A1:B" & (i - 1)).Value = va2Matris
End With
End Sub