< návrat zpět

MS Excel


Téma: Excel makro-prohození hodnot dvou buněk+koment rss

Zaslal/a 13.8.2013 19:31

Ahoj,
prosím excel-machry o pomoc s makrem.
Makro by mělo po stisku kl.zkratky umět u dvou označených buněk (vždy na jiném řádku) ke každé buňce vložit komentář (případně k existujícímu komentáři přidat) hodnotu buňky (text) a text ze sloupce A u druhé označené buňky a k tomu aktuální datum změny(vložení komentáře), a potom hodnoty označených buněk prohodit.

Výsledek by měl vypadat jako v příloze
Děkuju všem za pomoc

Příloha: zip14682_vymena.zip (8kB, staženo 25x)
stop Uzamčeno - nelze přidávat nové příspěvky.

#014692
Opičák
Ano, výsledek je stejný, jako příloha = žádný 9 9citovat
#014694
avatar
Na jednom foru jsem mu na to udelal makro,
ješte se neozval zda tak či jinak.
Pro názornost ho dám i sem.
Sub ProhozeniKomentaru()

Dim Adresy, Adresa1, Adresa2 As Variant
Dim Coment1, Coment2 As String

Adresy = Selection.Address

If InStr(1, Adresy, ":", 1) = 0 And Selection.Count = 2 Then
Adresa1 = Mid(Adresy, 1, InStr(1, Adresy, ",", 1) - 1)
Adresa2 = Mid(Adresy, InStr(1, Adresy, ",", 1) + 1, Len(Adresy) - InStr(1, Adresy, ",", 1))

If Range(Adresa1).Comment Is Nothing Then
Range(Adresa1).AddComment
End if
Range(Adresa1).Comment.Text Text:="Owner:" & Chr(10) & Range(Adresa1).Value & " " & Cells(Range(Adresa1).Row, "A")

If Range(Adresa2).Comment Is Nothing Then
Range(Adresa2).AddComment
End if
Range(Adresa2).Comment.Text Text:="Owner:" & Chr(10) & Range(Adresa2).Value & " " & Cells(Range(Adresa2).Row, "A")

Coment1 = Range(Adresa1).Comment.Text
Coment2 = Range(Adresa2).Comment.Text

Range(Adresa1).Comment.Text Text:=Coment2
Range(Adresa2).Comment.Text Text:=Coment1
End If
End Sub
citovat
#014733
avatar
Kdyby to náhodou někomu pomohlo, podělím se i o zbytek:

já vím, že s budu vymýšlet moc, ale risknu,to:)
Po stisknutá klávesové zkratky by to mělo udělat několik kroků:
1: Načíst hodnoty z označení buněk
2: Ty hodnoty vložit do komentáře u stejné buňky (pokud už existuje u některé z vybraných komentář, tak přidat na další řádek)
3: Za tu hodnotu vložit jméno z řádku druhé označené buňky
4: Hodnoty v buňkách vzájemně prohodit

Je to soubor s plánovanými směnami a učel je ten, aby se zaznamenaly do komentářů prohozené směny (původní směna, s kým byl vyměněno, kdo vyměnil-místo Owner přihlášený uživatel-to se ale doplní samo při přidání komentáře)

Každopádně kdyby se ti do toho už nechtělo, tak moc děkuju i za tohle makro, třeba s pomocí dalších to dáme dohromady
Příloha: zip14733_vymena.zip (8kB, staženo 25x)
citovat
#014740
avatar
Tak takto.
Sub ProhozeniKomentaru()

Dim Adresy, Adresa1, Adresa2 As Variant
Dim Coment1, Coment2, HodnotaBunky1, HodnotaBunky2 As String

Adresy = Selection.Address

If InStr(1, Adresy, ":", 1) = 0 And Selection.Count = 2 Then
Adresa1 = Mid(Adresy, 1, InStr(1, Adresy, ",", 1) - 1)
Adresa2 = Mid(Adresy, InStr(1, Adresy, ",", 1) + 1, Len(Adresy) - InStr(1, Adresy, ",", 1))

If Range(Adresa1).Comment Is Nothing Then
Range(Adresa1).AddComment
End If
Range(Adresa1).Comment.Text _
Text:=Range(Adresa1).Comment.Text & Chr(10) & "- " & Application.UserName & Chr(10) & Range(Adresa1).Value & " " & Cells(Range(Adresa2).Row, "A")

If Range(Adresa2).Comment Is Nothing Then
Range(Adresa2).AddComment
End If
Range(Adresa2).Comment.Text _
Text:=Range(Adresa2).Comment.Text & Chr(10) & "- " & Application.UserName & Chr(10) & Range(Adresa2).Value & " " & Cells(Range(Adresa1).Row, "A")

'Coment1 = Range(Adresa1).Comment.Text
'Coment2 = Range(Adresa2).Comment.Text

'Range(Adresa1).Comment.Text Text:=Coment2
'Range(Adresa2).Comment.Text Text:=Coment1

HodnotaBunky1 = Range(Adresa1).Value
HodnotaBunky2 = Range(Adresa2).Value

Range(Adresa1).Value = HodnotaBunky2
Range(Adresa2).Value = HodnotaBunky1
End If
End Sub

citovat
#018145
avatar
http://www.inkognito.sk?chat=133 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje