Une nuk e di sa i futur jeni ne programim, por personalisht perdor VBA. Me poshte po te paraqes nje kod.
Hap editorin VBA (Alt + F11) dhe krijo nje module te re (.bas file). Ne module, vendos kodin e meposhtem:
Kodi:
Option Explicit
Public Sub transferoVlerat()
Dim rng As Range
Dim Col1CellStart As String
Dim col1CellEnd As String
Dim col2CellStart As String
Dim col2CellEnd As String
Dim col3 As String
Dim i As Integer, k1 As Integer, k2 As Integer, cnt
Dim strDestCellStart As String, savlera As Integer
Col1CellStart = "A1"
col1CellEnd = "A4"
col2CellStart = "B1"
col2CellEnd = "B14"
'sa vlera ka kollona e pare?
k1 = VleraNum(Col1CellStart, i)
k2 = VleraNum(col1CellEnd, i)
savlera = k2 - k1 + 1
' ku mbaron kollona e dyte?
k2 = VleraNum(col2CellEnd, i)
' kopjo vlerat e kollones se dyte ne nje kollone te trete:
col3 = "C" ' zgjidh kollonen me emer C
Range(col2CellStart & ":" & col2CellEnd).Select
Selection.Copy Range(col3 & "1:" & col3 & k2)
k2 = k2 + 1
strDestCellStart = vbNullString
' emri i kollones se dyte:
For cnt = 1 To i
strDestCellStart = strDestCellStart & Mid$(col2CellEnd, cnt, 1)
Next cnt
' tani transfero vlerat e kollones se pare tek e dyta:
Range(Col1CellStart & ":" & col1CellEnd).Select ' selekto vlerat e kollones se pare
' kopjoji vlerat e zgjedhura tek kollona e dyte, duke filluar tek qeliza fill pas
' qelizes se fundit te zene te kollones se dyte:
savlera = savlera + k2 - 1
Selection.Copy Range(strDestCellStart & k2 & ":" & strDestCellStart & savlera)
'selecto te gjitha vlerat e kollones se dyte, duke filluar nga e para tek qeliza e fundit:
Range(col2CellStart & ":" & strDestCellStart & savlera).Select
' tani renditi ne rend rrites ose zbrites:
Selection.Sort Range(col2CellStart), xlAscending
End Sub
Public Function VleraNum(str As String, ByRef ltr As Integer)
Dim i As Integer, k1 As Integer, k2 As Integer, cnt
k1 = 0: cnt = 1
For i = Len(str) To 1 Step -1
If IsNumeric(Mid$(str, i, 1)) Then
k1 = k1 + cnt * CInt(Mid$(str, i, 1))
cnt = cnt * 10
Else
Exit For
End If
Next i
ltr = i
VleraNum = k1
End Function
Vlerat i ke ne kollene A dhe B, ne kete rast. Kollone vepruese eshte kollona B, prandaj para se te veproje, kodi i ruan vlerat e kollones B tek nje kollone C. Kodi mund te modifikohet qe te pershtatet me kerkesat e tua specifike. Megjithate, nese nuk je programues, me njofto qe te te jap nje procedure me te specifikuar e me te pergjitshme.
Krijoni Kontakt