Zdravo. Prosil bi za pomoč pri izdelavi makroja v Excelu: v enem stolpcu (npr. "B") imam "razmetane" celice s tekstom v različnih poljubnih vrsticah. Kako bi lahko SAMO te celice premaknil, npr. za dve mesti v desno. Upam, da sem dovolj razjasnil svoj problem: želel bi premakniti SAMO "neprazne" celice iz določenega stolpca in ne celega stolpca... V teh "nepraznih" celicah je zapisan samo navaden tekst, brez formul ali kaj podobnega.
Hvala.
Lep pozdrav, Gregor
MAKRO -premik celic
Koda: Izberi vse
'
' www.matjazev.net
'
' marec 2009
'
Sub Premakni()
Dim zadnjaPolna As Long, r As Long
zadnjaPolna = Range("b65536").End(xlUp).Row
For r = zadnjaPolna To 1 Step -1
If (Trim(Cells(r, 2)) <> "") Then
Cells(r, 4) = Cells(r, 2)
Cells(r, 2) = ""
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Hvala za hiter odgovor, točno taka rešitev, kot sem jo potreboval. Če se da, bi še imel eno vprašanje glede istega problema: še preden bi celice premaknil, bi želel nad/pred vsako "neprazno celico" vstaviti novo prazno vrstico, potem jih premakniti za x polj v desno (kot prej), potem pa še skopirati točno te iste celice y polj v desno... Ali bi jih bilo boljše prej skopirati in komaj potem premakniti?? Hvala še enkrat za pomoč.
P.S. Ali obstaja ukaz, s katerim bi VSEM vrsticam določil, da se višina prilagodi vsebini celice?
P.S. Ali obstaja ukaz, s katerim bi VSEM vrsticam določil, da se višina prilagodi vsebini celice?
Koda: Izberi vse
Option Explicit
'
' www.matjazev.net
'
' marec 2009
'
Sub Premakni1()
Dim zadnjaPolna As Long, r As Long
zadnjaPolna = Range("b65536").End(xlUp).Row
Dim Premakni As Integer: Premakni = 2
Dim Kopiraj As Integer: Kopiraj = 10
For r = zadnjaPolna To 1 Step -1
If (Trim(Cells(r, 2)) <> "") Then
Cells(r, 2 + Premakni) = Cells(r, 2)
Cells(r, 2 + Premakni + Kopiraj) = Cells(r, 2)
Cells(r, 2) = ""
Cells(r, 2).EntireRow.Insert
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator