Stránka 1 z 1

Makra

Napsal: 31 led 2011 18:12
od mera
Zdravíčko, zadání zní:
1. makro-pomoci dialoboxu zadat jmeno a prijmeni
2. makro – sloupec, vedle makro, ktero nacte a vydeli dvema
3. makro-cykl. Vybere první dva sloupce a prvnich deset radku
4. makro – messagebox
5. makro - kopirovani bunek

Makro – pomocí dialogboxu zadat jméno a příjmení a to zobrazit v buňce A1

Sub ZadejJmenoAprijmeni ( )

a = InputBox(“Zadej jméno a příjmení“)

Range(“A1“).Select

ActiveCell.Value = a

End Sub
Tak něak by to mělo vypadat... předem díky!

Re: Makra

Napsal: 31 led 2011 18:54
od navstevnik
ad 1. to co uvadis vloz v editoru VBA do modulu, spust Debugger nebo krokuj proceduru a oprav pripadne chyby.
ad 2. Ve smycce For each promenna in BlokBunek.Cells .. Next promenna prochazej zadany blok a prirazuj do sousedni bunky (offset) hodnotu:
promenna.offset(0,1).value=promenna.value/2 , koukni se do napovedy na priklad
ad 3. zadej vychozi bunku: Set aaa= Range("a1") a ve dvou vnorenych smyckac ofsetuj radky prvniho sloupce a pak druheho sloupce, pro slouceni pouzij metodu Union, nejak takhle:

Kód: Vybrat vše

Sub test()
  Dim aaa As Range, Blk As Range
  Dim ofsetradek As Integer, ofsetsloupec As Integer
 
  Set aaa = ActiveSheet.Range("a1") ' vychozi bunka
  If Blk Is Nothing Then Set Blk = aaa ' vychozi blok
  For ofsetsloupec = 0 To 1
    For ofsetradek = 0 To 9
      Set Blk = Union(Blk, aaa.Offset(ofsetradek, ofsetsloupec))
      Debug.Print Blk.Address
    Next ofsetradek
  Next ofsetsloupec
  Debug.Print Blk.Address
End Sub

ad 4. v napovede k VBA najdes priklad konstrukce
ad 5. Copy - Paste nejdes take neco v napovede