Ir ao conteúdo
  • Cadastre-se

Carolina Nemeth

Membros Juniores
  • Total de itens

    3
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Olá! Possuo o seguinte código: <Const lammax = 0.75 Const epson = 0.0001 'precisão Const n = 0.013 'coef. de manning Const pi = 3.141592 'pi Dim q As Single 'vazão Dim i As Single 'declividade Dim d As Single 'diâmetro Dim a As Single Dim a1 As Single Dim a2 As Single Dim ac As Single Dim amax As Single 'angulo máximo Dim xaux As Single Dim acos1 As Single 'angulo auxiliar Dim area1 As Single Dim rh1 As Single Dim area2 As Single Dim rh2 As Single Dim fmax As Single Dim fmin As Single Dim epi As Single Dim sinal As Integer Dim fa As Single Dim fab As Single Dim lamina As Single Function calculaB(dp As Single, ip As Single, qp As Single) As Variant i = ip q = qp d = dp If q < 1.5 Then q = 1.5 End If q = q / 1000 'cálculo de amax xaux = 1 - (2 * lammax) acos1 = -Atn(xaux / (Sqr(-xaux * xaux + 1))) + pi / 2 amax = 2 * acos1 a = amax a1 = 0.0001 a2 = amax If a1 < (pi) Then area1 = (a1 - Sin(a1)) * d ^ 2 / 8 rh1 = area1 / (a1 * d / 2) Else a1 = 2 * pi - a1 area1 = (pi * d ^ 2) / 4 - ((a1 - Sin(a1)) * d ^ 2 / rh1 = area1 / ((pi * d) - a1 * d / 2) End If If a2 < (pi) Then area2 = (a2 - Sin(a2)) * d ^ 2 / 8 rh2 = area2 / (a2 * d / 2) Else a2 = 2 * pi - a2 area2 = (pi * d ^ 2) / 4 - ((a2 - Sin(a2)) * d ^ 2 / rh2 = area2 / ((pi * d) - a2 * d / 2) End If fmax = q - 1 / n * area1 * rh1 ^ (2 / 3) * Sqr(i) fmin = q - 1 / n * area2 * rh2 ^ (2 / 3) * Sqr(i) sinal = Sgn(fmax) a1 = 0.0001 a2 = 2 * pi epi = a1 - a2 Do While Abs(epi) > epson ab = (a1 + a2) / 2 ac = ab If a1 < (pi) Then area1 = (a1 - Sin(a1)) * d ^ 2 / 8 rh1 = area1 / (a1 * d / 2) Else a1 = 2 * pi - a1 area1 = (pi * d ^ 2) / 4 - ((a1 - Sin(a1)) * d ^ 2 / rh1 = area1 / ((pi * d) - a1 * d / 2) End If If ab < (pi) Then area2 = (ab - Sin(ab)) * d ^ 2 / 8 rh2 = area2 / (ab * d / 2) Else ab = 2 * pi - ab area2 = (pi * d ^ 2) / 4 - ((ab - Sin(ab)) * d ^ 2 / rh2 = area2 / ((pi * d) - ab * d / 2) End If fa = q - 1 / n * area1 * rh1 ^ (2 / 3) * Sqr(i) fab = q - 1 / n * area2 * rh2 ^ (2 / 3) * Sqr(i) If Sgn(fab) = sinal Then a1 = ac Else a2 = ac End If epi = (a1 - a2) Loop lamina = (1 - Cos(ac / 2)) / 2 lamina = Int(-lamina * 100) / 100 aux_texto = Str$(-lamina) If -lamina < 0.75 Then calculaB = -lamina calculaB = ac Else calculaB = "conduto forçado" End If End Function Function veloc(ang As Single, di As Single, qp As Single) As Variant ab = ang d = di q = qp If ab < (pi) Then area2 = (ab - Sin(ab)) * d ^ 2 / 8 rh2 = area2 / (ab * d / 2) Else ab = 2 * pi - ab area2 = (pi * d ^ 2) / 4 - ((ab - Sin(ab)) * d ^ 2 / rh2 = area2 / ((pi * d) - ab * d / 2) End If vel = q / area2 veloc = vel End Function> Porém o valor de n não quero que seja uma constante e sim que a VBA pegue o valor da célula F conforme a linha em que esta calculando B, ou seja, se estou calculando na linha 26, quero que n seja F26. É possível?
  2. Exatamente o que eu precisava. Obrigada!
  3. Olá, sou nova no fórum então nem sei se o nome do tópico esta certo, ou se serei clara na minha dúvida, portanto me desculpem desde já. Achei aqui mesmo no fórum um código em VBA para fazer uma lista das planilhas no Excel, e esta funcionando perfeitamente. Mas gostaria de adicionar ao código a condição de não aparecer na lista planilhas que estejam ocultas. Segue o código feito pelo membro Osvaldomp: Private Sub Worksheet_Activate() Dim ws As Worksheet, i As Integer Application.ScreenUpdating = False Sheets("ListaPlans").Range("A:B").ClearContents For Each ws In ThisWorkbook.Worksheets If ws.Name <> "ListaPlans" Then i = i + 1 With Sheets("ListaPlans") .Range("A" & i) = ws.Name .Hyperlinks.Add Anchor:=Range("A" & i), _ Address:="", SubAddress:="'" & ws.Name & _ "'!A1", TextToDisplay:=ws.Name .Range("B" & i) = "=" & ws.Name & "!F6" End With End If Next ws Application.ScreenUpdating = True End Sub Obrigada!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!