Close
Duke shfaqur rezultatin -9 deri 0 prej 5
  1. #1
    i/e regjistruar Maska e Patrioti
    Anëtarësuar
    17-01-2003
    Vendndodhja
    Neumuenster
    Postime
    347

    VBA - Si të bashkoj të dhënat e dy kolonave në një të vetme në Excel?

    Pershendetje cuna,

    Ne nje faqe exceli kam dy kollona me disa vlera te caktuara.
    Ne kollonen D, kam vlera fikse (numra)
    Ne kollonen BL kam disa vlera te llogaritura (edhe keto jane numra)

    Dua qe ne nje kollone te trete te perfshihen vlerat e te dyja kollonave te renditura sipas madhesise si me poshte:



    A ka ndonjeri ndonje ide sesi tia dal mbane?

    Faleminderit
    Fotografitë e Bashkëngjitura Fotografitë e Bashkëngjitura  
    Ndryshuar për herë të fundit nga Patrioti : 14-05-2008 më 03:27
    Duhet te dish dicka, per te kuptuar qe sdi asgje.

  2. #2
    i/e regjistruar
    Anëtarësuar
    08-05-2008
    Vendndodhja
    Middle East
    Postime
    243
    Grupoj Kolonen A dhe Kolonen B ne nje Kolon P.sh H dhe pastaj sortoj sipas madhesis DATA-> SORT

  3. #3
    i/e regjistruar Maska e Patrioti
    Anëtarësuar
    17-01-2003
    Vendndodhja
    Neumuenster
    Postime
    347
    Faleminderit per pergjigjen little boy por dua qe rjeshtimi te behet ne menyre dinamike.
    Une experimentova ca me komandat if, and, or, match etj po nuk qullosa gje.
    Duhet te dish dicka, per te kuptuar qe sdi asgje.

  4. #4
    i/e regjistruar Maska e Borix
    Anëtarësuar
    17-01-2003
    Postime
    2,316
    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.
    Ndryshuar për herë të fundit nga Borix : 16-05-2008 më 05:02
    "The rule is perfect: in all matters of opinion our adversaries are insane." (M. Twain)

  5. #5
    i/e regjistruar Maska e Patrioti
    Anëtarësuar
    17-01-2003
    Vendndodhja
    Neumuenster
    Postime
    347
    Borix, faleminderit per per pergjigjen dhe me fal qe u bera gjall pas kaq kohe, po kam qene me sherbim.

    Kodin me siper e kopjova dhe punonte per mrekulli. Gjithsesi ngaqe bera disa ndryshime me vone ne spreadsheet, perfundova ne incizimin e nje makroje te re, se per ta shkrujt nga fillimi skam byce.

    Gjithsesi vazhdoj e pyes veten ak ndonje mundesi qe kjo te realizohet pa makro?

    Te fala
    Duhet te dish dicka, per te kuptuar qe sdi asgje.

Tema të Ngjashme

  1. Parailiret - Iliret - Arberit _M.Korkuti
    Nga BARAT në forumin Historia shqiptare
    Përgjigje: 3
    Postimi i Fundit: 02-10-2006, 20:53
  2. Yahoo, Hotmail - Te dhenat private ne rrezik...
    Nga benseven11 në forumin Lajme nga informatika
    Përgjigje: 2
    Postimi i Fundit: 16-04-2004, 10:00
  3. Informacion mbi të dhënat e kompjuterit
    Nga benseven11 në forumin Trajnim & leksione
    Përgjigje: 5
    Postimi i Fundit: 01-10-2003, 10:23
  4. FEJA duhet te na NDAJ apo BASHKOJ
    Nga pertaci në forumin Toleranca fetare
    Përgjigje: 19
    Postimi i Fundit: 07-03-2003, 20:12

Regullat e Postimit

  • Ju nuk mund të hapni tema të reja.
  • Ju nuk mund të postoni në tema.
  • Ju nuk mund të bashkëngjitni skedarë.
  • Ju nuk mund të ndryshoni postimet tuaja.
  •