Dobrý den, může mi někdo pomoci s VBA ?
Mám v jednom sloupci hodnoty (číslo) a potřeboval bych to převést na komentář v jiném sloupci. Řádky zdroje a cíle jsou vždy stejné.
Jedinou podmínku bych tam chtěl a to aby se komentář vložil ze zdroje jedině když je to číslo.
Předem moc děkuji , vaše pomoc pomáhá mnoho začátečníkům pochopit základy VBA
Díky
Excel - převod čísla z buňky do komentáře Vyřešeno
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Excel - převod čísla z buňky do komentáře
Makro projede sloupec A do posledniho obsazeného řádku a pokud je číslo tak vloží komentář o dvě buňky doprava.
Kód: Vybrat vše
Sub PridejKomentar()
'
Dim bunka As Variant
Dim radek As Integer
For radek = 1 To Cells(Rows.Count, "A").End(xlUp).Row 'opakuj pro radky od 1 do posledniho obsazeneho
bunka = Cells(radek, "A").Address 'bunka co se ma kontrolovat
If IsNumeric(Range(bunka)) And Not IsEmpty(Range(bunka)) Then 'je cislo v bunce?
With Range(bunka).Offset(0, 2) 'pridej komentar o dve bunky doprava
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Range(bunka).Text
End With
End If
Next radek
End Sub
Re: Excel - převod čísla z buňky do komentáře
Mockrát díky, to je přesně co jsem potřeboval.
A díky za ty komentáře přímo v makru, to je nejlepší návod jak to pochopit.
--- Doplnění předchozího příspěvku (18 Úno 2014 10:34) ---
Měl bych ještě malou otázečku, kdyby zdroj byl sloupec "M" a potřeboval bych komentář do sloupce "E" tak tam už bych asi musel specifikovat zdroj a cíl jiným způsobem?
A díky za ty komentáře přímo v makru, to je nejlepší návod jak to pochopit.
--- Doplnění předchozího příspěvku (18 Úno 2014 10:34) ---
Měl bych ještě malou otázečku, kdyby zdroj byl sloupec "M" a potřeboval bych komentář do sloupce "E" tak tam už bych asi musel specifikovat zdroj a cíl jiným způsobem?
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Excel - převod čísla z buňky do komentáře
Lze takto
Tento řádek říká pro kolik bude platit řádků od prvního ve sloupci A, pokud se budeš chtít řídit podle jiného sloupce tak změň písmeno
Zdrojová buňka - Zde "A", uprav podle zdrojového sloupce. Ty změníš A na M.
Tento řádek
uprav pak následovně.
Offset(0, 2) znamená pro jakou buňku bude platit od zdrojové.
zde pro druhou doprava.
-1.číslo je pro řádky
--pokud od zdrojové buňky se budeš chtít posunout nad ní, tak budeš zadávat záporná čísla, pokud pod ní tak kladná
-2.číslo je pro sloupce
--pokud od zdrojové buňky se budeš chtít posunout vlevo od ní, tak budeš zadávat záporná čísla, pokud vpravo od ní tak kladná
Pro tebe bude tedy platit Offset(0, -8)
Tento řádek říká pro kolik bude platit řádků od prvního ve sloupci A, pokud se budeš chtít řídit podle jiného sloupce tak změň písmeno
Kód: Vybrat vše
For radek = 1 To Cells(Rows.Count, "A").End(xlUp).Row 'opakuj pro radky od 1 do posledniho obsazeneho
Zdrojová buňka - Zde "A", uprav podle zdrojového sloupce. Ty změníš A na M.
Kód: Vybrat vše
bunka = Cells(radek, "A").Address 'bunka co se ma kontrolovat
Tento řádek
Kód: Vybrat vše
With Range(bunka).Offset(0, 2) 'pridej komentar o dve bunky doprava
uprav pak následovně.
Offset(0, 2) znamená pro jakou buňku bude platit od zdrojové.
zde pro druhou doprava.
-1.číslo je pro řádky
--pokud od zdrojové buňky se budeš chtít posunout nad ní, tak budeš zadávat záporná čísla, pokud pod ní tak kladná
-2.číslo je pro sloupce
--pokud od zdrojové buňky se budeš chtít posunout vlevo od ní, tak budeš zadávat záporná čísla, pokud vpravo od ní tak kladná
Pro tebe bude tedy platit Offset(0, -8)
Re: Excel - převod čísla z buňky do komentáře
Když máš chuť si hrát, můžeš to taky udělat přes funkci:
Funkce vezme číslo z buňky na kterou ukazuje parametr, přidá ho do komentáře v buňce ve které je zapsána a vypíše výsledek.
Kód: Vybrat vše
Public Function PridejKomentar(Bunka As Range) As Variant
Dim rng As Range
Dim sFormat As String
If TypeName(Bunka) <> "Range" Then ' Ošetříme nechtěné parametry
PridejKomentar = "To není adresa"
GoTo Konec:
End If
Set rng = Bunka.Cells(1, 1) ' když tam bude více buněk, bereme jen první
If IsNumeric(rng) And Not IsEmpty(rng) Then ' je cislo v bunce?, datum není číslo
With Application.ThisCell ' pridej komentar
sFormat = rng.NumberFormat
If sFormat = "General" Then ' upravíme formát
sFormat = "General Number"
End If
If .Comment Is Nothing Then
.AddComment ' Komentář tam není, přidáme
.Comment.Visible = False
.Comment.Text Text:=Format(rng.Value, sFormat) ' rng.Text může vrátit "###"
Else ' Na konec přidáme číslo
.Comment.Text Text:=.Comment.Text & vbCrLf & Format(rng.Value, sFormat)
End If
End With
PridejKomentar = "Ok"
Else
PridejKomentar = "To není číslo"
End If
Konec:
End Function
Funkce vezme číslo z buňky na kterou ukazuje parametr, přidá ho do komentáře v buňce ve které je zapsána a vypíše výsledek.
Re: Excel - převod čísla z buňky do komentáře Vyřešeno
Díky vám za pomoc, hlavně to vysvětlení Offset(0,2) mi moc pomohlo
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
automaticke nastaveni velikosti komentare v Excelu
od Mikik Block » 04 zář 2024 15:17 » v Kancelářské balíky - 0
- 3176
-
od Mikik Block
Zobrazit poslední příspěvek
04 zář 2024 15:17
-
-
-
Jak odstranit zelená čísla ve wordu Příloha(y)
od symetrala » 14 zář 2024 13:54 » v Kancelářské balíky - 3
- 3343
-
od elninoslov
Zobrazit poslední příspěvek
15 zář 2024 09:27
-
-
-
Co jako první udělat přenos tel čísla nebo aktivaci sim
od p3v4x » 04 říj 2024 15:26 » v Mobily, tablety a jiná přenosná zařízení - 1
- 3179
-
od Zivan
Zobrazit poslední příspěvek
04 říj 2024 15:55
-
-
-
EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw) - 2
- 4746
-
od Riviera kid
Zobrazit poslední příspěvek
02 zář 2024 16:21
-
-
- 2
- 12162
-
od Snekment
Zobrazit poslední příspěvek
29 led 2025 15:05
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti