Excel - vyhladavanie – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Excel - vyhladavanie – Visual Basic – Fórum – Programujte.comExcel - vyhladavanie – Visual Basic – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1600 příspěvků
27. 10. 2011   #1
-
0
-

Ahojte chalani.....robim taky maly projekt v exceli. ale vo VBA moc neviem. Mam taky problem.....momentalne to funguje tak ze ak zadam do policka "Zadaj cislo" tak sa mi v stlpci A1:A8 prehlada cislo pomocou cyklu FOR a ak take cislo najde, tak ho napise do policka "Najdene cislo". Ale ja potrebujem vyriesit este jednu vec:
Ak zadam take cislo ktore sa v tabulke nenachadza nech mi vyhlada najblizsie vyssie cislo...urcite to pojde pomocou cyklu WHILE...ale ja sa v exceli stale s tym cyklom akosi nemozem dohodnut.
Ak by na to niekto prisiel budem mu velmi zaviazany. Samozrejme aj prikladam makro 

Option Explicit

Sub hladaj()

    Dim riadky As Integer
    Dim i As Integer
    Dim priemer As Double
    Dim hladane As Double
    Dim oznacenie As String
    
    riadky = Range("A1:A8").Rows.Count
    priemer = Range("E2").Value
    
    For i = 1 To riadky
        If Cells(i, 1) = priemer Then
            hladane = priemer
            Range("F2").Value = hladane
            oznacenie = Cells(i, 2)
            Range("G2") = oznacenie
        End If
    Next i

End Sub

Nahlásit jako SPAM
IP: 85.135.183.–
mitti0
Newbie
29. 10. 2011   #2
-
0
-

#1 Martin
fakt mi tu nikto nepomoze?

Nahlásit jako SPAM
IP: 85.135.132.–
Pudni tvor+2
Stálý člen
8. 11. 2011   #3
-
0
-

Ahoj, není to zrovna s cyklem WHILE a nevím jestli tam nemám

syntaktickou chybu (Ve VB taky nedělám), ale mělo by to fungovat.

Vyzkoušej to, snad ti to pomůže.

(Na přesné hodnotě toho čísla 1000000000000 nezáleží,

mělo by být ale větší než největší číslo jaké v tom sloupci bude)

Option Explicit

Sub hladaj()

    Dim riadky As Integer
    Dim i As Integer
    Dim priemer As Double
    Dim hladane As Double
    Dim oznacenie As String
    Dim nalezeno As Integer
    Dim nejblizsiVyssi As Double
    Dim nejblizsiVyssiIndex As Integer
    
    riadky = Range("A1:A8").Rows.Count
    priemer = Range("E2").Value
    nalezeno = 0

    For i = 1 To riadky
        If Cells(i, 1) = priemer Then
            hladane = priemer
            Range("F2").Value = hladane
            oznacenie = Cells(i, 2)
            Range("G2") = oznacenie
            nalezeno = 1
        End If
    Next i
    
    If nalezeno = 0 Then
      nejblizsiVyssi = 1000000000000
      nejblizsiVyssiIndex = 0
      For i = 1 To riadky      
        If Cells(i, 1) > priemer Then
          If Cells(i, 1) < nejblizsiVyssi Then
            nejblizsiVyssi = Cells(i, 1)
            nejblizsiVyssiIndex = i
          End If  
        End If
      Next i
      Range("F2").Value = nejblizsiVyssi
      oznacenie = Cells(nejblizsiVyssiIndex, 2)
      Range("G2") = oznacenie
    End If

End Sub
Nahlásit jako SPAM
IP: 90.180.213.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Vyhladávanie v BST — založil Michal

Vyhľadávanie z DB + vypis — založil XANI

Chytrejsie vyhladavanie — založil dalaman

Vyhľadávanie v databáze — založil Tocimanko

Vyhľadávanie v grafe — založil Jozef01

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý