» »

[EXCEL] Pogojno kopiranje na drug list

[EXCEL] Pogojno kopiranje na drug list

MRB0rYS ::

Torej, kopiral bi podatke iz enega lista na drugi list v excelu vendar s pogojem.
Primer:
List 1
A1=boris
B1=andrej
C1=cilka
D1=polonca

A2=nekaj
B2=nekaj drugega
C2=2222
D2=1111

A3=nekaj
B3=andrej
C3=2222
D3=1111
itd..

Sedaj mi naj na drugi list prekopira vse vrstice v katerih se nahaja recimo v B-stolpcu andrej. Se pravi tukaj bi mi skopiralo na list2 1 in 3 vrstico, drugo spusti ker ni B2 andrej.
Prosim za kodo, ker vem da ste dobri.

lp
b0rys

zigi ::

Mogoče kaj takega?
=LOOKUP(A1;List1!A$2:A$1000;List1!B$2:B$100)

Če imaš v vrstici A1 vpisano 'Andrej', v B1 pa to funkcijo, ti bo iz List1 pogledalo v A1:A1000 če je kje vrednost 'Andrej', v in ti vrnilo kar je v tej vrstici v stolpcu B.

A kdo ve kako se napiše range za celi stolpec, razen vrstice A1?

StratOS ::

Lahko narediš na hitro makro :

Sub CopyIt()

Const Vrstic As Long = 4 //Št. Vrstic Max
Const Stolpcev As Long = 4 //Št. Stolpcev Max

Const Search As String = "andrej" //Iščemo

Dim Vrstica As Long
Dim Stolpec As Long
Dim VrsticaNo As Long
Dim i As Long

Vrstica = 1
Stolpec = 1
VrsticaNo = 1

Check:
If UCase$(Sheet1.Cells(Vrstica, 2)) = UCase$(Search) Then //Iščemo v 2 stolpcu
For i = 1 To Stolpcev
Sheet2.Cells(VrsticaNo, i) = Sheet1.Cells(Vrstica, i)
Next i
VrsticaNo = VrsticaNo + 1
End If
Vrstica = Vrstica + 1
Stolpec = 1
If Vrstica > Vrstic Then MsgBox "Ok, končal", vbCritical: Exit Sub
GoTo Check
End Sub


Zadevo se da še pohitrit z funkcijami, no to bi bila ena rešitev.
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."

Zgodovina sprememb…

  • spremenila: StratOS ()

MRB0rYS ::

StratOS hvala za enkrat, jutri takoj sprobam v službi. In če kaj nebo jasno se še priporočam.

Zigi tudi tebi hvala, ampak iskal sem makro bo Stratosovo delo zgleda v nulo.
lp
b0rys

Zgodovina sprememb…

  • spremenil: MRB0rYS ()

StratOS ::

Seveda, če potrebuješ še kaj smo vedno na voljo pomagati.
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."

MRB0rYS ::

Opa...

tole je moja koda ko sem jo prilagodil zame:

Sub CopyIt()

Const Vrstic As Long = 15 'Št. Vrstic Max
Const Stolpcev As Long = 3000 'Št. Stolpcev Max

Const Search As String = "TET" 'Iščemo

Dim Vrstica As Long
Dim Stolpec As Long
Dim VrsticaNo As Long
Dim i As Long

Vrstica = 1
Stolpec = 1
VrsticaNo = 1

Check:
If UCase$(Sheet1.Cells(Vrstica, 6)) = UCase$(Search) Then 'Iščemo v 2 stolpcu
For i = 1 To Stolpcev
Sheet2.Cells(VrsticaNo, i) = Sheet1.Cells(Vrstica, i)
Next i
VrsticaNo = VrsticaNo + 1
End If
Vrstica = Vrstica + 1
Stolpec = 1
If Vrstica > Vrstic Then MsgBox "Ok, končal", vbCritical: Exit Sub
GoTo Check
End Sub

V tejle vrstici mi pa javi napako:

If UCase$(Sheet1.Cells(Vrstica, 6)) = UCase$(Search) Then 'Iščemo v 2 stolpcu


Po moje je napaka v tem ko gleda Sheet1(list 1) namreč jaz imam več listov ki so drugače poimenovani.
Pa še to rabim iskati po dveh kriterijih recimo v 6 in 7 stolpcu. Drugače zgleda bo tole delovalo.

lp
b0rys

StratOS ::

Sub CopyIt()

Const Vrstic As Long = 15
Const Stolpcev As Long = 5

Dim Search As String
Dim Vrstica As Long
Dim Stolpec As Long
Dim VrsticaNo As Long
Dim i As Long
Dim iStolpec As Long



Start:
Search = InputBox("Vnesi iskani string" & vbCrLf & "Vnesi prazno za preklic", "String")
If Len(Search) = 0 Then Exit Sub

iStolpec = InputBox("Vnesi stolpec za pregled iskalnega stringa " & """" & Search & """" & vbCrLf & "Vnesi 0 za preklic", "Št. stolpca")
If iStolpec = 0 Then Exit Sub

Vrstica = 1
Stolpec = 1
VrsticaNo = 1

Check:
If UCase$(Sheet1.Cells(Vrstica, iStolpec)) = UCase$(Search) Then
For i = 1 To Stolpcev
Sheet2.Cells(VrsticaNo, i) = Sheet1.Cells(Vrstica, i)
Next i
VrsticaNo = VrsticaNo + 1
End If
Vrstica = Vrstica + 1
Stolpec = 1
If Vrstica > Vrstic Then MsgBox "Ok, končal" & vbCrLf & "Skopiral sem " & VrsticaNo - 1 & " vrstic s stringom " & """" & Search & """" & " v stolpcu " & iStolpec, vbCritical: Exit Sub
GoTo Check

If MsgBox("Ali želite zagnati še kakšno ostalo poizvedbo ?", vbCritical + vbYesNo, "Ponoven zagon ?") = vbYes Then GoTo Start:
End Sub
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Excel: tiskanje po vrsticah

Oddelek: Pomoč in nasveti
71116 (1029) luksorzi
»

kako v excelu avtomatsko obarvati celice

Oddelek: Programska oprema
104197 (3970) smetko
»

[Excel]Kako izvleči vrednost?

Oddelek: Programiranje
223797 (3520) Mobidick
»

excel

Oddelek: Programska oprema
181686 (1404) mikko
»

[Excel] problem z makrojem, visual basic (strani: 1 2 )

Oddelek: Programiranje
585704 (5167) steev

Več podobnih tem