I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Nedenstående biksede jeg lige sammen - hvis nogen har et bedre forslag er jeg lydhør... og en lille ting - hvordan kan jeg lige undgå array DataList indeholder tomme... ? Jeg dimmer den med antal Rows i hele range... men jeg fylder ikke dem alle.. kan man Clear de tomme efterfølgende???
Private Sub UserForm_Activate() Dim Data(), intNbrRow, DataList() Dim i As Integer, line, k As Integer
intNbrRow = getRow("strDataLokal", "R") 'ReDim Data(0 To intNbrRow, 7) ReDim DataList(1 To intNbrRow, 1 To 3)
Data = funcRng("strLocalVer", "strWBLocal", "strWSDataLink", "strDataLokal")
k = 1 For i = 1 To UBound(Data) If Data(i, 2) <> "" And Data(i, 3) = "" Then DataList(k, 1) = Data(i, 1) DataList(k, 2) = Data(i, 2) DataList(k, 3) = Data(i, 6) k = k + 1 End If
Next i With ListBox1 .ColumnCount = 3 .ColumnWidths = "95;95" .list = DataList
check lige om det her virker (frihånd) jeg har lavet et tmpData dar er dimmet omvendt, så jeg kan lave en redim preserve bagefter. (redim preserve redimmer kun sidste del af et array.) Derefter bliver data vendt om og smidt ind i DataList
Private Sub UserForm_Activate() Dim Data(), intNbrRow, DataList(), tmpData() Dim i As Integer, line, k As Integer
intNbrRow = getRow("strDataLokal", "R") 'ReDim Data(0 To intNbrRow, 7) ReDim tmpData(1 To 3, 1 To intNbrRow)
Data = funcRng("strLocalVer", "strWBLocal", "strWSDataLink", "strDataLokal")
k = 1 For i = 1 To UBound(Data) If Data(i, 2) <> "" And Data(i, 3) = "" Then tmpData(1, k) = Data(i, 1) tmpData(2, k) = Data(i, 2) tmpData(3, k) = Data(i, 6) k = k + 1 End If Next i ReDim Preserve tmpData(1 To 3, k - 1) DataList = Application.WorksheetFunction.Transpose(tmpData) Set tmpData = Nothing With ListBox1 .ColumnCount = 3 .ColumnWidths = "95;95" .List = DataList
ReDim Preserve tmpData(1 To 3, k - 1) til ReDim Preserve tmpData(1 To 3, 1 To k - 1)
så virker det perfekt (se nedenstående...)
Kan du lige kigge på hvordan jeg tømmer tmpData...?
Og så smide et svar så jeg kan "betale"
Private Sub UserForm_Activate() Dim Data(), intNbrRow, DataList(), tmpData() Dim i As Integer, line, k As Integer
intNbrRow = getRow("strDataLokal", "R") ReDim tmpData(1 To 3, 1 To intNbrRow) ReDim DataList(1 To intNbrRow, 1 To 3) Data = funcRng("strLocalVer", "strWBLocal", "strWSDataLink", "strDataLokal")
k = 1 For i = 1 To UBound(Data) If Data(i, 2) <> "" And Data(i, 3) = "" Then tmpData(1, k) = Data(i, 1) tmpData(2, k) = Data(i, 2) tmpData(3, k) = Data(i, 6) k = k + 1 End If Next i ReDim Preserve tmpData(1 To 3, 1 To k - 1) DataList = Application.WorksheetFunction.Transpose(tmpData) 'Set tmpData = Nothing With ListBox1 .ColumnCount = 3 .ColumnWidths = "95;95" .list = DataList
Jeg kan ikke lige teste den helt færdig men umiddelbart ser det ud som om det virkede altså at dimme tmpData as Variant...
Du får lige nogle point og så tusind tak for hjælpen....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.