Forum » Programiranje » [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
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?
=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.
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."
"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
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."
"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
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
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."
"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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Excel: tiskanje po vrsticahOddelek: Pomoč in nasveti | 1116 (1029) | luksorzi |
» | kako v excelu avtomatsko obarvati celiceOddelek: Programska oprema | 4197 (3970) | smetko |
» | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 3797 (3520) | Mobidick |
» | excelOddelek: Programska oprema | 1686 (1404) | mikko |
» | [Excel] problem z makrojem, visual basic (strani: 1 2 )Oddelek: Programiranje | 5704 (5167) | steev |