Tässä artikkelissa luomme makron, joka muotoilee annetut tiedot haluttuun mukautettuun lukumuotoon VBA: n avulla.
Tämän esimerkin raakatiedot koostuvat myyntitiimin tiedoista. Raakatiedot sisältävät nimen, tuotetunnuksen, tuotteen hinnan, myydyn määrän ja kokonaismyynnin.
Ennen makron suorittamista on määritettävä sarakkeessa P mukautettu numeromuoto ja sarakkeen numero, jossa halutaan käyttää mukautettua numeromuotoa sarakkeessa Q.
Napsauta "Muoto" -painiketta suorittaaksesi "Muotoilu" -makron.
Makro muuttaa annettujen tietojen muotoilua määritetyn mukautetun numeromuodon mukaan.
Looginen selitys
Tämä makro valitsee numeroiden muotoilun sarakkeesta P ja määrittää numeron muotoilun sarakkeille, jotka on määritelty sarakkeen Q sarakkeiden numeroilla.
Tässä makrossa olemme käyttäneet kahta DO UNTIL -silmukkaa silmukointiin. Ensin DO UNTIL -silmukkaa käytetään silmukointiin, kunnes kaikki numeromuodot on otettu käyttöön sarakkeissa. Toista DO UNTIL Loop -sovellusta käytetään löytämään kaikki sarakenumerot, jotka on määritetty ja erotettu pilkuilla (,).
Koodin selitys
strCol = Vasen (txt, InStr (txt, ",") - 1)
Yllä olevaa koodia käytetään erottamaan sarakkeen numero merkkijonosta, joka sisältää kaikki sarakenumerot pilkuilla (,) erotettuna.
Sarakkeet (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16). Value
Yllä olevaa koodia käytetään mukautetun numeromuodon käyttämiseen määritetyssä sarakkeessa.
txt = Oikea (txt, Len (txt) - InStr (txt, ","))
Yllä olevaa koodia käytetään erottamaan jätetty merkkijono sen jälkeen, kun sarakenumero on poistettu määritellystä merkkijonosta.
Seuraa koodia alla
Vaihtoehto Explicit Sub Formatting () 'Muuttujien ilmoittaminen Dim wks laskentataulukkona Dim intRow Niin kauan Dim strCol kuin merkkijono Dim txt merkkijonona' Muuttujien alustaminen Aseta wks = laskentataulukot ("Format") intRow = 4 'Silmukka 16. sarakkeessa, kunnes tyhjä arvo on löytyi Do Until IsEmpty (wks.Cells (intRow, 16)) 'Mukautetun numeromuodon arvon määrittäminen txt = wks.Cells (intRow, 17)' Silmukan muodostaminen ja kaikkien sarakkeiden numeroiden erottaminen pilkulla (,) Do Before InStr ( txt, ",") = 0 'Sarakkeen numeron saaminen strCol = Vasen (txt, InStr (txt, ",") - 1)' Numeromuodon sarakkeiden määrittäminen (CInt (strCol)). NumberFormat = wks.Cells (intRow , 16) .Arvo 'Merkkijonon katkaiseminen seuraavan sarakkeen numeron löytämiseksi pilkun jälkeen (,) txt = Oikea (txt, Len (txt) - InStr (txt, ",")) Silmukka' Numeromuodon määrittäminen Sarakkeet (CInt (txt)). NumberFormat = wks. Solut (intRow, 16). Arvo intRow = intRow + 1 Loop End Sub
Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.
Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse