Miten saa kommentit pois näkyvistä, kun tallennan Excel-sivuston webbi-sivuksi? Eli Excel muodossa kommentit saisivat näkyä, vaikka pienen mutkan kautta, mutta ei html muodossa. Onko mitenkään mahdollista?
Excelistä Webbi-sivu, kommentit piiloon
JOS
5481
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 5
Vanhimmat
html-koodia.
Se on puhdasta tekstiä.
Ota se vaikka Notepadiin ja poista
kommentit.
Taitaa olla nopein tapa.
En julkaise kovin mielelläni webiin Excelistä suoraan mitään ja olenkin keksinyt siihen ratkaisun.
Esimerkki:
Soluissa A1:K1 alueella on laskenta yms. dataa.
Sarakkeeseen M , riville M1 kootaan alueen A1:K1 tiedot, seuraavi rivi muodostetaan samaan tapaan jne.
Kun tiedot haluaa julkaista, kopioidaan alue M1:M100...M200 webbisivulle. Ei tule mitään turhia kilkkkeitä mukana ja muotoilu pysyy hallussa.
taulukon moduulin missä kommentit...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
PalautaKommentit
End Sub
ThisWorkbook moduuliin...
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
TallennaKommentit
End Sub
moduuliin...
Option Explicit
Sub TallennaKommentit()
Dim originaali As Worksheet
Dim Kommentti As Worksheet
Dim KommenttiAlue As Range
Dim solu As Range
Dim rivi As Long
Set originaali = Worksheets("Taul1")
Set Kommentti = Worksheets("Taul2")
On Error Resume Next
Set KommenttiAlue = originaali.Cells.SpecialCells(xlCellTypeComments)
On Error GoTo 0
If KommenttiAlue Is Nothing Then
MsgBox "Kommentteja ei löytynyt"
Exit Sub
End If
Kommentti.Cells.Delete
rivi = 0
For Each solu In KommenttiAlue.Cells
rivi = rivi 1
Kommentti.Cells(rivi, 1).Formula = "=" & solu.Address(external:=True)
Kommentti.Cells(rivi, 2).Value = "'" & solu.Comment.Text
Next solu
originaali.Cells.ClearComments
End Sub
Sub PalautaKommentit()
Dim originaali As Worksheet
Dim Kommentti As Worksheet
Dim KommenttiAlue As Range
Dim solu As Range
Dim rivi As Long
Dim Osoite As String
Set originaali = Worksheets("Taul1")
Set Kommentti = Worksheets("Taul2")
originaali.Cells.ClearComments
With Kommentti
If Application.CountA(.Columns(1)) = 0 Then
MsgBox "Kommettitaulu on tyhjä!", vbInformation, "Kommentit"
Exit Sub
End If
For rivi = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
If IsError(.Cells(rivi, 1).Value) Then
MsgBox "Joku meni pieleen"
Else
Osoite = Range(Mid(.Cells(rivi, 1).Formula, 2)) _
.Address(external:=True)
Range(Osoite).ClearComments
Range(Osoite).AddComment Kommentti.Cells(rivi, 2).Value
'Range(Osoite).Comment.Visible = True
End If
Next rivi
End With
End Sub
oletuksena nyt, että vain kaksi taulukkoa Taul1, jonka tallennat web muotoon ja
Taul2, jonne tallennetaan Taul1 kommentit ennen tallennusta ja samalla Taul1:stä poistetaan kommentit. Kun klikkaat jotain solua Taul1- palauttaa kommentit takaisin (ei ehkä fiksuin tapa tehdä, mutta eipähän tarvitse erillisiä nappeja väsätä ;-))
Yksi juttu koodissa jää ihmetyttämään. Tai sanotaan suoraan, että olen niin aloittelija koodamaan, että suurin vika löytynee vielä peilistä.
Kuitenkin jos yritän lisätä uuden kommentin se siirtää sen heti pois, kun klikkaan jotain toista solua vanhat kommentit pysyy paikallaan? Olenko tehnyt jotain outoa?
niin se koodi toimiikin.Poista nyt taulukon moduulista
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
PalautaKommentit
End Sub
ja tee sitten napit joihin liität makrot-toiseen Tallenna Kommentit ja toiseen nappiin PalautaKommentit
sitten toimii oikein