Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Tiago Simões

Formatar folha de Excel COm VS2010

Mensagens Recomendadas

Tiago Simões

Boa tarde,

eu criei recorrendo ao savefiledialog, um ficheiro excel onde gravo os valores que pretendo.

Até aqui tudo bem consigo colocar os meus valores uso a seguinte programação:

Excel.workbooks(1).worksheets(1).cells(1, 1).value = "Resistance"

Conseguem me ajudar por exemplo a por a negrito o texto "Resistance", ou a aumentar a largura da célula??

Também pretendia conseguir por os limites nas linhas e colunas e mais para a frente executar um gráfico mediante os valores..

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tiago Simões

Para formatar as larguras e alturas das células é:

Excel.Columns.AutoFit()

Excel.rows.AutoFit()

Para o resto sugestões?? já tentei com size e resize.. e por ai fora mas ta-me a faltar algo..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tiago Simões

Vou analisar porque sou novo nisto e preciso de mais algum tempo..

Obrigado se tiver mais duvidas depois volto a colocar.

Cumprimentos,

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tiago Simões

Já tive a ver consegui aproveitar alguma coisa.. Mas não é bem o que queria.. eu to a a criar uma folha totalmente do zero com o visual basic e criei de uma forma que não consigo usar codigo como xl.. ou range..

Neste momento consigo usar linhas de comando do genero:

"

' Excel.workbooks(1).worksheets(1).cells(2, 2).value = "Tension Zone"

Excel.workbooks(1).worksheets(1).cells(2, 1).value = "Ft,Rd"

Excel.workbooks(1).worksheets(1).cells(4, 3).value = Ftbolts

Excel.workbooks(1).worksheets(1).cells(2, 3).value = "KN/m"

Excel.workbooks(1).worksheets(1).cells(2, 3).font.bold = True

' Excel.workbooks(1).worksheets(1).cells(1, 1).font.bold = True

Excel.workbooks(1).worksheets(1).cells(2, 2).font.color = RGB(0, 255, 0)

' Excel.workbooks(1).worksheets(1).cells(1, 1).font.size = 14

'Excel.workbooks(1).worksheets(1).cells(1, 1).font.themecolor = 5

'Excel.workbooks(1).worksheets(1).cells(1, 1).font.underline = True

Excel.workbooks(1).worksheets(1).cells(2, 3).Borders.LineStyle = True

"

Mas ainda tenho duas duvidas.. primeiro como defino de forma semelhante à de cima os limites (borders) so das posições que pretendo.

A segunda é como consigo juntar duas células em linguagem que a minha folha possa aceitar..

Obrigado..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

sem range não sei, ou dás a volta para teres acesso ao range ou espera por alguém que te dê a dica.

tenta declarar uma variável como range talvez dê.

deixo aqui uns exemplos de como utilizar:

Private Sub UnirCelulas_Click()
'Talvez este funcione
ActiveWorkbook.Sheets("FormatarPag").Activate
Dim linh As Range
Set linh = Union(Cells(3, 1), Cells(3, 2))
linh.Merge
End Sub

'para unir
Range("G1:H1").Merge

Private Sub cmdFormatBordas_Click()
ActiveWorkbook.Sheets("FormatarPag").Activate
Dim linha As Range
Dim linh As Range
'Set linh = Union(Rows(1), Rows(2))
Set linha = Range("C15:E18")
linha.Borders(xlEdgeTop).LineStyle = 12  'xlNone (fica sem borda )
linha.Borders(xlEdgeRight).LineStyle = 12 'xlContinuous (fica?)
linha.Borders(xlEdgeBottom).LineStyle = 12
linha.Borders(xlEdgeLeft).LineStyle = 12
linha.Borders(xlEdgeTop).Color = 45
linha.Merge
linha.Cells.UnMerge
'linh.Borders.Color = 10
'linha.Borders.Color = 15
End Sub

Private Sub cmdTamanhoRowCuln_Click()
ActiveWorkbook.Sheets("FormatarPag").Activate
Dim RangColl As Range
Set RangColl = Range("D1:E1")
RangColl.Value = Array("C", "D")
With RangColl
.Value = Array("A", "B")
.ColumnWidth = 12			   'Largura das colunas
.RowHeight = 24				 'largura das linhas
.Font.Name = "Times New Roman"
.Font.Size = 16
.Font.Bold = True				'Negrito
.Font.Underline = True		   'Sublinhado
.Font.Italic = True			  'Itálico
.Font.FontStyle = True		   'Retorna negrito a notmal
.Style = "Normal"				'coloca a fonte em normal
.HorizontalAlignment = xlRight   'Direita
.HorizontalAlignment = xlLeft	'esquerda
.HorizontalAlignment = xlCenter  'centro
.VerticalAlignment = xlBottom	'inferior
.VerticalAlignment = xlTop	   'Superior
.VerticalAlignment = xlCenter	'centro
End With
End Sub

Private Sub cmdUnirCelulas_Click()
ActiveWorkbook.Sheets("FormatarPag").Activate
Dim unircelula As Range
Set unircelula = Range("A2:C2")
unircelula.Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection.Interior
'.ColorIndex = 15
.Pattern = xlSolid
End With
'Selection.Font.ColorIndex = 2
End Sub

cumps

acao

Editado por acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.