Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ändra i funktion med en "Inputbox"

Postades av 2010-04-13 13:01:03 - Robert Svensson, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 2042 personer

Hej, jag kör en funktion i ett makro - skulle vilja ändra "rad" i funktionen via "Inputbox"
Har provat olika varianter men får inte till det - någon som har ett tips på lösning...?

Ex.
ActiveCell.FormulaR1C1 = "=OFFSET('Prognos'!R46C[0],,0,,)"


Svara

Sv: Ändra i funktion med en "Inputbox"

Postades av 2010-04-13 13:26:05 - Sven Åke Persson

Testa det här
Raden ActiveCell.FormulaR1C1 = "=OFFSET('Prognos'!R46C[0],,0,,)" blir då så här

ActiveCell.FormulaR1C1 = Answer
<code>
Dim Answer As String, Msg As String, Title As String, DefVal As String
Msg = "Skriv in ActiveCell.FormulaR1C1"
Title = "Excel makro"
DefVal = "=OFFSET('Prognos'!R46C[0],,0,,)"
Answer = InputBox$(Msg, Title, DefVal)
ActiveCell.FormulaR1C1 = Answer
</code>
Har inte testat fullt ut


Svara

Sv:Ändra i funktion med en "Inputbox"

Postades av 2010-04-13 13:58:19 - Robert Svensson

Funkar tyvärr inte - Kompileringsfel: En matris förväntas!


Svara

Sv: Ändra i funktion med en "Inputbox"

Postades av 2010-04-13 17:21:07 - Sven Åke Persson

Ok Excel makro är inte min speciallitet mer än att jag vet att det är VB6 stuk.
Du skall ha en Reference till Microsoft Excel 8.0 Objekt Library

och att du skall ha Stdole2.tlb i ditt System32.

Någon Guru därute ? logga in !


Svara

Sv: Ändra i funktion med en "Inputbox"

Postades av 2010-04-13 21:56:21 - Robert Israelsson

Byta rad i funktionen? rimligtvis är det då 46 som är valfritt och kan lösas såhär:

Dim r As Integer
r = InputBox("Välj rad", "Radbyte", 46)
ActiveCell.FormulaR1C1 = "=OFFSET('Prognos'!R" & r & "C[0],,0,,)"


Svara

Sv:Ändra i funktion med en "Inputbox"

Postades av 2010-04-14 01:00:25 - Sven Åke Persson

Funderat lite kring ditt problem.
Fungerar det när du "hårdkodar" enl.

Ex.
<b>ActiveCell.FormulaR1C1 = "=OFFSET('Prognos'!R46C[0],,0,,)"</b> ???

Det där med 46 förstod jag inte men säkert smart !


Svara

Sv:Ändra i funktion med en "Inputbox"

Postades av 2010-04-14 08:54:58 - Robert Svensson

Lysande..! Funkar fint..!
Jag lade till en inputbox för ref. till flik. Hur gör jag för att loopa funktionen.?
Jag vill köra den för 52 celler som motsvarar årets veckor.
Nu har jag löst det genom att kopiera raderna lika många gånger...
Kan man även få referensen till kolumn att räkna upp med 6 för varje gång funktionen loopar...?

Ex.
ActiveCell.FormulaR1C1 = "=OFFSET('" & FLIK & "'!R" & RAD & "C[0],,0,,)"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=OFFSET('" & FLIK & "'!R" & RAD & "C[0],,6,,)"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=OFFSET('" & FLIK & "'!R" & RAD & "C[0],,12,,)"
ActiveCell.Offset(0, 1).Select


Svara

Sv: Ändra i funktion med en "Inputbox"

Postades av 2010-04-14 11:42:54 - Robert Israelsson

Ev.

Dim r As Integer, i As Integer, RAD as integer, KOLUMN as integer, FLIK as string
FLIK = InputBox("Ange flik", "Flik", "Prognos")
r = InputBox("Ange startrad", "Radbyte", 46)
for i=1 to 52
RAD= r+i
KOLUMN = (i-1)*6
ActiveCell.FormulaR1C1 = "=OFFSET('" & FLIK &"'!R" & RAD & "C[0],," & KOLUMN & ",,)"
ActiveCell.Offset(0, 1).Select 
next


Svara

Sv:Ändra i funktion med en "Inputbox"

Postades av 2010-04-14 13:07:05 - Sven Åke Persson

Ser att du använder "Integer" är det samma som gamla Long ? 16 vs 32 bit ? (32 bit Processor)


Svara

Sv: Ändra i funktion med en "Inputbox"

Postades av 2010-04-14 20:15:39 - Robert Israelsson

Nja, M$ säger själva såhär:
Byte 1 byte 0 to 255
Boolean 2 bytes True or False
Integer 2 bytes -32,768 to 32,767
Long
(long integer) 4 bytes -2,147,483,648 to 2,147,483,647
Single
(single-precision floating-point) 4 bytes -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values
Double
(double-precision floating-point) 8 bytes -1.79769313486231E308 to
-4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values


Svara

Sv:Ändra i funktion med en "Inputbox"

Postades av 2010-04-15 06:17:09 - Robert Svensson

Suveränt!
Jag fick ändra en smula bara för att få radnumret bibehållet sen funkar det.
Man tackar och bugar..!

Sub Test()


Dim r As Integer, i As Integer, RAD As Integer, KOLUMN As Integer, FLIK As String
Dim RÄKNARE As Integer



FLIK = INPUTBOX("Ange flik", "Flik", "Prognos")

RAD = INPUTBOX("Ange startrad", "Radbyte", 0)



For i = 1 To 53
RÄKNARE = RAD + i
KOLUMN = (i - 1) * 6
ActiveCell.FormulaR1C1 = "=OFFSET('" & FLIK & "'!R" & RAD & "C[0],," & KOLUMN & ",,)"
ActiveCell.Offset(0, 1).Select
Next

End Sub


Svara

Sv: Ändra i funktion med en "Inputbox"

Postades av 2010-04-15 08:17:25 - Robert Israelsson

Sorry, jag ser nu att det blir kaka på kaka. Skönt att det funkar.


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 873
27 965
271 770
400
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies