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


Pausa macro i excel

Postades av 2015-09-18 08:58:01 - Max Alexandersson, i forum visual basic - allmänt, Tråden har 9 Kommentarer och lästs av 2897 personer

Hej,

Har ett långt macro/VBA i excel som jag skulle vilja ha ett tillägg i. Tillägget är att jag vid en angiven rad skulle jag vilja att det pausar och ger mig tillåtelse att fylla i siffror i 3olika celler i excel. När jag gjort detta vill jag att macrot fortsätter.
Någon som kan hjälpa mig med detta? Det spelar ingen roll om jag skriver direkt i cellerna eller om det kommer upp en dialogruta som jag gör denna manuella inmatningen i.

Tack på förhand

//Max


Svara

Sv: Pausa macro i excel

Postades av 2015-09-22 15:36:59 - Thommy Lantz

Skapa en dialogruta med tre textboxar,
en OK knapp och en Avbryt knapp.

Om du vill läsa in värdet i de tre cellerna innan dialogrutan
visas kan du göra det i eventet nedan

Private Sub UserForm_Initialize()

TextBox1.Text = Cells(1, 1).Value
TextBox2.Text = Cells(1, 2).Value
TextBox3.Text = Cells(1, 3).Value

End Sub


För att hantera ifall du vill stoppa makrot
när du klickar på knappen Avbryt i dialogrutan
måste du skapa en publik variabel som du sätter till True/False
beroende på vilken knapp som klickats

kod för knapparna blir då

Private Sub Avbryt_Click()
Stoppa = True
Me.Hide

End Sub

Private Sub OK_Click()

Cells(1, 1).Value = TextBox1.Text
Cells(1, 2).Value = TextBox2.Text
Cells(1, 3).Value = TextBox3.Text
Stoppa = False
Me.Hide

End Sub



makrot blir så här

Option Explicit

Public Stoppa As Boolean  ' publik variabel för att hantera vad som skall hända efter dialogrutan

Sub Testar()

'' Kod före dialogrutan

UserForm1.Show

' Om du klickar avbryt i dialogrutan stannar makrot
If Stoppa Then Exit Sub

' Kod efter dialogrutan

End Sub




OBS ingen felhantering i detta
hoppas det hjälper


Svara

Sv:Pausa macro i excel

Postades av 2015-09-22 15:52:45 - Max Alexandersson

Nu lyser nog min okunskap igenom, men menar du att jag först skapar något i excel eller ska jag lägga in allt som en kod i VBA?

mvh

//Max


Svara

Sv: Pausa macro i excel

Postades av 2015-09-22 16:10:26 - Thommy Lantz

Du skapar dialogrutan i VBA editorn
Där har du väl redan ditt makro
Vill du ha min testfil får du ge mig din epostadress


Svara

Sv:Pausa macro i excel

Postades av 2015-09-23 09:13:37 - Max Alexandersson

Stort tack Thommy, det fungerar perfekt nu!
Jag har en sista fråga angående min VBA-kod.

Kort beskrivning:
Kolumn "H" i fliken "postnummer" innehåller 3-sifriga koder upp till 999 samt 5-siffriga koder som egentligen är postnummer. En del celler är tomma och innehåller enbart ett blanksteg.
Jag har fösökt få till en VBA-kod som gör följande;

1. Tar bort alla blanksteg i de "tomma" cellerna i angiven kolumn "H"
2. Kontrollerar att alla 5-siffriga postnummer i kulumn "H" har ett mellanslag efter de tre första siffrorna och lägger till det om det saknas. Dessa cellerna ska sedan vara som text.
3. Viktigt att den enbart kör dessa justeringar i angiven kolumn i angiven flik.

Är som Ni förstår nybörjare och försöker hitta lösningar själv men stöter på denna typen av problem som jag hopas kunna få assistans med.

Tack!


Svara

Sv: Pausa macro i excel

Postades av 2015-09-24 10:04:45 - Thommy Lantz

Nåt sånt här
Om du har en rubrikrad i kolumn H får du starta loopen på första
rad med postnummer ex inx = 2 för rad 2

Sub Rensa_Postnr()

Dim LastRow As Long
Dim inx As Long
Dim CurrNo As String

'
' Rensa_Postnr Makro
'

    Columns("H:H").Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

'LastRow = Range("H65000").End(xlUp).Row   ' XL 2010  antal rader på ett blad ca 64000

LastRow = Range("H1048576").End(xlUp).Row   ' XL 2013  antal rader på ett blad 1048576

For inx = 1 To LastRow
    CurrNo = Cells(inx, 8).Value
    Cells(inx, 8).Value = Mid(CurrNo, 1, 3) & " " & Mid(CurrNo, 4)
Next

End Sub


Svara

Sv:Pausa macro i excel

Postades av 2015-09-24 11:57:05 - Max Alexandersson

Jag lyckades halvvägs tror jag.
Alla mellanslag försvann, bra! :-)
När det var ett 5-siffrigt nummer försvann mellanslagen också, vilket inte var syftet. Här ville jag att det alltid skulle vara ett mellanslag efter tredje siffran samt att den cellen blev text istället för tal. Sorry om jag var otydlig med detta.
Eller är det något annat som jag gör knasigt tror du?


Svara

Sv: Pausa macro i excel

Postades av 2015-09-24 12:09:19 - Max Alexandersson

Tror jag upptäckte ett misstag jag gjorde när jag testade detta. Det var en kolumnmiss av mig och jag har justerat denna nu.
Ska göra ett par skarpa tester innan jag återkopplar igen.

Tack så länge!


Svara

Sv: Pausa macro i excel

Postades av 2015-09-24 14:06:46 - Thommy Lantz

makrot tar bort alla mellanslag innan loopen startar
Sen loopas alla celler och de 3 första siffrorna + ett mellanslag + resten av siffrorna
skrivs in som en text i resp cell

OBS beroende på vilken version av XL du har får
du använda lämplig rad före loopen
I exemplet används XL 2013 där bladen innehåller
över 1 miljon rader
Makrot utgår från en rad väldigt lång ned och hittar
sista rad uppåt i den kolumnen
Om du har XL 2010 och använde koden rakt av så blev
kanske sista rad fel och då kördes inte loopen korrekt


Svara

Sv:Pausa macro i excel

Postades av 2015-09-24 14:10:58 - Max Alexandersson

Allt funkar perfekt nu!
Enormt tacksam för din hjälp!
+++++++++


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 614
27 953
271 709
405
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