04. marts 2017 - 12:05Der er
6 kommentarer og 1 løsning
VBA udvikling af nuværendescript så det tager x-antal rækker med (fremfor kun første)
Hej
Jeg har fået udarbejdet et simpelt script, som henter datoer ind fra andet ark... Jeg får dog kun hentet det ind til en række... kan det løses så det under afvikling gennemfører for alle de rækker der er.
Resultatet til c-kolonnen: fx. Horsens 01012017;Esbjerg 02022017;Vejle 030302017
Ark 1 A B C 1 Nr 1 Horsens;Esbjerg; Vejle Resultatet for linjen 1 2. Nr 2 Horsens;Esbjerg; Resultatet for linjen 2 3. .... ..................; ................. x. Nr x Horsens;Esbjerg; Resultatet for linjen x
Dim ByNavne As String Dim AppNameList() As String Dim ByNavn As String Dim Result As String ByNavne = Worksheets("Ark1").Cells(1, 2) ByNavneList = Split(ByNavne, ";") For i = 0 To UBound(ByNavneList) For j = 2 To 99 ByNavn = Worksheets("Ark2").Cells(j, 1) If (ByNavn = ByNavneList(i)) Then Result = Result & ByNavneList(i) & " " & Worksheets("Ark2").Cells(j, 2) & "; " End If Next j Next i Worksheets("Ark1").Cells(1, 3) = Result
Dim ByNavne As String Dim AppNameList() As String Dim ByNavn As String Dim Result As String Dim Rk As Long, X As Long, J As Integer
With Worksheets("Ark1") Rk = .UsedRange.Rows.Count 'tæller rækker For X = 1 To Rk ByNavneList = Split(.Cells(X, 2), ";")
For i = 0 To UBound(ByNavneList) For J = 2 To 99 ByNavn = Worksheets("Ark2").Cells(J, 1) If (ByNavn = ByNavneList(i)) Then Result = Result & ByNavneList(i) & " " & Worksheets("Ark2").Cells(J, 2) & "; " Exit For End If Next J Next i .Cells(X, 3) = Result Next X End With
Den virker perfekt med en enkelt undtagelse - nemlig at resultat i række 2 bliver resultatet for række 1 og 2 - Række 3 bliver resultatet for række 1,2 og 3.... osv.
Dim ByNavne As String Dim AppNameList() As String Dim ByNavn As String Dim Result As String Dim Rk As Long, X As Long, J As Integer
With Worksheets("Ark1") Rk = .UsedRange.Rows.Count 'tæller rækker For X = 1 To Rk ByNavneList = Split(.Cells(X, 2), ";")
For i = 0 To UBound(ByNavneList) For J = 2 To 99 ByNavn = Worksheets("Ark2").Cells(J, 1) If (ByNavn = ByNavneList(i)) Then Result = Result & ByNavneList(i) & " " & Worksheets("Ark2").Cells(J, 2) & "; " Exit For End If Next J Next i .Cells(X, 3) = Result Result ="" Next X End With
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.