» »

Excel IF in macro

Excel IF in macro

jackson3 ::

Pozdravljeni.
Mi lahko kdo pove kako bi v eno celico združil več IF formul:npr. če je A1=1 je B1=1, če je A1=2 je B1=2,A1=3 B1=3..itn.Proval sem združit več IF funkcij B1=IF(A1=1;1;0),IF(A1=2;2;0)...pa ne gre.Ali pa kaka druga funkcija?
In pa če obstaja funkcija ki pi mi priklicala določen makro.

Hvala

jackson3 ::

Z IF-om je šlo- =IF(B10=1;HYPERLINK("c:\file1";"OK");IF(B10=2;HYPERLINK("c:\file2";"OK");IF(B10=3;HYPERLINK("c:\file3";"OK");IF(B10=4;HYPERLINK("c:\file4";"OK");"NAPAKA")))).
Kaj pa makroji?

snow ::

2 opciji
Sub test_if()
    r = "nic"
    v = Range("B10").Value
    If v = "1" Then
        r = "11"
    End If
    If v = "2" Then
        r = "22"
    End If
    Range("A1").Value = r
End Sub


Sub test_switch()
    v = Range("B10").Value
    Range("A1").Value = Switch(v = "1", 11, v = "2", 22, True, "nic")
End Sub
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

jackson3 ::

snow hvala. Tudi makro mi bo prav prišel. Ampak pri konkretnem primeru sem z IF-om kar zadovoljen.

Lp

jackson3 ::

Me pa še zanima, kako bi kopiral ročno iz ene celice v drugo z OK s pomočjo Hyperlinka ali s kako drugo funkcijo. Rad bi da mi tako kot zgoraj napiše OK in s klikom izvedem prenos. Se pravi A1=vrednost1,B1=OK,C1=vrednost1.

Lp

BlackHole ::

Tudi brez makroja se da tole naredit. Pač, pravilno jih moraš vgnezdit. Torej:
=IF(A1=1;1;IF(A1=2;2;IF(A1=3;3;"tako naprej")))
LP Marko

snow ::

Gumb: http://www.mrexcel.com/tip068.shtml
Hyperlink: http://www.ozgrid.com/forum/showthread....

BlackHole daj preberi drugi post v tej temi.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

jackson3 ::

snow še enkrat hvala. Ta gumbek je super,makro pa moram še pretuhtat, čeprav sem zadevo že prej naredil malo drugače. Pa še eno vprašanje-save as makro:
Public Sub SaveAsA1()
ThisFile = Range("A1").Value
ActiveWorkbook.SaveAs FileName:=ThisFile
End Sub
Rabil bi zraven še pot - C:\blabla\haha\A1 pri čemer je A1-haha B1-C:\blabla\haha ..ali pa drugače
A1-haha B1-C:\blabla\mapa je vedno ista kot ime datoteke A1

Hvala še enkrat

snow ::

Ni mi čist jasno kaj hočeš. A vedno v isti dir? Ali se dir spreminja glede na vrednost v A1 ali kako?

Če maš ime datoteke v A1 in hočeš vedno pripet nek direktorij narediš tako:
ThisFile = Range("A1").Value
Dir = "C:\blabla\"
FullPath = Dir & ThisFile
ActiveWorkbook.SaveAs FileName:=FullPath
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

jackson3 ::

Mogoče res malo nerazumljivo. Mapa c:\blabla\ je vedno ista. Naslednja mapa je vedno ista kot ime datoteke. Ime datoteke se spreminja in hkrati tudi mapa. Če je celica A1=1 je takrat v B1=c:\blabla\1\ in je pot c:\blabla\1\1.xls, če je A1=5 B1=c:\blabla\5\ je pot c:\blabla\5\5.xls itn. Nekaj takega to zdaj naredi(Matjazev.net):

Public Sub SaveAsA1()
ThisFile = Range("B1").Value & Range("A1").Value
ActiveWorkbook.SaveAs FileName:=ThisFile
End Sub
Ne vem, tvoj makro mi pa nekaj zašteka!

snow ::

Sub SaveAs()
    Sub SaveAs()
    src = Range("B1").Value & Range("A1").Value
    ActiveWorkbook.SaveAs Filename:=src, FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
End Sub

Sub SaveAs2()
    src = Range("B1").Value & Range("A1").Value
    ActiveWorkbook.SaveAs Filename:=src
End Sub


Prvi macro je bil narejen s pomočjo recorda, zato vsi tisti dodatni argumenti.
V A1 test.xls
v B1 c:\

in dela.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins


Vredno ogleda ...

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

[Excel]Vrednost celice = ime dokumenta

Oddelek: Programska oprema
314789 (4211) veteran
»

[excel]duplikati

Oddelek: Programiranje
81486 (1413) baksuz
»

Visual Basic in Excel

Oddelek: Programiranje
262689 (2255) Vesoljc
»

Excel vprašanje

Oddelek: Programiranje
81153 (1052) matic
»

Kako v excelu shraniti kot sliko?

Oddelek: Programska oprema
262551 (2250) Slavček

Več podobnih tem