Help
RSS
API
Feed
Maltego
Contact
Domain > akademia-vba.pl
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-04-26
5.252.231.210
(
ClassC
)
2026-02-27
46.248.187.185
(
ClassC
)
Port 80
HTTP/1.1 200 OKConnection: Keep-AliveKeep-Alive: timeout5, max100Content-Type: text/html; charsetUTF-8Link: https://akademia-vba.pl/wp-json/>; relhttps://api.w.org/Etag: 11-1772144255;;;X-LiteSpeed-Cache: hitTransfer-Encoding: chunkedDate: Fri, 27 Feb 2026 10:25:12 GMTServer: LiteSpeedVary: User-Agent !DOCTYPE html>html langpl-PL>head>meta charsetUTF-8 />meta nameviewport contentwidthdevice-width, initial-scale1.0 />title>Akademia VBA | Czyli jak uzyskać władzę nad światem… danych /title>link relprofile hrefhttps://gmpg.org/xfn/11 />link relstylesheet typetext/css mediaall hrefhttp://akademia-vba.pl/wp-content/themes/twentyeleven/style.css?ver20251202 />link relpingback hrefhttp://akademia-vba.pl/xmlrpc.php>meta namerobots contentmax-image-preview:large />link relalternate typeapplication/rss+xml titleAkademia VBA » Kanał z wpisami hrefhttps://akademia-vba.pl/feed/ />link relalternate typeapplication/rss+xml titleAkademia VBA » Kanał z komentarzami hrefhttps://akademia-vba.pl/comments/feed/ />style idwp-img-auto-sizes-contain-inline-css typetext/css>img:is(sizesauto i,sizes^auto, i){contain-intrinsic-size:3000px 1500px}/*# sourceURLwp-img-auto-sizes-contain-inline-css *//style>style idwp-emoji-styles-inline-css typetext/css> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; }/*# sourceURLwp-emoji-styles-inline-css *//style>link relstylesheet idwp-block-library-css hrefhttp://akademia-vba.pl/wp-includes/css/dist/block-library/style.min.css?ver6.9.1 typetext/css mediaall />style idwp-block-latest-comments-inline-css typetext/css>ol.wp-block-latest-comments{box-sizing:border-box;margin-left:0}:where(.wp-block-latest-comments:not(style*line-height .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not(style*line-height .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not(style*line-height)),.has-excerpts :where(.wp-block-latest-comments:not(style*line-height)){line-height:1.5}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-commentsclass*-font-size a,.wp-block-latest-commentsstyle*font-size a{font-size:inherit}/*# sourceURLhttp://akademia-vba.pl/wp-includes/blocks/latest-comments/style.min.css *//style>style idwp-block-search-inline-css typetext/css>.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{height:1.25em;min-height:24px;min-width:24px;width:1.25em;fill:currentColor;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-blockdata-alignright .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}/*# sourceURLhttp://akademia-vba.pl/wp-includes/blocks/search/style.min.css *//style>style idwp-block-search-theme-inline-css typetext/css>.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}/*# sourceURLhttp://akademia-vba.pl/wp-includes/blocks/search/theme.min.css *//style>style idwp-block-paragraph-inline-css typetext/css>.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-leftstyle*writing-mode:vertical-lr,p.has-text-align-rightstyle*writing-mode:vertical-rl{rotate:180deg}/*# sourceURLhttp://akademia-vba.pl/wp-includes/blocks/paragraph/style.min.css *//style>style idclassic-theme-styles-inline-css typetext/css>/*! This file is auto-generated */.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}/*# sourceURL/wp-includes/css/classic-themes.min.css *//style>style idglobal-styles-inline-css typetext/css>:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--blue: #1982d1;--wp--preset--color--dark-gray: #373737;--wp--preset--color--medium-gray: #666;--wp--preset--color--light-gray: #e2e2e2;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}/*# sourceURLglobal-styles-inline-css *//style>link relstylesheet idwp-syntax-css-css hrefhttp://akademia-vba.pl/wp-content/plugins/wp-syntax/css/wp-syntax.css?ver1.2 typetext/css mediaall />link relstylesheet idtwentyeleven-block-style-css hrefhttp://akademia-vba.pl/wp-content/themes/twentyeleven/blocks.css?ver20240703 typetext/css mediaall />script typetext/javascript srchttp://akademia-vba.pl/wp-includes/js/jquery/jquery.min.js?ver3.7.1 idjquery-core-js>/script>script typetext/javascript srchttp://akademia-vba.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver3.4.1 idjquery-migrate-js>/script>link relhttps://api.w.org/ hrefhttps://akademia-vba.pl/wp-json/ />link relEditURI typeapplication/rsd+xml titleRSD hrefhttps://akademia-vba.pl/xmlrpc.php?rsd />meta namegenerator contentWordPress 6.9.1 />/head>body classhome blog wp-embed-responsive wp-theme-twentyeleven single-author two-column right-sidebar>div classskip-link>a classassistive-text href#content>Przeskocz do tekstu/a>/div>div classskip-link>a classassistive-text href#secondary>Przeskocz do widgetów/a>/div>div idpage classhfeed> header idbranding> hgroup> h1 idsite-title>span>a hrefhttps://akademia-vba.pl/ relhome aria-currentpage>Akademia VBA/a>/span>/h1> h2 idsite-description>Czyli jak uzyskać władzę nad światem… danych/h2> /hgroup> a hrefhttps://akademia-vba.pl/ relhome aria-currentpage> img srchttp://akademia-vba.pl/wp-content/themes/twentyeleven/images/headers/lanterns.jpg width1000 height288 altAkademia VBA decodingasync fetchpriorityhigh /> /a> form methodget idsearchform actionhttps://akademia-vba.pl/> label fors classassistive-text>Szukaj/label> input typetext classfield names ids placeholderSzukaj /> input typesubmit classsubmit namesubmit idsearchsubmit valueSzukaj /> /form> nav idaccess> h3 classassistive-text>Główne menu/h3> div classmenu>ul>li classcurrent_page_item>a hrefhttps://akademia-vba.pl/>Strona główna/a>/li>li classpage_item page-item-1163>a hrefhttps://akademia-vba.pl/kontakt/>Kontakt/a>/li>li classpage_item page-item-7>a hrefhttps://akademia-vba.pl/polityka-prywatnosci/>Polityka prywatności/a>/li>/ul>/div> /nav>!-- #access --> /header>!-- #branding --> div idmain> div idprimary> div idcontent rolemain> nav idnav-above> h3 classassistive-text>Nawigacja wpisu/h3> div classnav-previous>a hrefhttps://akademia-vba.pl/page/2/ >span classmeta-nav>←/span> Starsze wpisy/a>/div> /nav>!-- #nav-above --> article idpost-1193 classpost-1193 post type-post status-publish format-standard sticky hentry category-ogolne category-uslugi-zdalne tag-excel tag-makra tag-makra-vba tag-programowanie tag-programowanie-excel tag-programowanie-vba tag-raportowanie tag-sql tag-szkolenia-vba-2 tag-szkolenia-sql tag-vba> header classentry-header> hgroup> h2 classentry-title>a hrefhttps://akademia-vba.pl/oferta/ relbookmark>Akademia VBA – Oferta/a>/h2> h3 classentry-format>Wyróżnione/h3> /hgroup> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/oferta/ title6:25 pm relbookmark>time classentry-date datetime2021-01-26T18:25:34+00:00>26 stycznia, 2021/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/oferta/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Tworzę i naprawiam aplikacje VBA/SQL/Makra. Moje aplikacje wyróżnia:/p>ul>li>Dopasowanie do potrzeb klienta/li>li>Otwarty i dobrze skomentowany kod źródłowy/li>li>Instrukcja obsługi aplikacji/li>li>Szkolenia umożliwiające rozwijanie aplikacji własnymi siłami./li>/ul>p>Mam 25 lat doświadczenia w szkoleniach i tworzeniu aplikacji dla biznesu. Tworzę aplikacje głównie w oparciu o środowisko Excel i VBA ale także SQL Server, Access i Power BI./p>p>Pozdrawiam i zapraszam do współpracy/p>p>Dariusz Kolasa/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/ogolne/ relcategory tag>Ogólne/a>, a hrefhttps://akademia-vba.pl/category/uslugi-zdalne/ relcategory tag>Usługi zdalne/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/excel/ reltag>excel/a>, a hrefhttps://akademia-vba.pl/tag/makra/ reltag>Makra/a>, a hrefhttps://akademia-vba.pl/tag/makra-vba/ reltag>Makra VBA/a>, a hrefhttps://akademia-vba.pl/tag/programowanie/ reltag>Programowanie/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-excel/ reltag>Programowanie Excel/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-vba/ reltag>Programowanie VBA/a>, a hrefhttps://akademia-vba.pl/tag/raportowanie/ reltag>Raportowanie/a>, a hrefhttps://akademia-vba.pl/tag/sql/ reltag>sql/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-vba-2/ reltag>Szkolenia VBA/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-sql/ reltag>szkolenia-sql/a>, a hrefhttps://akademia-vba.pl/tag/vba/ reltag>vba/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/oferta/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1193 --> article idpost-1421 classpost-1421 post type-post status-publish format-standard hentry category-excel-vba tag-arkusze tag-petla tag-petla-for tag-petla-po-sheets tag-wykresy> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/ relbookmark>Lista wszystkich arkuszy i wykresów/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/ title7:14 am relbookmark>time classentry-date datetime2024-07-24T07:14:20+00:00>24 lipca, 2024/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Zadanie trywialne ale można się zafiksować na pętlę For Each, która w tym wypadku nie zadziała, gdyż mamy tu 2 typy obiektów: Worksheet i Chartbr />W związku z tym trzeba użyć tradycyjnej pętli z indeksem arkusza/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Sub/span> ListujArkuszeOrazWykresy() span stylecolor: #151B8D; font-weight: bold;>Dim/span> NrArk span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #8D38C9; font-weight: bold;>For/span> NrArk 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> ThisWorkbook.Sheets.Count Debug.span stylecolor: #151B8D; font-weight: bold;>Print/span> ThisWorkbook.Sheets(NrArk).name span stylecolor: #8D38C9; font-weight: bold;>Next/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Sub ListujArkuszeOrazWykresy() Dim NrArk As Long For NrArk 1 To ThisWorkbook.Sheets.Count Debug.Print ThisWorkbook.Sheets(NrArk).name NextEnd Sub/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/arkusze/ reltag>Arkusze/a>, a hrefhttps://akademia-vba.pl/tag/petla/ reltag>Pętla/a>, a hrefhttps://akademia-vba.pl/tag/petla-for/ reltag>Pętla For/a>, a hrefhttps://akademia-vba.pl/tag/petla-po-sheets/ reltag>Pętla po Sheets/a>, a hrefhttps://akademia-vba.pl/tag/wykresy/ reltag>Wykresy/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1421 --> article idpost-1337 classpost-1337 post type-post status-publish format-standard hentry category-excel-vba tag-color tag-colorindex tag-formatowanie-komorki tag-kolor-komorki tag-kolor-vba tag-kolorowanie-vba-excel tag-tlo-komorki> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/vba-excel-colorindex/ relbookmark>VBA Excel ColorIndex/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/vba-excel-colorindex/ title1:53 pm relbookmark>time classentry-date datetime2023-10-25T13:53:50+00:00>25 października, 2023/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/vba-excel-colorindex/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Bardzo często potrzebujemy wrzucić kolor do komórki. Najprościej i najwydajniej działa użycie ColorIndexbr />Poniżej kod i jego efekt/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Sub/span> LegendaColorIndex() span stylecolor: #8D38C9; font-weight: bold;>If/span> ActiveSheet.UsedRange.Cells.Count > 1 span stylecolor: #8D38C9; font-weight: bold;>Then/span> MsgBox span stylecolor: #800000;>"Zanim uruchomisz makro tworzące legendę ColorIndex ustaw się w pustym arkuszu"/span>, vbInformation, span stylecolor: #800000;>"STOP"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Sub/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> W span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span>, K span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #8D38C9; font-weight: bold;>For/span> W 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 7 span stylecolor: #8D38C9; font-weight: bold;>For/span> K 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 8 Cells(W, K).Value (W - 1) * 8 + K Cells(W, K).Interior.ColorIndex (W - 1) * 8 + K span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Cells(W, K).Value span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1, 5, 9, 10, 11, 12, 13, 14, 16, 18, 21, 23, 25, 29, 30, 31, 32, 47, 49, 51, 52, 53, 54, 55, 56 Cells(W, K).Font.ColorIndex 2 span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Zakres span stylecolor: #151B8D; font-weight: bold;>As/span> Range span stylecolor: #151B8D; font-weight: bold;>Set/span> Zakres ActiveSheet.UsedRange Zakres.Font.Bold span stylecolor: #00C2FF; font-weight: bold;>True/span> Zakres.HorizontalAlignment xlCenter Zakres.VerticalAlignment xlCenter Zakres.RowHeight 30span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Sub LegendaColorIndex() If ActiveSheet.UsedRange.Cells.Count > 1 Then MsgBox "Zanim uruchomisz makro tworzące legendę ColorIndex ustaw się w pustym arkuszu", vbInformation, "STOP" Exit Sub End If Dim W As Long, K As Long For W 1 To 7 For K 1 To 8 Cells(W, K).Value (W - 1) * 8 + K Cells(W, K).Interior.ColorIndex (W - 1) * 8 + K Select Case Cells(W, K).Value Case 1, 5, 9, 10, 11, 12, 13, 14, 16, 18, 21, 23, 25, 29, 30, 31, 32, 47, 49, 51, 52, 53, 54, 55, 56 Cells(W, K).Font.ColorIndex 2 End Select Next Next Dim Zakres As Range Set Zakres ActiveSheet.UsedRange Zakres.Font.Bold True Zakres.HorizontalAlignment xlCenter Zakres.VerticalAlignment xlCenter Zakres.RowHeight 30End Sub/p>/div>p>img decodingasync srchttps://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex.png alt width517 height286 classalignnone size-full wp-image-1388 srcsethttps://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex.png 517w, https://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex-300x166.png 300w, https://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex-500x277.png 500w sizes(max-width: 517px) 100vw, 517px />/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/color/ reltag>Color/a>, a hrefhttps://akademia-vba.pl/tag/colorindex/ reltag>ColorIndex/a>, a hrefhttps://akademia-vba.pl/tag/formatowanie-komorki/ reltag>Formatowanie komórki/a>, a hrefhttps://akademia-vba.pl/tag/kolor-komorki/ reltag>Kolor komórki/a>, a hrefhttps://akademia-vba.pl/tag/kolor-vba/ reltag>Kolor VBA/a>, a hrefhttps://akademia-vba.pl/tag/kolorowanie-vba-excel/ reltag>Kolorowanie VBA Excel/a>, a hrefhttps://akademia-vba.pl/tag/tlo-komorki/ reltag>Tło komórki/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/vba-excel-colorindex/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1337 --> article idpost-1330 classpost-1330 post type-post status-publish format-standard hentry category-access category-access-vba tag-access-vba tag-dao tag-debug-print tag-makra-access tag-programowanie-access tag-querydef tag-recordset tag-rekordset-dao> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/ relbookmark>Lista kwerend do tabeli Access/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/ title11:27 am relbookmark>time classentry-date datetime2023-09-14T11:27:05+00:00>14 września, 2023/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Ostatnio musiałem przeanalizować dość złożoną bazę Access z kilkuset kwerendamibr />Oto jak sobie zrobić ich spis do okienka debuggera lub do tabelibr />Jeżeli chcemy wrzucać dane do tabeli musimy ją najpierw utworzyć (nazwa tabeli jak i nazwy pól muszą być identyczne jak w kodzie)br />Jeżeli nie chcemy wrzucać do tabeli to trzeba usunąć wszystkie linijki gdzie jest odwołanie do obiektu Recordset (rs)br />Oczywiście aby wrzucić dane do okienka Debuggera trzeba je po pierwsze włączyć (Ctrl+G) a po drugie odkomentować linijkę z Debug.Print/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Option/span> span stylecolor: #E56717; font-weight: bold;>Compare/span> Databasespan stylecolor: #E56717; font-weight: bold;>Option/span> span stylecolor: #E56717; font-weight: bold;>Explicit/span> span stylecolor: #E56717; font-weight: bold;>Sub/span> lista_kwerend_do_tabeli() span stylecolor: #151B8D; font-weight: bold;>Dim/span> db span stylecolor: #151B8D; font-weight: bold;>As/span> DAO.Database span stylecolor: #151B8D; font-weight: bold;>Dim/span> kw span stylecolor: #151B8D; font-weight: bold;>As/span> DAO.QueryDef span stylecolor: #151B8D; font-weight: bold;>Set/span> db CurrentDb span stylecolor: #151B8D; font-weight: bold;>Dim/span> Licznik_kw span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Typ_kw span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> rs span stylecolor: #151B8D; font-weight: bold;>As/span> DAO.Recordset span stylecolor: #151B8D; font-weight: bold;>Set/span> rs db.OpenRecordset(span stylecolor: #800000;>"_tbSpisKwerend"/span>) span stylecolor: #8D38C9; font-weight: bold;>For/span> span stylecolor: #8D38C9; font-weight: bold;>Each/span> kw span stylecolor: #8D38C9; font-weight: bold;>In/span> db.QueryDefs Licznik_kw Licznik_kw + 1 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> kw.span stylecolor: #151B8D; font-weight: bold;>Type/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0 Typ_kw span stylecolor: #800000;>"SELECT"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 32 Typ_kw span stylecolor: #800000;>"DELETE"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 48 Typ_kw span stylecolor: #800000;>"UPDATE"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 64 Typ_kw span stylecolor: #800000;>"APPEND"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #008000;>Debug.Print Licznik_kw; kw.Name, Typ_kw, kw.Fields.Count/span> rs.AddNew rs.Fields(span stylecolor: #800000;>"Nazwa_kw"/span>).Value kw.Name rs.Fields(span stylecolor: #800000;>"Typ_kw"/span>).Value Typ_kw rs.Fields(span stylecolor: #800000;>"Liczba_pol"/span>).Value kw.Fields.Count rs.Update span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #151B8D; font-weight: bold;>Set/span> db span stylecolor: #00C2FF; font-weight: bold;>Nothing/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Option Compare DatabaseOption ExplicitSub lista_kwerend_do_tabeli() Dim db As DAO.Database Dim kw As DAO.QueryDef Set db CurrentDb Dim Licznik_kw As Long Dim Typ_kw As String Dim rs As DAO.Recordset Set rs db.OpenRecordset("_tbSpisKwerend") For Each kw In db.QueryDefs Licznik_kw Licznik_kw + 1 Select Case kw.Type Case 0 Typ_kw "SELECT" Case 32 Typ_kw "DELETE" Case 48 Typ_kw "UPDATE" Case 64 Typ_kw "APPEND" End Select Debug.Print Licznik_kw; kw.Name, Typ_kw, kw.Fields.Count rs.AddNew rs.Fields("Nazwa_kw").Value kw.Name rs.Fields("Typ_kw").Value Typ_kw rs.Fields("Liczba_pol").Value kw.Fields.Count rs.Update Next Set db NothingEnd Sub/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/access/ relcategory tag>Access/a>, a hrefhttps://akademia-vba.pl/category/access-vba/ relcategory tag>Access VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/access-vba/ reltag>Access VBA/a>, a hrefhttps://akademia-vba.pl/tag/dao/ reltag>DAO/a>, a hrefhttps://akademia-vba.pl/tag/debug-print/ reltag>Debug.Print/a>, a hrefhttps://akademia-vba.pl/tag/makra-access/ reltag>Makra Access/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-access/ reltag>Programowanie Access/a>, a hrefhttps://akademia-vba.pl/tag/querydef/ reltag>QueryDef/a>, a hrefhttps://akademia-vba.pl/tag/recordset/ reltag>Recordset/a>, a hrefhttps://akademia-vba.pl/tag/rekordset-dao/ reltag>rekordset DAO/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1330 --> article idpost-1282 classpost-1282 post type-post status-publish format-standard hentry category-access-vba category-excel-vba category-office-vba category-uniwersalne-vba tag-funkcja-slownie tag-kwota-slownie tag-makra-vba tag-pisanie-makr tag-programowanie-excel tag-programowanie-vba> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/ relbookmark>Słownie z groszami w postaci ułamka/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/ title7:30 pm relbookmark>time classentry-date datetime2023-04-27T19:30:31+00:00>27 kwietnia, 2023/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comments>19/a> /div> /header>!-- .entry-header --> div classentry-content> p>Nowa wersja funkcji a hrefhttps://akademia-vba.pl/2011/04/24/odwieczny-problem-funkcja-slownie/ data-typepost data-id390>Slownie /a>ma drugi parametr, który określa w jakiej postaci mają być grosze (zamiast True można wpisać 1 a zamiast False – 0)/p>p>Nawiasem mówiąc im nowszy WordPress tym gorszy do prowadzenia blogu programistycznego. Nie da się już użyć wtyczki do kolorowania kodu bez popsucia kodu 🙁br />Wpisuje się to niestety w ogólny trend totalnego obniżania jakości i zarzucania użytkownika masą zbędnych i irytujących funkcjibr />Sytuację ratuje na szczęście wtyczka Classic Editor przywracająca starszą wersję edytora…/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;> span stylecolor: #E56717; font-weight: bold;>Option/span> span stylecolor: #E56717; font-weight: bold;>Explicit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Slownie(Kwota span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Variant/span>, UlamkoweGrosze span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span>) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #008000;>/span> span stylecolor: #008000;> UWAGA! Funkcja wymaga obu funkcji/span> span stylecolor: #008000;> prywatnych zamieszczonych poniżej/span> span stylecolor: #008000;>/span> Const WERSJA span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> _ span stylecolor: #800000;>"Funkcja Słownie v.1.04 (Akademia-VBA.pl)"/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Opis(19) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> DziesOpis(2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 10) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> SetOpis(1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 9) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Zlotowki span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Grosze span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> TrojkaZl span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> TrojkaTys span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> TrojkaMln span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> wynikGrosze span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> wynikZlote span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Ujemna span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span> span stylecolor: #151B8D; font-weight: bold;>On/span> span stylecolor: #151B8D; font-weight: bold;>Error/span> span stylecolor: #8D38C9; font-weight: bold;>GoTo/span> Obsluga span stylecolor: #008000;>sprawdzenie czy puste/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> IsNull(Kwota) span stylecolor: #8D38C9; font-weight: bold;>Or/span> IsEmpty(Kwota) span stylecolor: #8D38C9; font-weight: bold;>Then/span> Slownie span stylecolor: #800000;>"# Brak kwoty!"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>sprawdzenie czy liczba/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Not/span> IsNumeric(Kwota) span stylecolor: #8D38C9; font-weight: bold;>Then/span> Slownie span stylecolor: #800000;>"# Nieprawidłowy typ wartości!"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>gdy ujemna/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Kwota < 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Ujemna span stylecolor: #00C2FF; font-weight: bold;>True/span> Kwota -Kwota span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>konwersja na stringi/span> Zlotowki CStr(Int(Kwota)) Grosze CStr(Kwota - Int(Kwota)) span stylecolor: #008000;>sprawdzenie, czy nie za duża, max 99 mln/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Len(Zlotowki) > 9 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Slownie span stylecolor: #800000;>"# Kwota za duża, max 999 mln!"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>ewentualne zaokrąglenie do 2 msc po przecinku/span> span stylecolor: #008000;>tu drobna poprawka stąd wersja 1.01/span> span stylecolor: #008000;>było ... CStr(Round(CDbl(Grosze) * 100, 2))/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Len(Grosze) > 2 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Grosze CStr(Round(CDbl(Grosze), 2) * 100) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>kod zasadniczy/span> span stylecolor: #008000;>/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Len(Zlotowki) span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 3 wynikZlote Trojka(Zlotowki) & _ OpisRzeduWielkosci(CLng(Zlotowki), span stylecolor: #800000;>"zł"/span>, span stylecolor: #00C2FF; font-weight: bold;>False/span>) span stylecolor: #8D38C9; font-weight: bold;>Case/span> 4 span stylecolor: #8D38C9; font-weight: bold;>To/span> 6 TrojkaZl Right(Zlotowki, 3) TrojkaTys Left(Zlotowki, Len(Zlotowki) - 3) wynikZlote Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), span stylecolor: #800000;>"tys"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) _ & span stylecolor: #800000;>" "/span> & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), span stylecolor: #800000;>"zł"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) span stylecolor: #8D38C9; font-weight: bold;>Case/span> 7 span stylecolor: #8D38C9; font-weight: bold;>To/span> 9 TrojkaZl Right(Zlotowki, 3) TrojkaTys Mid(Zlotowki, Len(Zlotowki) - 5, 3) TrojkaMln Left(Zlotowki, Len(Zlotowki) - 6) wynikZlote Trojka(TrojkaMln) & _ OpisRzeduWielkosci(CLng(TrojkaMln), span stylecolor: #800000;>"mln"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) _ & span stylecolor: #800000;>" "/span> & Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), span stylecolor: #800000;>"tys"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) _ & span stylecolor: #800000;>" "/span> & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), span stylecolor: #800000;>"zł"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> UlamkoweGrosze span stylecolor: #8D38C9; font-weight: bold;>Then/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Grosze <> span stylecolor: #800000;>"0"/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> wynikGrosze Format(Grosze, span stylecolor: #800000;>"00"/span>) & span stylecolor: #800000;>"/100"/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> wynikGrosze span stylecolor: #800000;>"zero groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> wynikGrosze Trojka(Grosze) & _ OpisRzeduWielkosci(CLng(Grosze), span stylecolor: #800000;>"gr"/span>, span stylecolor: #00C2FF; font-weight: bold;>False/span>) span stylecolor: #8D38C9; font-weight: bold;>If/span> wynikGrosze span stylecolor: #800000;>""/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> wynikGrosze span stylecolor: #800000;>"zero groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> wynikZlote span stylecolor: #800000;>""/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> wynikZlote span stylecolor: #800000;>"zero złotych"/span> Slownie IIf(Ujemna, span stylecolor: #800000;>"minus "/span>, span stylecolor: #800000;>""/span>) & _ Trim(wynikZlote & span stylecolor: #800000;>" "/span> & wynikGrosze) span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Obsluga: MsgBox Err & span stylecolor: #800000;>" - "/span> & Err.Description, vbCritical, WERSJA span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #E56717; font-weight: bold;>Private/span> span stylecolor: #E56717; font-weight: bold;>Function/span> OpisRzeduWielkosci( _ Liczba span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span>, RzadWielkosci span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span>, _ WiekszeTysiac span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span>) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> JestZero span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> DwieOstatnie span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Ostatnia span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Liczba 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> WiekszeTysiac span stylecolor: #8D38C9; font-weight: bold;>Then/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> RzadWielkosci span stylecolor: #800000;>"zł"/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> OpisRzeduWielkosci span stylecolor: #800000;>"złotych"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> OpisRzeduWielkosci span stylecolor: #800000;>""/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> DwieOstatnie CLng(Right(CStr(Liczba), 2)) Ostatnia CLng(Right(CStr(Liczba), 1)) span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> RzadWielkosci span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"gr"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" grosz"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" grosze"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" grosze"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"zł"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" złotych"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" złoty"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" złote"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" złotych"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" złote"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"tys"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" tysięcy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" tysiąc"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" tysiące"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" tysięcy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" tysiące"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"mln"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" milionów"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" milion"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" miliony"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" milionów"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" miliony"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #E56717; font-weight: bold;>Private/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Trojka(strLiczba span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span>) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> lngOstatnia span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> lngDwieOstatnie span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Opis(19) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> DziesOpis(10) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> SetOpis(9) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> CLng(strLiczba) 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka span stylecolor: #800000;>""/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Opis(0) span stylecolor: #800000;>"zero"/span> Opis(1) span stylecolor: #800000;>"jeden"/span> Opis(2) span stylecolor: #800000;>"dwa"/span> Opis(3) span stylecolor: #800000;>"trzy"/span> Opis(4) span stylecolor: #800000;>"cztery"/span> Opis(5) span stylecolor: #800000;>"pięć"/span> Opis(6) span stylecolor: #800000;>"sześć"/span> Opis(7) span stylecolor: #800000;>"siedem"/span> Opis(8) span stylecolor: #800000;>"osiem"/span> Opis(9) span stylecolor: #800000;>"dziewięć"/span> Opis(10) span stylecolor: #800000;>"dziesięć"/span> Opis(11) span stylecolor: #800000;>"jedenaście"/span> Opis(12) span stylecolor: #800000;>"dwanaście"/span> Opis(13) span stylecolor: #800000;>"trzynaście"/span> Opis(14) span stylecolor: #800000;>"czternaście"/span> Opis(15) span stylecolor: #800000;>"piętnaście"/span> Opis(16) span stylecolor: #800000;>"szesnaście"/span> Opis(17) span stylecolor: #800000;>"siedemnaście"/span> Opis(18) span stylecolor: #800000;>"osiemnaście"/span> Opis(19) span stylecolor: #800000;>"dziewiętnaście"/span> DziesOpis(0) span stylecolor: #800000;>"zero"/span> DziesOpis(1) span stylecolor: #800000;>"dziesięć"/span> DziesOpis(2) span stylecolor: #800000;>"dwadzieścia"/span> DziesOpis(3) span stylecolor: #800000;>"trzydzieści"/span> DziesOpis(4) span stylecolor: #800000;>"czterdzieści"/span> DziesOpis(5) span stylecolor: #800000;>"pięćdziesiąt"/span> DziesOpis(6) span stylecolor: #800000;>"sześćdziesiąt"/span> DziesOpis(7) span stylecolor: #800000;>"siedemdziesiąt"/span> DziesOpis(8) span stylecolor: #800000;>"osiemdziesiąt"/span> DziesOpis(9) span stylecolor: #800000;>"dziewięćdziesiąt"/span> SetOpis(0) span stylecolor: #800000;>"zero"/span> SetOpis(1) span stylecolor: #800000;>"sto"/span> SetOpis(2) span stylecolor: #800000;>"dwieście"/span> SetOpis(3) span stylecolor: #800000;>"trzysta"/span> SetOpis(4) span stylecolor: #800000;>"czterysta"/span> SetOpis(5) span stylecolor: #800000;>"pięćset"/span> SetOpis(6) span stylecolor: #800000;>"sześćset"/span> SetOpis(7) span stylecolor: #800000;>"siedemset"/span> SetOpis(8) span stylecolor: #800000;>"osiemset"/span> SetOpis(9) span stylecolor: #800000;>"dziewięćset"/span> lngLiczba CLng(strLiczba) span stylecolor: #008000;>tu policzymy ostatnią/span> lngOstatnia CLng(Right(strLiczba, 1)) span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> lngLiczba span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> < 20 Trojka Opis(lngLiczba) span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> < 100 span stylecolor: #8D38C9; font-weight: bold;>If/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>Mod/span> 10 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka DziesOpis(lngLiczba / 10) span stylecolor: #8D38C9; font-weight: bold;>Else/span> Trojka DziesOpis((lngLiczba - lngOstatnia) / 10) _ & span stylecolor: #800000;>" "/span> & Opis(lngOstatnia) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> span stylecolor: #008000;>trzycyfrowa/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>Mod/span> 100 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka SetOpis(lngLiczba / 100) span stylecolor: #8D38C9; font-weight: bold;>Else/span> span stylecolor: #008000;>tu policzymy dwie ostatnie/span> lngDwieOstatnie CLng(Right(strLiczba, 2)) span stylecolor: #8D38C9; font-weight: bold;>If/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>Mod/span> 10 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & span stylecolor: #800000;>" "/span> & DziesOpis(lngDwieOstatnie / 10) span stylecolor: #8D38C9; font-weight: bold;>Else/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> lngDwieOstatnie < 20 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & span stylecolor: #800000;>" "/span> & Opis(lngDwieOstatnie) span stylecolor: #8D38C9; font-weight: bold;>Else/span> Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & span stylecolor: #800000;>" "/span> & DziesOpis((lngDwieOstatnie - lngOstatnia) / 10) _ & span stylecolor: #800000;>" "/span> & Opis(lngOstatnia) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Option Explicit Function Slownie(Kwota As Variant, UlamkoweGrosze As Boolean) As String UWAGA! Funkcja wymaga obu funkcji prywatnych zamieszczonych poniżej Const WERSJA As String _ "Funkcja Słownie v.1.04 (Akademia-VBA.pl)" Dim Opis(19) As String Dim DziesOpis(2 To 10) As String Dim SetOpis(1 To 9) As String Dim Zlotowki As String Dim Grosze As String Dim TrojkaZl As String Dim TrojkaTys As String Dim TrojkaMln As String Dim wynikGrosze As String Dim wynikZlote As String Dim Ujemna As Boolean On Error GoTo Obsluga sprawdzenie czy puste If IsNull(Kwota) Or IsEmpty(Kwota) Then Slownie "# Brak kwoty!" Exit Function End If sprawdzenie czy liczba If Not IsNumeric(Kwota) Then Slownie "# Nieprawidłowy typ wartości!" Exit Function End If gdy ujemna If Kwota < 0 Then Ujemna True Kwota -Kwota End If konwersja na stringi Zlotowki CStr(Int(Kwota)) Grosze CStr(Kwota - Int(Kwota)) sprawdzenie, czy nie za duża, max 99 mln If Len(Zlotowki) > 9 Then Slownie "# Kwota za duża, max 999 mln!" Exit Function End If ewentualne zaokrąglenie do 2 msc po przecinku tu drobna poprawka stąd wersja 1.01 było ... CStr(Round(CDbl(Grosze) * 100, 2)) If Len(Grosze) > 2 Then Grosze CStr(Round(CDbl(Grosze), 2) * 100) End If kod zasadniczy Select Case Len(Zlotowki) Case 1 To 3 wynikZlote Trojka(Zlotowki) & _ OpisRzeduWielkosci(CLng(Zlotowki), "zł", False) Case 4 To 6 TrojkaZl Right(Zlotowki, 3) TrojkaTys Left(Zlotowki, Len(Zlotowki) - 3) wynikZlote Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), "tys", True) _ & " " & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), "zł", True) Case 7 To 9 TrojkaZl Right(Zlotowki, 3) TrojkaTys Mid(Zlotowki, Len(Zlotowki) - 5, 3) TrojkaMln Left(Zlotowki, Len(Zlotowki) - 6) wynikZlote Trojka(TrojkaMln) & _ OpisRzeduWielkosci(CLng(TrojkaMln), "mln", True) _ & " " & Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), "tys", True) _ & " " & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), "zł", True) End Select If UlamkoweGrosze Then If Grosze <> "0" Then wynikGrosze Format(Grosze, "00") & "/100" Else wynikGrosze "zero groszy" End If Else wynikGrosze Trojka(Grosze) & _ OpisRzeduWielkosci(CLng(Grosze), "gr", False) If wynikGrosze "" Then wynikGrosze "zero groszy" End If If wynikZlote "" Then wynikZlote "zero złotych" Slownie IIf(Ujemna, "minus ", "") & _ Trim(wynikZlote & " " & wynikGrosze) Exit Function Obsluga: MsgBox Err & " - " & Err.Description, vbCritical, WERSJA End Function Private Function OpisRzeduWielkosci( _ Liczba As Long, RzadWielkosci As String, _ WiekszeTysiac As Boolean) As String Dim JestZero As Boolean Dim DwieOstatnie As Long Dim Ostatnia As Long If Liczba 0 Then If WiekszeTysiac Then If RzadWielkosci "zł" Then OpisRzeduWielkosci "złotych" End If Else OpisRzeduWielkosci "" End If Exit Function End If DwieOstatnie CLng(Right(CStr(Liczba), 2)) Ostatnia CLng(Right(CStr(Liczba), 1)) Select Case RzadWielkosci Case "gr" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " groszy" Case 1 OpisRzeduWielkosci " grosz" Case 2 To 4 OpisRzeduWielkosci " grosze" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " groszy" Case 2 To 4 OpisRzeduWielkosci " grosze" End Select End Select Case "zł" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " złotych" Case 1 OpisRzeduWielkosci " złoty" Case 2 To 4 OpisRzeduWielkosci " złote" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " złotych" Case 2 To 4 OpisRzeduWielkosci " złote" End Select End Select Case "tys" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " tysięcy" Case 1 OpisRzeduWielkosci " tysiąc" Case 2 To 4 OpisRzeduWielkosci " tysiące" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " tysięcy" Case 2 To 4 OpisRzeduWielkosci " tysiące" End Select End Select Case "mln" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " milionów" Case 1 OpisRzeduWielkosci " milion" Case 2 To 4 OpisRzeduWielkosci " miliony" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " milionów" Case 2 To 4 OpisRzeduWielkosci " miliony" End Select End Select End SelectEnd Function Private Function Trojka(strLiczba As String) As String Dim lngLiczba As Long Dim lngOstatnia As Long Dim lngDwieOstatnie As Long Dim Opis(19) As String Dim DziesOpis(10) As String Dim SetOpis(9) As String If CLng(strLiczba) 0 Then Trojka "" Exit Function End If Opis(0) "zero" Opis(1) "jeden" Opis(2) "dwa" Opis(3) "trzy" Opis(4) "cztery" Opis(5) "pięć" Opis(6) "sześć" Opis(7) "siedem" Opis(8) "osiem" Opis(9) "dziewięć" Opis(10) "dziesięć" Opis(11) "jedenaście" Opis(12) "dwanaście" Opis(13) "trzynaście" Opis(14) "czternaście" Opis(15) "piętnaście" Opis(16) "szesnaście" Opis(17) "siedemnaście" Opis(18) "osiemnaście" Opis(19) "dziewiętnaście" DziesOpis(0) "zero" DziesOpis(1) "dziesięć" DziesOpis(2) "dwadzieścia" DziesOpis(3) "trzydzieści" DziesOpis(4) "czterdzieści" DziesOpis(5) "pięćdziesiąt" DziesOpis(6) "sześćdziesiąt" DziesOpis(7) "siedemdziesiąt" DziesOpis(8) "osiemdziesiąt" DziesOpis(9) "dziewięćdziesiąt" SetOpis(0) "zero" SetOpis(1) "sto" SetOpis(2) "dwieście" SetOpis(3) "trzysta" SetOpis(4) "czterysta" SetOpis(5) "pięćset" SetOpis(6) "sześćset" SetOpis(7) "siedemset" SetOpis(8) "osiemset" SetOpis(9) "dziewięćset" lngLiczba CLng(strLiczba) tu policzymy ostatnią lngOstatnia CLng(Right(strLiczba, 1)) Select Case lngLiczba Case Is < 20 Trojka Opis(lngLiczba) Case Is < 100 If lngLiczba Mod 10 0 Then Trojka DziesOpis(lngLiczba / 10) Else Trojka DziesOpis((lngLiczba - lngOstatnia) / 10) _ & " " & Opis(lngOstatnia) End If Case Else trzycyfrowa If lngLiczba Mod 100 0 Then Trojka SetOpis(lngLiczba / 100) Else tu policzymy dwie ostatnie lngDwieOstatnie CLng(Right(strLiczba, 2)) If lngLiczba Mod 10 0 Then Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & " " & DziesOpis(lngDwieOstatnie / 10) Else If lngDwieOstatnie < 20 Then Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & " " & Opis(lngDwieOstatnie) Else Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & " " & DziesOpis((lngDwieOstatnie - lngOstatnia) / 10) _ & " " & Opis(lngOstatnia) End If End If End If End SelectEnd Function/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/access-vba/ relcategory tag>Access VBA/a>, a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a>, a hrefhttps://akademia-vba.pl/category/office-vba/ relcategory tag>Office VBA/a>, a hrefhttps://akademia-vba.pl/category/uniwersalne-vba/ relcategory tag>Uniwersalne VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/funkcja-slownie/ reltag>funkcja Słownie/a>, a hrefhttps://akademia-vba.pl/tag/kwota-slownie/ reltag>Kwota słownie/a>, a hrefhttps://akademia-vba.pl/tag/makra-vba/ reltag>Makra VBA/a>, a hrefhttps://akademia-vba.pl/tag/pisanie-makr/ reltag>Pisanie makr/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-excel/ reltag>Programowanie Excel/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-vba/ reltag>Programowanie VBA/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comments>b>19/b> komentarzy/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1282 --> article idpost-1134 classpost-1134 post type-post status-publish format-standard hentry category-uniwersalne-vba tag-data-pliku tag-filecopy tag-filedatetime tag-filelen tag-informacje-o-pliku tag-kopiowanie-pliku tag-makra tag-makra-vba tag-programowanie-vba tag-wielkosc-pliku> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/ relbookmark>Proste w użyciu operacje na plikach/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/ title1:52 pm relbookmark>time classentry-date datetime2020-11-22T13:52:35+00:00>22 listopada, 2020/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/#comments>1/a> /div> /header>!-- .entry-header --> div classentry-content> p>Mało kto wie, że VBA ma fajne i proste w użyciu funkcje do odczytywania podstawowych informacji o pliku. Poniżej przykłady wykonania z debuggera:/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>?FileDateTime(span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek.png"/span>)2018-10-30 21:14:47/pre>/td>/tr>/table>p classtheCode styledisplay:none;>?FileDateTime("C:\Users\dariu\Desktop\kotek.png")2018-10-30 21:14:47/p>/div>p>Oczywiście zwraca datę ostatniej modyfikacji pliku/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>?FileLen(span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek.png"/span>)135590/pre>/td>/tr>/table>p classtheCode styledisplay:none;>?FileLen("C:\Users\dariu\Desktop\kotek.png")135590/p>/div>p>Zwraca wielkość pliku w bajtach. /p>p>Także znajomość niezwykle praktycznej funkcji FileCopy jest mocno ograniczona. Jej działanie jest chyba jasne 🙂/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>FileCopy span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek.png"/span>, _ span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek2.png"/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>FileCopy "C:\Users\dariu\Desktop\kotek.png", _ "C:\Users\dariu\Desktop\kotek2.png"/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/uniwersalne-vba/ relcategory tag>Uniwersalne VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/data-pliku/ reltag>Data pliku/a>, a hrefhttps://akademia-vba.pl/tag/filecopy/ reltag>FileCopy/a>, a hrefhttps://akademia-vba.pl/tag/filedatetime/ reltag>FileDateTime/a>, a hrefhttps://akademia-vba.pl/tag/filelen/ reltag>FileLen/a>, a hrefhttps://akademia-vba.pl/tag/informacje-o-pliku/ reltag>Informacje o pliku/a>, a hrefhttps://akademia-vba.pl/tag/kopiowanie-pliku/ reltag>Kopiowanie pliku/a>, a hrefhttps://akademia-vba.pl/tag/makra/ reltag>Makra/a>, a hrefhttps://akademia-vba.pl/tag/makra-vba/ reltag>Makra VBA/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-vba/ reltag>Programowanie VBA/a>, a hrefhttps://akademia-vba.pl/tag/wielkosc-pliku/ reltag>Wielkość pliku/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/#comments>b>1/b> odpowiedź/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1134 --> article idpost-999 classpost-999 post type-post status-publish format-standard hentry category-sql-server tag-kurs-sql tag-podstawy-sql tag-programowanie-sql tag-sql tag-sql-serwer tag-szkolenia-sql> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/ relbookmark>Podstawy SQL – Kolejność klauzul w SELECT/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/ title1:33 pm relbookmark>time classentry-date datetime2020-05-20T13:33:24+00:00>20 maja, 2020/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Poważna aplikacja VBA z często korzysta z jakiejś bazy danych aby odczytać, dopisać a czasem zaktualizować lub usunąć jakieś dane. Dlatego warto poznać co najmniej podstawy języka SQL. Jest to język dość prosty jeżeli chodzi o podstawy, ale oczywiście jeżeli mamy nietrywialne potrzeby, zapytania też się komplikują. Co musisz wiedzieć na pewno to jak odczytać dane z bazy. Z artykułu o a hrefhttp://akademia-vba.pl/2014/12/23/ado-i-wszystkie-bazy-sa-nasze/>ADO/a> wiesz, że z VBA można nawiązać połączenie z Access i SQL Server. Tam jako źródło zapytania jest po prostu podana nazwa tabeli. Ale oczywiście zamiast tego możemy podać dowolne wyrażenie typu SELECT. I tu na początek trzeba wiedzieć kilka rzeczy. Po pierwsze kolejność klauzul jest ściśle określona i jest następująca:/p>p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classsql stylefont-family:monospace;> span stylecolor: #993333; font-weight: bold;>SELECT/span> pole1span stylecolor: #66cc66;>,/span> pole2span stylecolor: #66cc66;>,/span> poleNspan stylecolor: #66cc66;>.../span> span stylecolor: #993333; font-weight: bold;>FROM/span> tabela span stylecolor: #66cc66;>(/span>tabela1 span stylecolor: #993333; font-weight: bold;>JOIN/span> tabela2 span stylecolor: #993333; font-weight: bold;>ON/span> klucz1 span stylecolor: #66cc66;>/span> klucz2span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>WHERE/span> warunek1 span stylecolor: #993333; font-weight: bold;>AND/span>span stylecolor: #66cc66;>//span>span stylecolor: #993333; font-weight: bold;>OR/span> warunek2span stylecolor: #66cc66;>.../span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;> SELECT pole1, pole2, poleN... FROM tabela (tabela1 join tabela2 on klucz1 klucz2) WHERE warunek1 and/or warunek2.../p>/div>/p>p>Tak wygląda najprostszy select bez grupowania i wyliczeń. Zasadą jest, że piszemy najpierw FROM a potem wypisujemy pola w SELECT, bo tylko wtedy dobry edytor kodu SQL może nam podpowiedzieć nazwy pól. We FROM podajemy nazwę pojedynczej tabeli lub wiele tabel ale wtedy musimy wiedzieć po jakich polach kluczowych trzeba je połączyć. Sytuacja komplikuje się gdy chcemy w zapytaniu grupować dane i coś wyliczać dla tych grup:/p>p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classsql stylefont-family:monospace;> span stylecolor: #993333; font-weight: bold;>SELECT/span> pole1span stylecolor: #66cc66;>,/span> pole2span stylecolor: #66cc66;>,/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>AS/span> Razem span stylecolor: #993333; font-weight: bold;>FROM/span> tabela span stylecolor: #66cc66;>(/span>tabela1 span stylecolor: #993333; font-weight: bold;>JOIN/span> tabela2 span stylecolor: #993333; font-weight: bold;>ON/span> klucz1 span stylecolor: #66cc66;>/span> klucz2span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>WHERE/span> warunek1 span stylecolor: #993333; font-weight: bold;>AND/span>span stylecolor: #66cc66;>//span>span stylecolor: #993333; font-weight: bold;>OR/span> warunek2span stylecolor: #66cc66;>.../span> span stylecolor: #993333; font-weight: bold;>GROUP/span> span stylecolor: #993333; font-weight: bold;>BY/span> pole1span stylecolor: #66cc66;>,/span> pole2 span stylecolor: #993333; font-weight: bold;>HAVING/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #66cc66;>>/span> span stylecolor: #cc66cc;>1000/span> span stylecolor: #993333; font-weight: bold;>ORDER/span> span stylecolor: #993333; font-weight: bold;>BY/span> Razem span stylecolor: #993333; font-weight: bold;>DESC/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;> SELECT pole1, pole2, SUM(pole3) as Razem FROM tabela (tabela1 join tabela2 on klucz1 klucz2) WHERE warunek1 and/or warunek2... GROUP BY pole1, pole2 HAVING SUM(pole3) > 1000 ORDER BY Razem DESC/p>/div>/p>p>Jak widać użyliśmy w SELECT funkcji SUM, która współpracuje z klauzulą GROUP BY definiującą dla jakich grup chcemy policzyć sumy. Dodatkowo w klauzuli HAVING informujemy, że interesują nas tylko sumy przekraczające 1000. ORDER BY to oczywiście sortowanie, w tym wypadku po sumach w porządku malejącym (DESC jak descending). W SELECT za polem trzecim mamy as Razem co oznacza jak chcemy nazwać to wyliczane pole. I tu ciekawostka. Skoro już nazwaliśmy to pole Razem to czemu wykorzystaliśmy tą nazwę tylko w ORDER BY Razem DESC ale już nie w HAVING gdzie ponownie użyliśmy wyrażenia SUM(pole3) > 1000?. Otóż wynika z ważnej zasady, że kolejność pisania klauzul w SELECT nie odpowiada kolejności przetwarzania ich przez serwer! Okazuje się, że klauzula SELECT jest przetwarzana dopiero jako piąta!/p>p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classsql stylefont-family:monospace;> span stylecolor: #993333; font-weight: bold;>SELECT/span> pole1span stylecolor: #66cc66;>,/span> pole2span stylecolor: #66cc66;>,/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>AS/span> Razem span stylecolor: #808080; font-style: italic;>--5!!!/span> span stylecolor: #993333; font-weight: bold;>FROM/span> tabela span stylecolor: #66cc66;>(/span>tabela1 span stylecolor: #993333; font-weight: bold;>JOIN/span> tabela2 span stylecolor: #993333; font-weight: bold;>ON/span> klucz1 span stylecolor: #66cc66;>/span> klucz2span stylecolor: #66cc66;>)/span> span stylecolor: #808080; font-style: italic;>--1/span> span stylecolor: #993333; font-weight: bold;>WHERE/span> warunek1 span stylecolor: #993333; font-weight: bold;>AND/span>span stylecolor: #66cc66;>//span>span stylecolor: #993333; font-weight: bold;>OR/span> warunek2span stylecolor: #66cc66;>.../span> span stylecolor: #808080; font-style: italic;>--2/span> span stylecolor: #993333; font-weight: bold;>GROUP/span> span stylecolor: #993333; font-weight: bold;>BY/span> pole1span stylecolor: #66cc66;>,/span> pole2 span stylecolor: #808080; font-style: italic;>--3/span> span stylecolor: #993333; font-weight: bold;>HAVING/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #66cc66;>>/span> span stylecolor: #cc66cc;>1000/span> span stylecolor: #808080; font-style: italic;>--4/span> span stylecolor: #993333; font-weight: bold;>ORDER/span> span stylecolor: #993333; font-weight: bold;>BY/span> Razem span stylecolor: #993333; font-weight: bold;>DESC/span> span stylecolor: #808080; font-style: italic;>--6/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;> SELECT pole1, pole2, SUM(pole3) as Razem --5!!! FROM tabela (tabela1 join tabela2 on klucz1 klucz2) --1 WHERE warunek1 and/or warunek2... --2 GROUP BY pole1, pole2 --3 HAVING SUM(pole3) > 1000 --4 ORDER BY Razem DESC --6/p>/div>/p>p>I dlatego tylko klauzula ORDER BY jako jedyna przetwarzana po SELECT może użyć zdefiniowanej w niej nazwy pola!/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/sql-server/ relcategory tag>SQL Server/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/kurs-sql/ reltag>kurs-sql/a>, a hrefhttps://akademia-vba.pl/tag/podstawy-sql/ reltag>podstawy sql/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-sql/ reltag>Programowanie SQL/a>, a hrefhttps://akademia-vba.pl/tag/sql/ reltag>sql/a>, a hrefhttps://akademia-vba.pl/tag/sql-serwer/ reltag>SQL Serwer/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-sql/ reltag>szkolenia-sql/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-999 --> article idpost-950 classpost-950 post type-post status-publish format-standard hentry category-access-vba category-excel-vba category-sql-server category-uniwersalne-vba tag-access-vba tag-ado tag-adox tag-konsultacje-access tag-konsultacje-vba tag-kurs-access tag-kurs-vba tag-lista-kolumn tag-lista-tabel tag-szkolenia-access> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/adox/ relbookmark>ADOX/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/adox/ title5:34 pm relbookmark>time classentry-date datetime2019-12-15T17:34:49+00:00>15 grudnia, 2019/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/adox/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Bardzo stara i bardzo fajna biblioteka do obsługi struktury bazy. Na liście referencji nazywa się Microsoft ADO Ext. XX for DDL and Security. Potrzebna jest też biblioteka ADO do nawiązania połączenia. Kluczowy jest ADOX.Catalog, który pozwala na iterowanie po tabelach, polach itp.br />Poniższy kod wymaga tzw. connection string (stała CN_STR), których przykłady są w artykule o a hrefhttp://akademia-vba.pl/index.php/2014/12/23/ado-i-wszystkie-bazy-sa-nasze/>ADO – i wszystkie bazy są nasze/a>/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Sub/span> Lista_Tabel_Kolumn() span stylecolor: #151B8D; font-weight: bold;>Dim/span> cn span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #E56717; font-weight: bold;>New/span> ADODB.Connection span stylecolor: #151B8D; font-weight: bold;>Dim/span> cat span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #E56717; font-weight: bold;>New/span> ADOX.Catalog span stylecolor: #151B8D; font-weight: bold;>Dim/span> tb span stylecolor: #151B8D; font-weight: bold;>As/span> ADOX.Table span stylecolor: #151B8D; font-weight: bold;>Dim/span> k span stylecolor: #151B8D; font-weight: bold;>As/span> ADOX.Column cn.ConnectionString CN_STR span stylecolor: #008000;>dodaj swoje ustawienia!/span> cn.span stylecolor: #151B8D; font-weight: bold;>Open/span> span stylecolor: #151B8D; font-weight: bold;>Set/span> cat.ActiveConnection cn span stylecolor: #8D38C9; font-weight: bold;>For/span> span stylecolor: #8D38C9; font-weight: bold;>Each/span> tb span stylecolor: #8D38C9; font-weight: bold;>In/span> cat.Tables span stylecolor: #8D38C9; font-weight: bold;>For/span> span stylecolor: #8D38C9; font-weight: bold;>Each/span> k span stylecolor: #8D38C9; font-weight: bold;>In/span> tb.Columns Debug.span stylecolor: #151B8D; font-weight: bold;>Print/span> tb.Name, k.Name span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #8D38C9; font-weight: bold;>Next/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Sub Lista_Tabel_Kolumn() Dim cn As New ADODB.Connection Dim cat As New ADOX.Catalog Dim tb As ADOX.Table Dim k As ADOX.Column cn.ConnectionString CN_STR dodaj swoje ustawienia! cn.Open Set cat.ActiveConnection cn For Each tb In cat.Tables For Each k In tb.Columns Debug.Print tb.Name, k.Name Next NextEnd Sub/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/access-vba/ relcategory tag>Access VBA/a>, a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a>, a hrefhttps://akademia-vba.pl/category/sql-server/ relcategory tag>SQL Server/a>, a hrefhttps://akademia-vba.pl/category/uniwersalne-vba/ relcategory tag>Uniwersalne VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/access-vba/ reltag>Access VBA/a>, a hrefhttps://akademia-vba.pl/tag/ado/ reltag>ADO/a>, a hrefhttps://akademia-vba.pl/tag/adox/ reltag>ADOX/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-access/ reltag>Konsultacje Access/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-vba/ reltag>Konsultacje VBA/a>, a hrefhttps://akademia-vba.pl/tag/kurs-access/ reltag>Kurs Access/a>, a hrefhttps://akademia-vba.pl/tag/kurs-vba/ reltag>kurs-vba/a>, a hrefhttps://akademia-vba.pl/tag/lista-kolumn/ reltag>lista kolumn/a>, a hrefhttps://akademia-vba.pl/tag/lista-tabel/ reltag>Lista tabel/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-access/ reltag>Szkolenia Access/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/adox/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-950 --> article idpost-935 classpost-935 post type-post status-publish format-standard hentry category-excel-vba tag-data-validation tag-konsultacje-excel tag-konsultacje-vba tag-kursy-excel tag-kursy-vba-2 tag-sprawdzanie-poprawnosci tag-szkolenia-excel tag-szkolenia-vba-2 tag-walidacja> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/ relbookmark>Funkcja do sprawdzania sprawdzania poprawności/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/ title8:56 am relbookmark>time classentry-date datetime2018-07-26T08:56:32+00:00>26 lipca, 2018/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Czasem możemy chcieć sprawdzić czy w danej komórce ustawiono sprawdzanie poprawności (walidację), np. aby jej nie popsuć wklejaniembr />Poniżej funkcja logiczna, która to sprawdza/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Function/span> JestSprawdzaniePoprawnosci(KomSprawdzania span stylecolor: #151B8D; font-weight: bold;>As/span> Range) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Typ span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>On/span> span stylecolor: #151B8D; font-weight: bold;>Error/span> span stylecolor: #8D38C9; font-weight: bold;>GoTo/span> Obsluga Typ KomSprawdzania.Validation.span stylecolor: #151B8D; font-weight: bold;>Type/span> JestSprawdzaniePoprawnosci span stylecolor: #00C2FF; font-weight: bold;>True/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Obsluga: JestSprawdzaniePoprawnosci span stylecolor: #00C2FF; font-weight: bold;>False/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Function JestSprawdzaniePoprawnosci(KomSprawdzania As Range) As Boolean Dim Typ As Long On Error GoTo Obsluga Typ KomSprawdzania.Validation.Type JestSprawdzaniePoprawnosci True Exit Function Obsluga: JestSprawdzaniePoprawnosci False End Function/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/data-validation/ reltag>data validation/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-excel/ reltag>Konsultacje Excel/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-vba/ reltag>Konsultacje VBA/a>, a hrefhttps://akademia-vba.pl/tag/kursy-excel/ reltag>Kursy Excel/a>, a hrefhttps://akademia-vba.pl/tag/kursy-vba-2/ reltag>Kursy VBA/a>, a hrefhttps://akademia-vba.pl/tag/sprawdzanie-poprawnosci/ reltag>sprawdzanie poprawności/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-excel/ reltag>Szkolenia Excel/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-vba-2/ reltag>Szkolenia VBA/a>, a hrefhttps://akademia-vba.pl/tag/walidacja/ reltag>walidacja/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-935 --> article idpost-921 classpost-921 post type-post status-publish format-standard hentry category-ogolne tag-sap tag-sap-gui-scripting> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/ relbookmark>Programowanie SAP-a w VBA :)/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/ title8:42 pm relbookmark>time classentry-date datetime2018-03-05T20:42:12+00:00>5 marca, 2018/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>VBA ma się jednak całkiem dobrze. Całkiem niedawno dowiedziałem się o narzędziu SAP Gui Scripting, które pozwala użytkownikom SAP-a nagrywać i odtwarzać kod … Visual Basic! Można do niego spokojnie dodawać standardowe odwołania do Excela! I robi się ciekawie 🙂/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/ogolne/ relcategory tag>Ogólne/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/sap/ reltag>SAP/a>, a hrefhttps://akademia-vba.pl/tag/sap-gui-scripting/ reltag>SAP Gui Scripting/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-921 --> nav idnav-below> h3 classassistive-text>Nawigacja wpisu/h3> div classnav-previous>a hrefhttps://akademia-vba.pl/page/2/ >span classmeta-nav>←/span> Starsze wpisy/a>/div> /nav>!-- #nav-below --> /div>!-- #content --> /div>!-- #primary --> div idsecondary classwidget-area rolecomplementary> aside idblock-9 classwidget widget_block widget_search>form rolesearch methodget actionhttps://akademia-vba.pl/ classwp-block-search__button-outside wp-block-search__text-button wp-block-search >label classwp-block-search__label forwp-block-search__input-1 >Szukaj/label>div classwp-block-search__inside-wrapper >input classwp-block-search__input idwp-block-search__input-1 placeholder value typesearch names required />button aria-labelSzukaj classwp-block-search__button wp-element-button typesubmit >Szukaj/button>/div>/form>/aside>aside idmeta-3 classwidget widget_meta>h3 classwidget-title>Meta/h3> ul> li>a hrefhttps://akademia-vba.pl/wp-login.php>Zaloguj się/a>/li> li>a hrefhttps://akademia-vba.pl/feed/>Kanał wpisów/a>/li> li>a hrefhttps://akademia-vba.pl/comments/feed/>Kanał komentarzy/a>/li> li>a hrefhttps://pl.wordpress.org/>WordPress.org/a>/li> /ul> /aside>aside idblock-11 classwidget widget_block widget_recent_comments>ol classhas-avatars has-dates has-excerpts wp-block-latest-comments>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>Mateusz/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/odwieczny-problem-funkcja-slownie/#comment-6121>Odwieczny problem: Funkcja Slownie/a>time datetime2025-09-05T18:54:21+00:00 classwp-block-latest-comments__comment-date>5 września, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>normalnie polskie znaki występują ale po wprowadzeniu formuły slownie nie ma polskich znaków/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>Mateusz/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/odwieczny-problem-funkcja-slownie/#comment-6120>Odwieczny problem: Funkcja Slownie/a>time datetime2025-09-05T18:49:57+00:00 classwp-block-latest-comments__comment-date>5 września, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Witam Funkcja działa jest super ale nie mam w niej polskich znaków, zamiast są znaki np potegi co w takim…/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/d4fba2e51865e294476b3552322816eec2603426e57e22fbe8c820e4b52bd012?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/d4fba2e51865e294476b3552322816eec2603426e57e22fbe8c820e4b52bd012?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>a classwp-block-latest-comments__comment-author hrefhttps://akademia-vba.pl>Dariusz Kolasa/a> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comment-5884>Słownie z groszami w postaci ułamka/a>time datetime2025-07-26T08:44:39+00:00 classwp-block-latest-comments__comment-date>26 lipca, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Hej Masz jakiś inny błąd. Liczby są prawidłowo konwertowane nawet gdy separatorem dziesiętnym jest kropka. Prawdopodobnie to co masz to…/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/c6ba13d71069e56beb2cb08f4fa7f41e3db1d4e61a1b6d39dad70e89d6edc5e2?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/c6ba13d71069e56beb2cb08f4fa7f41e3db1d4e61a1b6d39dad70e89d6edc5e2?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>nana/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comment-5883>Słownie z groszami w postaci ułamka/a>time datetime2025-07-26T08:26:45+00:00 classwp-block-latest-comments__comment-date>26 lipca, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Hejka, a co w przypadku gdy mam w excelu zamiast przecinków kropki? Nie ma możliwości zmienienia tego bo to komputer…/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/79c37f42890a74c30fc07d3033463bd66c4d05c461311854ba7518b93dcf14da?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/79c37f42890a74c30fc07d3033463bd66c4d05c461311854ba7518b93dcf14da?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>Adam Bortnik/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/odwieczny-problem-funkcja-slownie/#comment-5789>Odwieczny problem: Funkcja Slownie/a>time datetime2025-06-22T20:03:51+00:00 classwp-block-latest-comments__comment-date>22 czerwca, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Uwaga, widzę, że moduł komentarzy blogu zamienia niektóre cudzysłowy na drukarskie - trzeba je ręcznie poprawić przy wprowadzaniu kodu. Kod…/p>/div>/article>/li>/ol>/aside> /div>!-- #secondary .widget-area --> /div>!-- #main --> footer idcolophon> div idsite-generator> a hrefhttps://pl.wordpress.org/ classimprint titleSemantyczna platforma publikowania osobistego> Dumnie wspierane przez WordPress /a> /div> /footer>!-- #colophon -->/div>!-- #page -->script typespeculationrules>{prefetch:{source:document,where:{and:{href_matches:/*},{not:{href_matches:/wp-*.php,/wp-admin/*,/wp-content/uploads/*,/wp-content/*,/wp-content/plugins/*,/wp-content/themes/twentyeleven/*,/*\\?(.+)}},{not:{selector_matches:arel~\nofollow\}},{not:{selector_matches:.no-prefetch, .no-prefetch a}}},eagerness:conservative}}/script>script typetext/javascript srchttp://akademia-vba.pl/wp-content/plugins/wp-syntax/js/wp-syntax.js?ver1.2 idwp-syntax-js-js>/script>script idwp-emoji-settings typeapplication/json>{baseUrl:https://s.w.org/images/core/emoji/17.0.2/72x72/,ext:.png,svgUrl:https://s.w.org/images/core/emoji/17.0.2/svg/,svgExt:.svg,source:{concatemoji:http://akademia-vba.pl/wp-includes/js/wp-emoji-release.min.js?ver6.9.1}}/script>script typemodule>/* !CDATA *//*! This file is auto-generated */const aJSON.parse(document.getElementById(wp-emoji-settings).textContent),o(window._wpemojiSettingsa,wpEmojiSettingsSupports),sflag,emoji;function i(e){try{var t{supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);tnew Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const anew Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)>eat)}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var ne.getImageData(16,16,1,1);for(let e0;en.data.length;e++)if(0!n.datae)return!1;return!0}function u(e,t,n,a){switch(t){caseflag:return n(e,\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f,\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f)?!1:!n(e,\ud83c\udde8\ud83c\uddf6,\ud83c\udde8\u200b\ud83c\uddf6)&&!n(e,\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f,\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f);caseemoji:return!a(e,\ud83e\u1fac8)}return!1}function f(e,t,n,a){let r;const o(rundefined!typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement(canvas)).getContext(2d,{willReadFrequently:!0}),s(o.textBaselinetop,o.font600 32px Arial,{});return e.forEach(e>{set(o,e,n,a)}),s}function r(e){var tdocument.createElement(script);t.srce,t.defer!0,document.head.appendChild(t)}a.supports{everything:!0,everythingExceptFlag:!0},new Promise(t>{let nfunction(){try{var eJSON.parse(sessionStorage.getItem(o));if(objecttypeof e&&numbertypeof e.timestamp&&(new Date).valueOf()e.timestamp+604800&&objecttypeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if(undefined!typeof Worker&&undefined!typeof OffscreenCanvas&&undefined!typeof URL&&URL.createObjectURL&&undefined!typeof Blob)try{var epostMessage(+f.toString()+(+JSON.stringify(s),u.toString(),c.toString(),p.toString().join(,)+));,anew Blob(e,{type:text/javascript});const rnew Worker(URL.createObjectURL(a),{name:wpTestEmojiSupports});return void(r.onmessagee>{i(ne.data),r.terminate(),t(n)})}catch(e){}i(nf(s,u,c,p))}t(n)}).then(e>{for(const n in e)a.supportsnen,a.supports.everythinga.supports.everything&&a.supportsn,flag!n&&(a.supports.everythingExceptFlaga.supports.everythingExceptFlag&&a.supportsn);var t;a.supports.everythingExceptFlaga.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((ta.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});//# sourceURLhttp://akademia-vba.pl/wp-includes/js/wp-emoji-loader.min.js/* > *//script>/body>/html>!-- Page cached by LiteSpeed Cache 7.7 on 2026-02-26 22:17:35 -->
Port 443
HTTP/1.1 200 OKConnection: Keep-AliveKeep-Alive: timeout5, max100Content-Type: text/html; charsetUTF-8Link: https://akademia-vba.pl/wp-json/>; relhttps://api.w.org/Transfer-Encoding: chunkedDate: Fri, 27 Feb 2026 10:25:13 GMTServer: LiteSpeedVary: User-Agent !DOCTYPE html>html langpl-PL>head>meta charsetUTF-8 />meta nameviewport contentwidthdevice-width, initial-scale1.0 />title>Akademia VBA | Czyli jak uzyskać władzę nad światem… danych /title>link relprofile hrefhttps://gmpg.org/xfn/11 />link relstylesheet typetext/css mediaall hrefhttps://akademia-vba.pl/wp-content/themes/twentyeleven/style.css?ver20251202 />link relpingback hrefhttps://akademia-vba.pl/xmlrpc.php>meta namerobots contentmax-image-preview:large />link relalternate typeapplication/rss+xml titleAkademia VBA » Kanał z wpisami hrefhttps://akademia-vba.pl/feed/ />link relalternate typeapplication/rss+xml titleAkademia VBA » Kanał z komentarzami hrefhttps://akademia-vba.pl/comments/feed/ />style idwp-img-auto-sizes-contain-inline-css typetext/css>img:is(sizesauto i,sizes^auto, i){contain-intrinsic-size:3000px 1500px}/*# sourceURLwp-img-auto-sizes-contain-inline-css *//style>style idwp-emoji-styles-inline-css typetext/css> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; }/*# sourceURLwp-emoji-styles-inline-css *//style>link relstylesheet idwp-block-library-css hrefhttps://akademia-vba.pl/wp-includes/css/dist/block-library/style.min.css?ver6.9.1 typetext/css mediaall />style idwp-block-latest-comments-inline-css typetext/css>ol.wp-block-latest-comments{box-sizing:border-box;margin-left:0}:where(.wp-block-latest-comments:not(style*line-height .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not(style*line-height .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not(style*line-height)),.has-excerpts :where(.wp-block-latest-comments:not(style*line-height)){line-height:1.5}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-commentsclass*-font-size a,.wp-block-latest-commentsstyle*font-size a{font-size:inherit}/*# sourceURLhttps://akademia-vba.pl/wp-includes/blocks/latest-comments/style.min.css *//style>style idwp-block-search-inline-css typetext/css>.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{height:1.25em;min-height:24px;min-width:24px;width:1.25em;fill:currentColor;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-blockdata-alignright .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}/*# sourceURLhttps://akademia-vba.pl/wp-includes/blocks/search/style.min.css *//style>style idwp-block-search-theme-inline-css typetext/css>.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}/*# sourceURLhttps://akademia-vba.pl/wp-includes/blocks/search/theme.min.css *//style>style idwp-block-paragraph-inline-css typetext/css>.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-leftstyle*writing-mode:vertical-lr,p.has-text-align-rightstyle*writing-mode:vertical-rl{rotate:180deg}/*# sourceURLhttps://akademia-vba.pl/wp-includes/blocks/paragraph/style.min.css *//style>style idclassic-theme-styles-inline-css typetext/css>/*! This file is auto-generated */.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}/*# sourceURL/wp-includes/css/classic-themes.min.css *//style>style idglobal-styles-inline-css typetext/css>:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--blue: #1982d1;--wp--preset--color--dark-gray: #373737;--wp--preset--color--medium-gray: #666;--wp--preset--color--light-gray: #e2e2e2;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}/*# sourceURLglobal-styles-inline-css *//style>link relstylesheet idwp-syntax-css-css hrefhttps://akademia-vba.pl/wp-content/plugins/wp-syntax/css/wp-syntax.css?ver1.2 typetext/css mediaall />link relstylesheet idtwentyeleven-block-style-css hrefhttps://akademia-vba.pl/wp-content/themes/twentyeleven/blocks.css?ver20240703 typetext/css mediaall />script typetext/javascript srchttps://akademia-vba.pl/wp-includes/js/jquery/jquery.min.js?ver3.7.1 idjquery-core-js>/script>script typetext/javascript srchttps://akademia-vba.pl/wp-includes/js/jquery/jquery-migrate.min.js?ver3.4.1 idjquery-migrate-js>/script>link relhttps://api.w.org/ hrefhttps://akademia-vba.pl/wp-json/ />link relEditURI typeapplication/rsd+xml titleRSD hrefhttps://akademia-vba.pl/xmlrpc.php?rsd />meta namegenerator contentWordPress 6.9.1 />/head>body classhome blog wp-embed-responsive wp-theme-twentyeleven single-author two-column right-sidebar>div classskip-link>a classassistive-text href#content>Przeskocz do tekstu/a>/div>div classskip-link>a classassistive-text href#secondary>Przeskocz do widgetów/a>/div>div idpage classhfeed> header idbranding> hgroup> h1 idsite-title>span>a hrefhttps://akademia-vba.pl/ relhome aria-currentpage>Akademia VBA/a>/span>/h1> h2 idsite-description>Czyli jak uzyskać władzę nad światem… danych/h2> /hgroup> a hrefhttps://akademia-vba.pl/ relhome aria-currentpage> img srchttps://akademia-vba.pl/wp-content/themes/twentyeleven/images/headers/hanoi.jpg width1000 height288 altAkademia VBA decodingasync fetchpriorityhigh /> /a> form methodget idsearchform actionhttps://akademia-vba.pl/> label fors classassistive-text>Szukaj/label> input typetext classfield names ids placeholderSzukaj /> input typesubmit classsubmit namesubmit idsearchsubmit valueSzukaj /> /form> nav idaccess> h3 classassistive-text>Główne menu/h3> div classmenu>ul>li classcurrent_page_item>a hrefhttps://akademia-vba.pl/>Strona główna/a>/li>li classpage_item page-item-1163>a hrefhttps://akademia-vba.pl/kontakt/>Kontakt/a>/li>li classpage_item page-item-7>a hrefhttps://akademia-vba.pl/polityka-prywatnosci/>Polityka prywatności/a>/li>/ul>/div> /nav>!-- #access --> /header>!-- #branding --> div idmain> div idprimary> div idcontent rolemain> nav idnav-above> h3 classassistive-text>Nawigacja wpisu/h3> div classnav-previous>a hrefhttps://akademia-vba.pl/page/2/ >span classmeta-nav>←/span> Starsze wpisy/a>/div> /nav>!-- #nav-above --> article idpost-1193 classpost-1193 post type-post status-publish format-standard sticky hentry category-ogolne category-uslugi-zdalne tag-excel tag-makra tag-makra-vba tag-programowanie tag-programowanie-excel tag-programowanie-vba tag-raportowanie tag-sql tag-szkolenia-vba-2 tag-szkolenia-sql tag-vba> header classentry-header> hgroup> h2 classentry-title>a hrefhttps://akademia-vba.pl/oferta/ relbookmark>Akademia VBA – Oferta/a>/h2> h3 classentry-format>Wyróżnione/h3> /hgroup> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/oferta/ title6:25 pm relbookmark>time classentry-date datetime2021-01-26T18:25:34+00:00>26 stycznia, 2021/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/oferta/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Tworzę i naprawiam aplikacje VBA/SQL/Makra. Moje aplikacje wyróżnia:/p>ul>li>Dopasowanie do potrzeb klienta/li>li>Otwarty i dobrze skomentowany kod źródłowy/li>li>Instrukcja obsługi aplikacji/li>li>Szkolenia umożliwiające rozwijanie aplikacji własnymi siłami./li>/ul>p>Mam 25 lat doświadczenia w szkoleniach i tworzeniu aplikacji dla biznesu. Tworzę aplikacje głównie w oparciu o środowisko Excel i VBA ale także SQL Server, Access i Power BI./p>p>Pozdrawiam i zapraszam do współpracy/p>p>Dariusz Kolasa/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/ogolne/ relcategory tag>Ogólne/a>, a hrefhttps://akademia-vba.pl/category/uslugi-zdalne/ relcategory tag>Usługi zdalne/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/excel/ reltag>excel/a>, a hrefhttps://akademia-vba.pl/tag/makra/ reltag>Makra/a>, a hrefhttps://akademia-vba.pl/tag/makra-vba/ reltag>Makra VBA/a>, a hrefhttps://akademia-vba.pl/tag/programowanie/ reltag>Programowanie/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-excel/ reltag>Programowanie Excel/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-vba/ reltag>Programowanie VBA/a>, a hrefhttps://akademia-vba.pl/tag/raportowanie/ reltag>Raportowanie/a>, a hrefhttps://akademia-vba.pl/tag/sql/ reltag>sql/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-vba-2/ reltag>Szkolenia VBA/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-sql/ reltag>szkolenia-sql/a>, a hrefhttps://akademia-vba.pl/tag/vba/ reltag>vba/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/oferta/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1193 --> article idpost-1421 classpost-1421 post type-post status-publish format-standard hentry category-excel-vba tag-arkusze tag-petla tag-petla-for tag-petla-po-sheets tag-wykresy> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/ relbookmark>Lista wszystkich arkuszy i wykresów/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/ title7:14 am relbookmark>time classentry-date datetime2024-07-24T07:14:20+00:00>24 lipca, 2024/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Zadanie trywialne ale można się zafiksować na pętlę For Each, która w tym wypadku nie zadziała, gdyż mamy tu 2 typy obiektów: Worksheet i Chartbr />W związku z tym trzeba użyć tradycyjnej pętli z indeksem arkusza/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Sub/span> ListujArkuszeOrazWykresy() span stylecolor: #151B8D; font-weight: bold;>Dim/span> NrArk span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #8D38C9; font-weight: bold;>For/span> NrArk 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> ThisWorkbook.Sheets.Count Debug.span stylecolor: #151B8D; font-weight: bold;>Print/span> ThisWorkbook.Sheets(NrArk).name span stylecolor: #8D38C9; font-weight: bold;>Next/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Sub ListujArkuszeOrazWykresy() Dim NrArk As Long For NrArk 1 To ThisWorkbook.Sheets.Count Debug.Print ThisWorkbook.Sheets(NrArk).name NextEnd Sub/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/arkusze/ reltag>Arkusze/a>, a hrefhttps://akademia-vba.pl/tag/petla/ reltag>Pętla/a>, a hrefhttps://akademia-vba.pl/tag/petla-for/ reltag>Pętla For/a>, a hrefhttps://akademia-vba.pl/tag/petla-po-sheets/ reltag>Pętla po Sheets/a>, a hrefhttps://akademia-vba.pl/tag/wykresy/ reltag>Wykresy/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/lista-wszystkich-arkuszy-i-wykresow/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1421 --> article idpost-1337 classpost-1337 post type-post status-publish format-standard hentry category-excel-vba tag-color tag-colorindex tag-formatowanie-komorki tag-kolor-komorki tag-kolor-vba tag-kolorowanie-vba-excel tag-tlo-komorki> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/vba-excel-colorindex/ relbookmark>VBA Excel ColorIndex/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/vba-excel-colorindex/ title1:53 pm relbookmark>time classentry-date datetime2023-10-25T13:53:50+00:00>25 października, 2023/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/vba-excel-colorindex/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Bardzo często potrzebujemy wrzucić kolor do komórki. Najprościej i najwydajniej działa użycie ColorIndexbr />Poniżej kod i jego efekt/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Sub/span> LegendaColorIndex() span stylecolor: #8D38C9; font-weight: bold;>If/span> ActiveSheet.UsedRange.Cells.Count > 1 span stylecolor: #8D38C9; font-weight: bold;>Then/span> MsgBox span stylecolor: #800000;>"Zanim uruchomisz makro tworzące legendę ColorIndex ustaw się w pustym arkuszu"/span>, vbInformation, span stylecolor: #800000;>"STOP"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Sub/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> W span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span>, K span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #8D38C9; font-weight: bold;>For/span> W 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 7 span stylecolor: #8D38C9; font-weight: bold;>For/span> K 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 8 Cells(W, K).Value (W - 1) * 8 + K Cells(W, K).Interior.ColorIndex (W - 1) * 8 + K span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Cells(W, K).Value span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1, 5, 9, 10, 11, 12, 13, 14, 16, 18, 21, 23, 25, 29, 30, 31, 32, 47, 49, 51, 52, 53, 54, 55, 56 Cells(W, K).Font.ColorIndex 2 span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Zakres span stylecolor: #151B8D; font-weight: bold;>As/span> Range span stylecolor: #151B8D; font-weight: bold;>Set/span> Zakres ActiveSheet.UsedRange Zakres.Font.Bold span stylecolor: #00C2FF; font-weight: bold;>True/span> Zakres.HorizontalAlignment xlCenter Zakres.VerticalAlignment xlCenter Zakres.RowHeight 30span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Sub LegendaColorIndex() If ActiveSheet.UsedRange.Cells.Count > 1 Then MsgBox "Zanim uruchomisz makro tworzące legendę ColorIndex ustaw się w pustym arkuszu", vbInformation, "STOP" Exit Sub End If Dim W As Long, K As Long For W 1 To 7 For K 1 To 8 Cells(W, K).Value (W - 1) * 8 + K Cells(W, K).Interior.ColorIndex (W - 1) * 8 + K Select Case Cells(W, K).Value Case 1, 5, 9, 10, 11, 12, 13, 14, 16, 18, 21, 23, 25, 29, 30, 31, 32, 47, 49, 51, 52, 53, 54, 55, 56 Cells(W, K).Font.ColorIndex 2 End Select Next Next Dim Zakres As Range Set Zakres ActiveSheet.UsedRange Zakres.Font.Bold True Zakres.HorizontalAlignment xlCenter Zakres.VerticalAlignment xlCenter Zakres.RowHeight 30End Sub/p>/div>p>img decodingasync srchttps://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex.png alt width517 height286 classalignnone size-full wp-image-1388 srcsethttps://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex.png 517w, https://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex-300x166.png 300w, https://akademia-vba.pl/wp-content/uploads/2024/05/ColorIndex-500x277.png 500w sizes(max-width: 517px) 100vw, 517px />/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/color/ reltag>Color/a>, a hrefhttps://akademia-vba.pl/tag/colorindex/ reltag>ColorIndex/a>, a hrefhttps://akademia-vba.pl/tag/formatowanie-komorki/ reltag>Formatowanie komórki/a>, a hrefhttps://akademia-vba.pl/tag/kolor-komorki/ reltag>Kolor komórki/a>, a hrefhttps://akademia-vba.pl/tag/kolor-vba/ reltag>Kolor VBA/a>, a hrefhttps://akademia-vba.pl/tag/kolorowanie-vba-excel/ reltag>Kolorowanie VBA Excel/a>, a hrefhttps://akademia-vba.pl/tag/tlo-komorki/ reltag>Tło komórki/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/vba-excel-colorindex/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1337 --> article idpost-1330 classpost-1330 post type-post status-publish format-standard hentry category-access category-access-vba tag-access-vba tag-dao tag-debug-print tag-makra-access tag-programowanie-access tag-querydef tag-recordset tag-rekordset-dao> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/ relbookmark>Lista kwerend do tabeli Access/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/ title11:27 am relbookmark>time classentry-date datetime2023-09-14T11:27:05+00:00>14 września, 2023/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Ostatnio musiałem przeanalizować dość złożoną bazę Access z kilkuset kwerendamibr />Oto jak sobie zrobić ich spis do okienka debuggera lub do tabelibr />Jeżeli chcemy wrzucać dane do tabeli musimy ją najpierw utworzyć (nazwa tabeli jak i nazwy pól muszą być identyczne jak w kodzie)br />Jeżeli nie chcemy wrzucać do tabeli to trzeba usunąć wszystkie linijki gdzie jest odwołanie do obiektu Recordset (rs)br />Oczywiście aby wrzucić dane do okienka Debuggera trzeba je po pierwsze włączyć (Ctrl+G) a po drugie odkomentować linijkę z Debug.Print/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Option/span> span stylecolor: #E56717; font-weight: bold;>Compare/span> Databasespan stylecolor: #E56717; font-weight: bold;>Option/span> span stylecolor: #E56717; font-weight: bold;>Explicit/span> span stylecolor: #E56717; font-weight: bold;>Sub/span> lista_kwerend_do_tabeli() span stylecolor: #151B8D; font-weight: bold;>Dim/span> db span stylecolor: #151B8D; font-weight: bold;>As/span> DAO.Database span stylecolor: #151B8D; font-weight: bold;>Dim/span> kw span stylecolor: #151B8D; font-weight: bold;>As/span> DAO.QueryDef span stylecolor: #151B8D; font-weight: bold;>Set/span> db CurrentDb span stylecolor: #151B8D; font-weight: bold;>Dim/span> Licznik_kw span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Typ_kw span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> rs span stylecolor: #151B8D; font-weight: bold;>As/span> DAO.Recordset span stylecolor: #151B8D; font-weight: bold;>Set/span> rs db.OpenRecordset(span stylecolor: #800000;>"_tbSpisKwerend"/span>) span stylecolor: #8D38C9; font-weight: bold;>For/span> span stylecolor: #8D38C9; font-weight: bold;>Each/span> kw span stylecolor: #8D38C9; font-weight: bold;>In/span> db.QueryDefs Licznik_kw Licznik_kw + 1 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> kw.span stylecolor: #151B8D; font-weight: bold;>Type/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0 Typ_kw span stylecolor: #800000;>"SELECT"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 32 Typ_kw span stylecolor: #800000;>"DELETE"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 48 Typ_kw span stylecolor: #800000;>"UPDATE"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 64 Typ_kw span stylecolor: #800000;>"APPEND"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #008000;>Debug.Print Licznik_kw; kw.Name, Typ_kw, kw.Fields.Count/span> rs.AddNew rs.Fields(span stylecolor: #800000;>"Nazwa_kw"/span>).Value kw.Name rs.Fields(span stylecolor: #800000;>"Typ_kw"/span>).Value Typ_kw rs.Fields(span stylecolor: #800000;>"Liczba_pol"/span>).Value kw.Fields.Count rs.Update span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #151B8D; font-weight: bold;>Set/span> db span stylecolor: #00C2FF; font-weight: bold;>Nothing/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Option Compare DatabaseOption ExplicitSub lista_kwerend_do_tabeli() Dim db As DAO.Database Dim kw As DAO.QueryDef Set db CurrentDb Dim Licznik_kw As Long Dim Typ_kw As String Dim rs As DAO.Recordset Set rs db.OpenRecordset("_tbSpisKwerend") For Each kw In db.QueryDefs Licznik_kw Licznik_kw + 1 Select Case kw.Type Case 0 Typ_kw "SELECT" Case 32 Typ_kw "DELETE" Case 48 Typ_kw "UPDATE" Case 64 Typ_kw "APPEND" End Select Debug.Print Licznik_kw; kw.Name, Typ_kw, kw.Fields.Count rs.AddNew rs.Fields("Nazwa_kw").Value kw.Name rs.Fields("Typ_kw").Value Typ_kw rs.Fields("Liczba_pol").Value kw.Fields.Count rs.Update Next Set db NothingEnd Sub/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/access/ relcategory tag>Access/a>, a hrefhttps://akademia-vba.pl/category/access-vba/ relcategory tag>Access VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/access-vba/ reltag>Access VBA/a>, a hrefhttps://akademia-vba.pl/tag/dao/ reltag>DAO/a>, a hrefhttps://akademia-vba.pl/tag/debug-print/ reltag>Debug.Print/a>, a hrefhttps://akademia-vba.pl/tag/makra-access/ reltag>Makra Access/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-access/ reltag>Programowanie Access/a>, a hrefhttps://akademia-vba.pl/tag/querydef/ reltag>QueryDef/a>, a hrefhttps://akademia-vba.pl/tag/recordset/ reltag>Recordset/a>, a hrefhttps://akademia-vba.pl/tag/rekordset-dao/ reltag>rekordset DAO/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/lista-kwerend-do-tabeli-access/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1330 --> article idpost-1282 classpost-1282 post type-post status-publish format-standard hentry category-access-vba category-excel-vba category-office-vba category-uniwersalne-vba tag-funkcja-slownie tag-kwota-slownie tag-makra-vba tag-pisanie-makr tag-programowanie-excel tag-programowanie-vba> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/ relbookmark>Słownie z groszami w postaci ułamka/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/ title7:30 pm relbookmark>time classentry-date datetime2023-04-27T19:30:31+00:00>27 kwietnia, 2023/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comments>19/a> /div> /header>!-- .entry-header --> div classentry-content> p>Nowa wersja funkcji a hrefhttps://akademia-vba.pl/2011/04/24/odwieczny-problem-funkcja-slownie/ data-typepost data-id390>Slownie /a>ma drugi parametr, który określa w jakiej postaci mają być grosze (zamiast True można wpisać 1 a zamiast False – 0)/p>p>Nawiasem mówiąc im nowszy WordPress tym gorszy do prowadzenia blogu programistycznego. Nie da się już użyć wtyczki do kolorowania kodu bez popsucia kodu 🙁br />Wpisuje się to niestety w ogólny trend totalnego obniżania jakości i zarzucania użytkownika masą zbędnych i irytujących funkcjibr />Sytuację ratuje na szczęście wtyczka Classic Editor przywracająca starszą wersję edytora…/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;> span stylecolor: #E56717; font-weight: bold;>Option/span> span stylecolor: #E56717; font-weight: bold;>Explicit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Slownie(Kwota span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Variant/span>, UlamkoweGrosze span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span>) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #008000;>/span> span stylecolor: #008000;> UWAGA! Funkcja wymaga obu funkcji/span> span stylecolor: #008000;> prywatnych zamieszczonych poniżej/span> span stylecolor: #008000;>/span> Const WERSJA span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> _ span stylecolor: #800000;>"Funkcja Słownie v.1.04 (Akademia-VBA.pl)"/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Opis(19) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> DziesOpis(2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 10) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> SetOpis(1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 9) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Zlotowki span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Grosze span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> TrojkaZl span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> TrojkaTys span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> TrojkaMln span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> wynikGrosze span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> wynikZlote span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Ujemna span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span> span stylecolor: #151B8D; font-weight: bold;>On/span> span stylecolor: #151B8D; font-weight: bold;>Error/span> span stylecolor: #8D38C9; font-weight: bold;>GoTo/span> Obsluga span stylecolor: #008000;>sprawdzenie czy puste/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> IsNull(Kwota) span stylecolor: #8D38C9; font-weight: bold;>Or/span> IsEmpty(Kwota) span stylecolor: #8D38C9; font-weight: bold;>Then/span> Slownie span stylecolor: #800000;>"# Brak kwoty!"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>sprawdzenie czy liczba/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Not/span> IsNumeric(Kwota) span stylecolor: #8D38C9; font-weight: bold;>Then/span> Slownie span stylecolor: #800000;>"# Nieprawidłowy typ wartości!"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>gdy ujemna/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Kwota < 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Ujemna span stylecolor: #00C2FF; font-weight: bold;>True/span> Kwota -Kwota span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>konwersja na stringi/span> Zlotowki CStr(Int(Kwota)) Grosze CStr(Kwota - Int(Kwota)) span stylecolor: #008000;>sprawdzenie, czy nie za duża, max 99 mln/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Len(Zlotowki) > 9 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Slownie span stylecolor: #800000;>"# Kwota za duża, max 999 mln!"/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>ewentualne zaokrąglenie do 2 msc po przecinku/span> span stylecolor: #008000;>tu drobna poprawka stąd wersja 1.01/span> span stylecolor: #008000;>było ... CStr(Round(CDbl(Grosze) * 100, 2))/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Len(Grosze) > 2 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Grosze CStr(Round(CDbl(Grosze), 2) * 100) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #008000;>kod zasadniczy/span> span stylecolor: #008000;>/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Len(Zlotowki) span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 span stylecolor: #8D38C9; font-weight: bold;>To/span> 3 wynikZlote Trojka(Zlotowki) & _ OpisRzeduWielkosci(CLng(Zlotowki), span stylecolor: #800000;>"zł"/span>, span stylecolor: #00C2FF; font-weight: bold;>False/span>) span stylecolor: #8D38C9; font-weight: bold;>Case/span> 4 span stylecolor: #8D38C9; font-weight: bold;>To/span> 6 TrojkaZl Right(Zlotowki, 3) TrojkaTys Left(Zlotowki, Len(Zlotowki) - 3) wynikZlote Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), span stylecolor: #800000;>"tys"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) _ & span stylecolor: #800000;>" "/span> & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), span stylecolor: #800000;>"zł"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) span stylecolor: #8D38C9; font-weight: bold;>Case/span> 7 span stylecolor: #8D38C9; font-weight: bold;>To/span> 9 TrojkaZl Right(Zlotowki, 3) TrojkaTys Mid(Zlotowki, Len(Zlotowki) - 5, 3) TrojkaMln Left(Zlotowki, Len(Zlotowki) - 6) wynikZlote Trojka(TrojkaMln) & _ OpisRzeduWielkosci(CLng(TrojkaMln), span stylecolor: #800000;>"mln"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) _ & span stylecolor: #800000;>" "/span> & Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), span stylecolor: #800000;>"tys"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) _ & span stylecolor: #800000;>" "/span> & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), span stylecolor: #800000;>"zł"/span>, span stylecolor: #00C2FF; font-weight: bold;>True/span>) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> UlamkoweGrosze span stylecolor: #8D38C9; font-weight: bold;>Then/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Grosze <> span stylecolor: #800000;>"0"/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> wynikGrosze Format(Grosze, span stylecolor: #800000;>"00"/span>) & span stylecolor: #800000;>"/100"/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> wynikGrosze span stylecolor: #800000;>"zero groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> wynikGrosze Trojka(Grosze) & _ OpisRzeduWielkosci(CLng(Grosze), span stylecolor: #800000;>"gr"/span>, span stylecolor: #00C2FF; font-weight: bold;>False/span>) span stylecolor: #8D38C9; font-weight: bold;>If/span> wynikGrosze span stylecolor: #800000;>""/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> wynikGrosze span stylecolor: #800000;>"zero groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> wynikZlote span stylecolor: #800000;>""/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> wynikZlote span stylecolor: #800000;>"zero złotych"/span> Slownie IIf(Ujemna, span stylecolor: #800000;>"minus "/span>, span stylecolor: #800000;>""/span>) & _ Trim(wynikZlote & span stylecolor: #800000;>" "/span> & wynikGrosze) span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Obsluga: MsgBox Err & span stylecolor: #800000;>" - "/span> & Err.Description, vbCritical, WERSJA span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #E56717; font-weight: bold;>Private/span> span stylecolor: #E56717; font-weight: bold;>Function/span> OpisRzeduWielkosci( _ Liczba span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span>, RzadWielkosci span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span>, _ WiekszeTysiac span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span>) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> JestZero span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> DwieOstatnie span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Ostatnia span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Liczba 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> WiekszeTysiac span stylecolor: #8D38C9; font-weight: bold;>Then/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> RzadWielkosci span stylecolor: #800000;>"zł"/span> span stylecolor: #8D38C9; font-weight: bold;>Then/span> OpisRzeduWielkosci span stylecolor: #800000;>"złotych"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> OpisRzeduWielkosci span stylecolor: #800000;>""/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> DwieOstatnie CLng(Right(CStr(Liczba), 2)) Ostatnia CLng(Right(CStr(Liczba), 1)) span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> RzadWielkosci span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"gr"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" grosz"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" grosze"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" groszy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" grosze"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"zł"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" złotych"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" złoty"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" złote"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" złotych"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" złote"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"tys"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" tysięcy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" tysiąc"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" tysiące"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" tysięcy"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" tysiące"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #800000;>"mln"/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> DwieOstatnie span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 5 span stylecolor: #8D38C9; font-weight: bold;>To/span> 19 OpisRzeduWielkosci span stylecolor: #800000;>" milionów"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 1 OpisRzeduWielkosci span stylecolor: #800000;>" milion"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" miliony"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 19 span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> Ostatnia span stylecolor: #8D38C9; font-weight: bold;>Case/span> 0, 1, span stylecolor: #8D38C9; font-weight: bold;>Is/span> > 4 OpisRzeduWielkosci span stylecolor: #800000;>" milionów"/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> 2 span stylecolor: #8D38C9; font-weight: bold;>To/span> 4 OpisRzeduWielkosci span stylecolor: #800000;>" miliony"/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #E56717; font-weight: bold;>Private/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Trojka(strLiczba span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span>) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> lngOstatnia span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> lngDwieOstatnie span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Opis(19) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> DziesOpis(10) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> SetOpis(9) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>String/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> CLng(strLiczba) 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka span stylecolor: #800000;>""/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> Opis(0) span stylecolor: #800000;>"zero"/span> Opis(1) span stylecolor: #800000;>"jeden"/span> Opis(2) span stylecolor: #800000;>"dwa"/span> Opis(3) span stylecolor: #800000;>"trzy"/span> Opis(4) span stylecolor: #800000;>"cztery"/span> Opis(5) span stylecolor: #800000;>"pięć"/span> Opis(6) span stylecolor: #800000;>"sześć"/span> Opis(7) span stylecolor: #800000;>"siedem"/span> Opis(8) span stylecolor: #800000;>"osiem"/span> Opis(9) span stylecolor: #800000;>"dziewięć"/span> Opis(10) span stylecolor: #800000;>"dziesięć"/span> Opis(11) span stylecolor: #800000;>"jedenaście"/span> Opis(12) span stylecolor: #800000;>"dwanaście"/span> Opis(13) span stylecolor: #800000;>"trzynaście"/span> Opis(14) span stylecolor: #800000;>"czternaście"/span> Opis(15) span stylecolor: #800000;>"piętnaście"/span> Opis(16) span stylecolor: #800000;>"szesnaście"/span> Opis(17) span stylecolor: #800000;>"siedemnaście"/span> Opis(18) span stylecolor: #800000;>"osiemnaście"/span> Opis(19) span stylecolor: #800000;>"dziewiętnaście"/span> DziesOpis(0) span stylecolor: #800000;>"zero"/span> DziesOpis(1) span stylecolor: #800000;>"dziesięć"/span> DziesOpis(2) span stylecolor: #800000;>"dwadzieścia"/span> DziesOpis(3) span stylecolor: #800000;>"trzydzieści"/span> DziesOpis(4) span stylecolor: #800000;>"czterdzieści"/span> DziesOpis(5) span stylecolor: #800000;>"pięćdziesiąt"/span> DziesOpis(6) span stylecolor: #800000;>"sześćdziesiąt"/span> DziesOpis(7) span stylecolor: #800000;>"siedemdziesiąt"/span> DziesOpis(8) span stylecolor: #800000;>"osiemdziesiąt"/span> DziesOpis(9) span stylecolor: #800000;>"dziewięćdziesiąt"/span> SetOpis(0) span stylecolor: #800000;>"zero"/span> SetOpis(1) span stylecolor: #800000;>"sto"/span> SetOpis(2) span stylecolor: #800000;>"dwieście"/span> SetOpis(3) span stylecolor: #800000;>"trzysta"/span> SetOpis(4) span stylecolor: #800000;>"czterysta"/span> SetOpis(5) span stylecolor: #800000;>"pięćset"/span> SetOpis(6) span stylecolor: #800000;>"sześćset"/span> SetOpis(7) span stylecolor: #800000;>"siedemset"/span> SetOpis(8) span stylecolor: #800000;>"osiemset"/span> SetOpis(9) span stylecolor: #800000;>"dziewięćset"/span> lngLiczba CLng(strLiczba) span stylecolor: #008000;>tu policzymy ostatnią/span> lngOstatnia CLng(Right(strLiczba, 1)) span stylecolor: #8D38C9; font-weight: bold;>Select/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> lngLiczba span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> < 20 Trojka Opis(lngLiczba) span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Is/span> < 100 span stylecolor: #8D38C9; font-weight: bold;>If/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>Mod/span> 10 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka DziesOpis(lngLiczba / 10) span stylecolor: #8D38C9; font-weight: bold;>Else/span> Trojka DziesOpis((lngLiczba - lngOstatnia) / 10) _ & span stylecolor: #800000;>" "/span> & Opis(lngOstatnia) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>Case/span> span stylecolor: #8D38C9; font-weight: bold;>Else/span> span stylecolor: #008000;>trzycyfrowa/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>Mod/span> 100 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka SetOpis(lngLiczba / 100) span stylecolor: #8D38C9; font-weight: bold;>Else/span> span stylecolor: #008000;>tu policzymy dwie ostatnie/span> lngDwieOstatnie CLng(Right(strLiczba, 2)) span stylecolor: #8D38C9; font-weight: bold;>If/span> lngLiczba span stylecolor: #151B8D; font-weight: bold;>Mod/span> 10 0 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & span stylecolor: #800000;>" "/span> & DziesOpis(lngDwieOstatnie / 10) span stylecolor: #8D38C9; font-weight: bold;>Else/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> lngDwieOstatnie < 20 span stylecolor: #8D38C9; font-weight: bold;>Then/span> Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & span stylecolor: #800000;>" "/span> & Opis(lngDwieOstatnie) span stylecolor: #8D38C9; font-weight: bold;>Else/span> Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & span stylecolor: #800000;>" "/span> & DziesOpis((lngDwieOstatnie - lngOstatnia) / 10) _ & span stylecolor: #800000;>" "/span> & Opis(lngOstatnia) span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>If/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #8D38C9; font-weight: bold;>Select/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Option Explicit Function Slownie(Kwota As Variant, UlamkoweGrosze As Boolean) As String UWAGA! Funkcja wymaga obu funkcji prywatnych zamieszczonych poniżej Const WERSJA As String _ "Funkcja Słownie v.1.04 (Akademia-VBA.pl)" Dim Opis(19) As String Dim DziesOpis(2 To 10) As String Dim SetOpis(1 To 9) As String Dim Zlotowki As String Dim Grosze As String Dim TrojkaZl As String Dim TrojkaTys As String Dim TrojkaMln As String Dim wynikGrosze As String Dim wynikZlote As String Dim Ujemna As Boolean On Error GoTo Obsluga sprawdzenie czy puste If IsNull(Kwota) Or IsEmpty(Kwota) Then Slownie "# Brak kwoty!" Exit Function End If sprawdzenie czy liczba If Not IsNumeric(Kwota) Then Slownie "# Nieprawidłowy typ wartości!" Exit Function End If gdy ujemna If Kwota < 0 Then Ujemna True Kwota -Kwota End If konwersja na stringi Zlotowki CStr(Int(Kwota)) Grosze CStr(Kwota - Int(Kwota)) sprawdzenie, czy nie za duża, max 99 mln If Len(Zlotowki) > 9 Then Slownie "# Kwota za duża, max 999 mln!" Exit Function End If ewentualne zaokrąglenie do 2 msc po przecinku tu drobna poprawka stąd wersja 1.01 było ... CStr(Round(CDbl(Grosze) * 100, 2)) If Len(Grosze) > 2 Then Grosze CStr(Round(CDbl(Grosze), 2) * 100) End If kod zasadniczy Select Case Len(Zlotowki) Case 1 To 3 wynikZlote Trojka(Zlotowki) & _ OpisRzeduWielkosci(CLng(Zlotowki), "zł", False) Case 4 To 6 TrojkaZl Right(Zlotowki, 3) TrojkaTys Left(Zlotowki, Len(Zlotowki) - 3) wynikZlote Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), "tys", True) _ & " " & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), "zł", True) Case 7 To 9 TrojkaZl Right(Zlotowki, 3) TrojkaTys Mid(Zlotowki, Len(Zlotowki) - 5, 3) TrojkaMln Left(Zlotowki, Len(Zlotowki) - 6) wynikZlote Trojka(TrojkaMln) & _ OpisRzeduWielkosci(CLng(TrojkaMln), "mln", True) _ & " " & Trojka(TrojkaTys) & _ OpisRzeduWielkosci(CLng(TrojkaTys), "tys", True) _ & " " & Trojka(TrojkaZl) & _ OpisRzeduWielkosci(CLng(TrojkaZl), "zł", True) End Select If UlamkoweGrosze Then If Grosze <> "0" Then wynikGrosze Format(Grosze, "00") & "/100" Else wynikGrosze "zero groszy" End If Else wynikGrosze Trojka(Grosze) & _ OpisRzeduWielkosci(CLng(Grosze), "gr", False) If wynikGrosze "" Then wynikGrosze "zero groszy" End If If wynikZlote "" Then wynikZlote "zero złotych" Slownie IIf(Ujemna, "minus ", "") & _ Trim(wynikZlote & " " & wynikGrosze) Exit Function Obsluga: MsgBox Err & " - " & Err.Description, vbCritical, WERSJA End Function Private Function OpisRzeduWielkosci( _ Liczba As Long, RzadWielkosci As String, _ WiekszeTysiac As Boolean) As String Dim JestZero As Boolean Dim DwieOstatnie As Long Dim Ostatnia As Long If Liczba 0 Then If WiekszeTysiac Then If RzadWielkosci "zł" Then OpisRzeduWielkosci "złotych" End If Else OpisRzeduWielkosci "" End If Exit Function End If DwieOstatnie CLng(Right(CStr(Liczba), 2)) Ostatnia CLng(Right(CStr(Liczba), 1)) Select Case RzadWielkosci Case "gr" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " groszy" Case 1 OpisRzeduWielkosci " grosz" Case 2 To 4 OpisRzeduWielkosci " grosze" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " groszy" Case 2 To 4 OpisRzeduWielkosci " grosze" End Select End Select Case "zł" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " złotych" Case 1 OpisRzeduWielkosci " złoty" Case 2 To 4 OpisRzeduWielkosci " złote" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " złotych" Case 2 To 4 OpisRzeduWielkosci " złote" End Select End Select Case "tys" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " tysięcy" Case 1 OpisRzeduWielkosci " tysiąc" Case 2 To 4 OpisRzeduWielkosci " tysiące" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " tysięcy" Case 2 To 4 OpisRzeduWielkosci " tysiące" End Select End Select Case "mln" Select Case DwieOstatnie Case 0, 5 To 19 OpisRzeduWielkosci " milionów" Case 1 OpisRzeduWielkosci " milion" Case 2 To 4 OpisRzeduWielkosci " miliony" Case Is > 19 Select Case Ostatnia Case 0, 1, Is > 4 OpisRzeduWielkosci " milionów" Case 2 To 4 OpisRzeduWielkosci " miliony" End Select End Select End SelectEnd Function Private Function Trojka(strLiczba As String) As String Dim lngLiczba As Long Dim lngOstatnia As Long Dim lngDwieOstatnie As Long Dim Opis(19) As String Dim DziesOpis(10) As String Dim SetOpis(9) As String If CLng(strLiczba) 0 Then Trojka "" Exit Function End If Opis(0) "zero" Opis(1) "jeden" Opis(2) "dwa" Opis(3) "trzy" Opis(4) "cztery" Opis(5) "pięć" Opis(6) "sześć" Opis(7) "siedem" Opis(8) "osiem" Opis(9) "dziewięć" Opis(10) "dziesięć" Opis(11) "jedenaście" Opis(12) "dwanaście" Opis(13) "trzynaście" Opis(14) "czternaście" Opis(15) "piętnaście" Opis(16) "szesnaście" Opis(17) "siedemnaście" Opis(18) "osiemnaście" Opis(19) "dziewiętnaście" DziesOpis(0) "zero" DziesOpis(1) "dziesięć" DziesOpis(2) "dwadzieścia" DziesOpis(3) "trzydzieści" DziesOpis(4) "czterdzieści" DziesOpis(5) "pięćdziesiąt" DziesOpis(6) "sześćdziesiąt" DziesOpis(7) "siedemdziesiąt" DziesOpis(8) "osiemdziesiąt" DziesOpis(9) "dziewięćdziesiąt" SetOpis(0) "zero" SetOpis(1) "sto" SetOpis(2) "dwieście" SetOpis(3) "trzysta" SetOpis(4) "czterysta" SetOpis(5) "pięćset" SetOpis(6) "sześćset" SetOpis(7) "siedemset" SetOpis(8) "osiemset" SetOpis(9) "dziewięćset" lngLiczba CLng(strLiczba) tu policzymy ostatnią lngOstatnia CLng(Right(strLiczba, 1)) Select Case lngLiczba Case Is < 20 Trojka Opis(lngLiczba) Case Is < 100 If lngLiczba Mod 10 0 Then Trojka DziesOpis(lngLiczba / 10) Else Trojka DziesOpis((lngLiczba - lngOstatnia) / 10) _ & " " & Opis(lngOstatnia) End If Case Else trzycyfrowa If lngLiczba Mod 100 0 Then Trojka SetOpis(lngLiczba / 100) Else tu policzymy dwie ostatnie lngDwieOstatnie CLng(Right(strLiczba, 2)) If lngLiczba Mod 10 0 Then Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & " " & DziesOpis(lngDwieOstatnie / 10) Else If lngDwieOstatnie < 20 Then Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & " " & Opis(lngDwieOstatnie) Else Trojka SetOpis((lngLiczba - lngDwieOstatnie) / 100) _ & " " & DziesOpis((lngDwieOstatnie - lngOstatnia) / 10) _ & " " & Opis(lngOstatnia) End If End If End If End SelectEnd Function/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/access-vba/ relcategory tag>Access VBA/a>, a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a>, a hrefhttps://akademia-vba.pl/category/office-vba/ relcategory tag>Office VBA/a>, a hrefhttps://akademia-vba.pl/category/uniwersalne-vba/ relcategory tag>Uniwersalne VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/funkcja-slownie/ reltag>funkcja Słownie/a>, a hrefhttps://akademia-vba.pl/tag/kwota-slownie/ reltag>Kwota słownie/a>, a hrefhttps://akademia-vba.pl/tag/makra-vba/ reltag>Makra VBA/a>, a hrefhttps://akademia-vba.pl/tag/pisanie-makr/ reltag>Pisanie makr/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-excel/ reltag>Programowanie Excel/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-vba/ reltag>Programowanie VBA/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comments>b>19/b> komentarzy/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1282 --> article idpost-1134 classpost-1134 post type-post status-publish format-standard hentry category-uniwersalne-vba tag-data-pliku tag-filecopy tag-filedatetime tag-filelen tag-informacje-o-pliku tag-kopiowanie-pliku tag-makra tag-makra-vba tag-programowanie-vba tag-wielkosc-pliku> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/ relbookmark>Proste w użyciu operacje na plikach/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/ title1:52 pm relbookmark>time classentry-date datetime2020-11-22T13:52:35+00:00>22 listopada, 2020/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/#comments>1/a> /div> /header>!-- .entry-header --> div classentry-content> p>Mało kto wie, że VBA ma fajne i proste w użyciu funkcje do odczytywania podstawowych informacji o pliku. Poniżej przykłady wykonania z debuggera:/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>?FileDateTime(span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek.png"/span>)2018-10-30 21:14:47/pre>/td>/tr>/table>p classtheCode styledisplay:none;>?FileDateTime("C:\Users\dariu\Desktop\kotek.png")2018-10-30 21:14:47/p>/div>p>Oczywiście zwraca datę ostatniej modyfikacji pliku/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>?FileLen(span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek.png"/span>)135590/pre>/td>/tr>/table>p classtheCode styledisplay:none;>?FileLen("C:\Users\dariu\Desktop\kotek.png")135590/p>/div>p>Zwraca wielkość pliku w bajtach. /p>p>Także znajomość niezwykle praktycznej funkcji FileCopy jest mocno ograniczona. Jej działanie jest chyba jasne 🙂/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>FileCopy span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek.png"/span>, _ span stylecolor: #800000;>"C:\Users\dariu\Desktop\kotek2.png"/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>FileCopy "C:\Users\dariu\Desktop\kotek.png", _ "C:\Users\dariu\Desktop\kotek2.png"/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/uniwersalne-vba/ relcategory tag>Uniwersalne VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/data-pliku/ reltag>Data pliku/a>, a hrefhttps://akademia-vba.pl/tag/filecopy/ reltag>FileCopy/a>, a hrefhttps://akademia-vba.pl/tag/filedatetime/ reltag>FileDateTime/a>, a hrefhttps://akademia-vba.pl/tag/filelen/ reltag>FileLen/a>, a hrefhttps://akademia-vba.pl/tag/informacje-o-pliku/ reltag>Informacje o pliku/a>, a hrefhttps://akademia-vba.pl/tag/kopiowanie-pliku/ reltag>Kopiowanie pliku/a>, a hrefhttps://akademia-vba.pl/tag/makra/ reltag>Makra/a>, a hrefhttps://akademia-vba.pl/tag/makra-vba/ reltag>Makra VBA/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-vba/ reltag>Programowanie VBA/a>, a hrefhttps://akademia-vba.pl/tag/wielkosc-pliku/ reltag>Wielkość pliku/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/proste-w-uzyciu-operacje-na-plikach/#comments>b>1/b> odpowiedź/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-1134 --> article idpost-999 classpost-999 post type-post status-publish format-standard hentry category-sql-server tag-kurs-sql tag-podstawy-sql tag-programowanie-sql tag-sql tag-sql-serwer tag-szkolenia-sql> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/ relbookmark>Podstawy SQL – Kolejność klauzul w SELECT/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/ title1:33 pm relbookmark>time classentry-date datetime2020-05-20T13:33:24+00:00>20 maja, 2020/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Poważna aplikacja VBA z często korzysta z jakiejś bazy danych aby odczytać, dopisać a czasem zaktualizować lub usunąć jakieś dane. Dlatego warto poznać co najmniej podstawy języka SQL. Jest to język dość prosty jeżeli chodzi o podstawy, ale oczywiście jeżeli mamy nietrywialne potrzeby, zapytania też się komplikują. Co musisz wiedzieć na pewno to jak odczytać dane z bazy. Z artykułu o a hrefhttp://akademia-vba.pl/2014/12/23/ado-i-wszystkie-bazy-sa-nasze/>ADO/a> wiesz, że z VBA można nawiązać połączenie z Access i SQL Server. Tam jako źródło zapytania jest po prostu podana nazwa tabeli. Ale oczywiście zamiast tego możemy podać dowolne wyrażenie typu SELECT. I tu na początek trzeba wiedzieć kilka rzeczy. Po pierwsze kolejność klauzul jest ściśle określona i jest następująca:/p>p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classsql stylefont-family:monospace;> span stylecolor: #993333; font-weight: bold;>SELECT/span> pole1span stylecolor: #66cc66;>,/span> pole2span stylecolor: #66cc66;>,/span> poleNspan stylecolor: #66cc66;>.../span> span stylecolor: #993333; font-weight: bold;>FROM/span> tabela span stylecolor: #66cc66;>(/span>tabela1 span stylecolor: #993333; font-weight: bold;>JOIN/span> tabela2 span stylecolor: #993333; font-weight: bold;>ON/span> klucz1 span stylecolor: #66cc66;>/span> klucz2span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>WHERE/span> warunek1 span stylecolor: #993333; font-weight: bold;>AND/span>span stylecolor: #66cc66;>//span>span stylecolor: #993333; font-weight: bold;>OR/span> warunek2span stylecolor: #66cc66;>.../span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;> SELECT pole1, pole2, poleN... FROM tabela (tabela1 join tabela2 on klucz1 klucz2) WHERE warunek1 and/or warunek2.../p>/div>/p>p>Tak wygląda najprostszy select bez grupowania i wyliczeń. Zasadą jest, że piszemy najpierw FROM a potem wypisujemy pola w SELECT, bo tylko wtedy dobry edytor kodu SQL może nam podpowiedzieć nazwy pól. We FROM podajemy nazwę pojedynczej tabeli lub wiele tabel ale wtedy musimy wiedzieć po jakich polach kluczowych trzeba je połączyć. Sytuacja komplikuje się gdy chcemy w zapytaniu grupować dane i coś wyliczać dla tych grup:/p>p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classsql stylefont-family:monospace;> span stylecolor: #993333; font-weight: bold;>SELECT/span> pole1span stylecolor: #66cc66;>,/span> pole2span stylecolor: #66cc66;>,/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>AS/span> Razem span stylecolor: #993333; font-weight: bold;>FROM/span> tabela span stylecolor: #66cc66;>(/span>tabela1 span stylecolor: #993333; font-weight: bold;>JOIN/span> tabela2 span stylecolor: #993333; font-weight: bold;>ON/span> klucz1 span stylecolor: #66cc66;>/span> klucz2span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>WHERE/span> warunek1 span stylecolor: #993333; font-weight: bold;>AND/span>span stylecolor: #66cc66;>//span>span stylecolor: #993333; font-weight: bold;>OR/span> warunek2span stylecolor: #66cc66;>.../span> span stylecolor: #993333; font-weight: bold;>GROUP/span> span stylecolor: #993333; font-weight: bold;>BY/span> pole1span stylecolor: #66cc66;>,/span> pole2 span stylecolor: #993333; font-weight: bold;>HAVING/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #66cc66;>>/span> span stylecolor: #cc66cc;>1000/span> span stylecolor: #993333; font-weight: bold;>ORDER/span> span stylecolor: #993333; font-weight: bold;>BY/span> Razem span stylecolor: #993333; font-weight: bold;>DESC/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;> SELECT pole1, pole2, SUM(pole3) as Razem FROM tabela (tabela1 join tabela2 on klucz1 klucz2) WHERE warunek1 and/or warunek2... GROUP BY pole1, pole2 HAVING SUM(pole3) > 1000 ORDER BY Razem DESC/p>/div>/p>p>Jak widać użyliśmy w SELECT funkcji SUM, która współpracuje z klauzulą GROUP BY definiującą dla jakich grup chcemy policzyć sumy. Dodatkowo w klauzuli HAVING informujemy, że interesują nas tylko sumy przekraczające 1000. ORDER BY to oczywiście sortowanie, w tym wypadku po sumach w porządku malejącym (DESC jak descending). W SELECT za polem trzecim mamy as Razem co oznacza jak chcemy nazwać to wyliczane pole. I tu ciekawostka. Skoro już nazwaliśmy to pole Razem to czemu wykorzystaliśmy tą nazwę tylko w ORDER BY Razem DESC ale już nie w HAVING gdzie ponownie użyliśmy wyrażenia SUM(pole3) > 1000?. Otóż wynika z ważnej zasady, że kolejność pisania klauzul w SELECT nie odpowiada kolejności przetwarzania ich przez serwer! Okazuje się, że klauzula SELECT jest przetwarzana dopiero jako piąta!/p>p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classsql stylefont-family:monospace;> span stylecolor: #993333; font-weight: bold;>SELECT/span> pole1span stylecolor: #66cc66;>,/span> pole2span stylecolor: #66cc66;>,/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #993333; font-weight: bold;>AS/span> Razem span stylecolor: #808080; font-style: italic;>--5!!!/span> span stylecolor: #993333; font-weight: bold;>FROM/span> tabela span stylecolor: #66cc66;>(/span>tabela1 span stylecolor: #993333; font-weight: bold;>JOIN/span> tabela2 span stylecolor: #993333; font-weight: bold;>ON/span> klucz1 span stylecolor: #66cc66;>/span> klucz2span stylecolor: #66cc66;>)/span> span stylecolor: #808080; font-style: italic;>--1/span> span stylecolor: #993333; font-weight: bold;>WHERE/span> warunek1 span stylecolor: #993333; font-weight: bold;>AND/span>span stylecolor: #66cc66;>//span>span stylecolor: #993333; font-weight: bold;>OR/span> warunek2span stylecolor: #66cc66;>.../span> span stylecolor: #808080; font-style: italic;>--2/span> span stylecolor: #993333; font-weight: bold;>GROUP/span> span stylecolor: #993333; font-weight: bold;>BY/span> pole1span stylecolor: #66cc66;>,/span> pole2 span stylecolor: #808080; font-style: italic;>--3/span> span stylecolor: #993333; font-weight: bold;>HAVING/span> span stylecolor: #993333; font-weight: bold;>SUM/span>span stylecolor: #66cc66;>(/span>pole3span stylecolor: #66cc66;>)/span> span stylecolor: #66cc66;>>/span> span stylecolor: #cc66cc;>1000/span> span stylecolor: #808080; font-style: italic;>--4/span> span stylecolor: #993333; font-weight: bold;>ORDER/span> span stylecolor: #993333; font-weight: bold;>BY/span> Razem span stylecolor: #993333; font-weight: bold;>DESC/span> span stylecolor: #808080; font-style: italic;>--6/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;> SELECT pole1, pole2, SUM(pole3) as Razem --5!!! FROM tabela (tabela1 join tabela2 on klucz1 klucz2) --1 WHERE warunek1 and/or warunek2... --2 GROUP BY pole1, pole2 --3 HAVING SUM(pole3) > 1000 --4 ORDER BY Razem DESC --6/p>/div>/p>p>I dlatego tylko klauzula ORDER BY jako jedyna przetwarzana po SELECT może użyć zdefiniowanej w niej nazwy pola!/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/sql-server/ relcategory tag>SQL Server/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/kurs-sql/ reltag>kurs-sql/a>, a hrefhttps://akademia-vba.pl/tag/podstawy-sql/ reltag>podstawy sql/a>, a hrefhttps://akademia-vba.pl/tag/programowanie-sql/ reltag>Programowanie SQL/a>, a hrefhttps://akademia-vba.pl/tag/sql/ reltag>sql/a>, a hrefhttps://akademia-vba.pl/tag/sql-serwer/ reltag>SQL Serwer/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-sql/ reltag>szkolenia-sql/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/podstawy-sql-kolejnosc-klauzul-w-select/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-999 --> article idpost-950 classpost-950 post type-post status-publish format-standard hentry category-access-vba category-excel-vba category-sql-server category-uniwersalne-vba tag-access-vba tag-ado tag-adox tag-konsultacje-access tag-konsultacje-vba tag-kurs-access tag-kurs-vba tag-lista-kolumn tag-lista-tabel tag-szkolenia-access> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/adox/ relbookmark>ADOX/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/adox/ title5:34 pm relbookmark>time classentry-date datetime2019-12-15T17:34:49+00:00>15 grudnia, 2019/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/adox/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Bardzo stara i bardzo fajna biblioteka do obsługi struktury bazy. Na liście referencji nazywa się Microsoft ADO Ext. XX for DDL and Security. Potrzebna jest też biblioteka ADO do nawiązania połączenia. Kluczowy jest ADOX.Catalog, który pozwala na iterowanie po tabelach, polach itp.br />Poniższy kod wymaga tzw. connection string (stała CN_STR), których przykłady są w artykule o a hrefhttp://akademia-vba.pl/index.php/2014/12/23/ado-i-wszystkie-bazy-sa-nasze/>ADO – i wszystkie bazy są nasze/a>/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Sub/span> Lista_Tabel_Kolumn() span stylecolor: #151B8D; font-weight: bold;>Dim/span> cn span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #E56717; font-weight: bold;>New/span> ADODB.Connection span stylecolor: #151B8D; font-weight: bold;>Dim/span> cat span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #E56717; font-weight: bold;>New/span> ADOX.Catalog span stylecolor: #151B8D; font-weight: bold;>Dim/span> tb span stylecolor: #151B8D; font-weight: bold;>As/span> ADOX.Table span stylecolor: #151B8D; font-weight: bold;>Dim/span> k span stylecolor: #151B8D; font-weight: bold;>As/span> ADOX.Column cn.ConnectionString CN_STR span stylecolor: #008000;>dodaj swoje ustawienia!/span> cn.span stylecolor: #151B8D; font-weight: bold;>Open/span> span stylecolor: #151B8D; font-weight: bold;>Set/span> cat.ActiveConnection cn span stylecolor: #8D38C9; font-weight: bold;>For/span> span stylecolor: #8D38C9; font-weight: bold;>Each/span> tb span stylecolor: #8D38C9; font-weight: bold;>In/span> cat.Tables span stylecolor: #8D38C9; font-weight: bold;>For/span> span stylecolor: #8D38C9; font-weight: bold;>Each/span> k span stylecolor: #8D38C9; font-weight: bold;>In/span> tb.Columns Debug.span stylecolor: #151B8D; font-weight: bold;>Print/span> tb.Name, k.Name span stylecolor: #8D38C9; font-weight: bold;>Next/span> span stylecolor: #8D38C9; font-weight: bold;>Next/span>span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Sub/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Sub Lista_Tabel_Kolumn() Dim cn As New ADODB.Connection Dim cat As New ADOX.Catalog Dim tb As ADOX.Table Dim k As ADOX.Column cn.ConnectionString CN_STR dodaj swoje ustawienia! cn.Open Set cat.ActiveConnection cn For Each tb In cat.Tables For Each k In tb.Columns Debug.Print tb.Name, k.Name Next NextEnd Sub/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/access-vba/ relcategory tag>Access VBA/a>, a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a>, a hrefhttps://akademia-vba.pl/category/sql-server/ relcategory tag>SQL Server/a>, a hrefhttps://akademia-vba.pl/category/uniwersalne-vba/ relcategory tag>Uniwersalne VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/access-vba/ reltag>Access VBA/a>, a hrefhttps://akademia-vba.pl/tag/ado/ reltag>ADO/a>, a hrefhttps://akademia-vba.pl/tag/adox/ reltag>ADOX/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-access/ reltag>Konsultacje Access/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-vba/ reltag>Konsultacje VBA/a>, a hrefhttps://akademia-vba.pl/tag/kurs-access/ reltag>Kurs Access/a>, a hrefhttps://akademia-vba.pl/tag/kurs-vba/ reltag>kurs-vba/a>, a hrefhttps://akademia-vba.pl/tag/lista-kolumn/ reltag>lista kolumn/a>, a hrefhttps://akademia-vba.pl/tag/lista-tabel/ reltag>Lista tabel/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-access/ reltag>Szkolenia Access/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/adox/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-950 --> article idpost-935 classpost-935 post type-post status-publish format-standard hentry category-excel-vba tag-data-validation tag-konsultacje-excel tag-konsultacje-vba tag-kursy-excel tag-kursy-vba-2 tag-sprawdzanie-poprawnosci tag-szkolenia-excel tag-szkolenia-vba-2 tag-walidacja> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/ relbookmark>Funkcja do sprawdzania sprawdzania poprawności/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/ title8:56 am relbookmark>time classentry-date datetime2018-07-26T08:56:32+00:00>26 lipca, 2018/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>Czasem możemy chcieć sprawdzić czy w danej komórce ustawiono sprawdzanie poprawności (walidację), np. aby jej nie popsuć wklejaniembr />Poniżej funkcja logiczna, która to sprawdza/p>div classwp_syntax styleposition:relative;>table>tr>td classcode>pre classvb stylefont-family:monospace;>span stylecolor: #E56717; font-weight: bold;>Function/span> JestSprawdzaniePoprawnosci(KomSprawdzania span stylecolor: #151B8D; font-weight: bold;>As/span> Range) span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Boolean/span> span stylecolor: #151B8D; font-weight: bold;>Dim/span> Typ span stylecolor: #151B8D; font-weight: bold;>As/span> span stylecolor: #F660AB; font-weight: bold;>Long/span> span stylecolor: #151B8D; font-weight: bold;>On/span> span stylecolor: #151B8D; font-weight: bold;>Error/span> span stylecolor: #8D38C9; font-weight: bold;>GoTo/span> Obsluga Typ KomSprawdzania.Validation.span stylecolor: #151B8D; font-weight: bold;>Type/span> JestSprawdzaniePoprawnosci span stylecolor: #00C2FF; font-weight: bold;>True/span> span stylecolor: #E56717; font-weight: bold;>Exit/span> span stylecolor: #E56717; font-weight: bold;>Function/span> Obsluga: JestSprawdzaniePoprawnosci span stylecolor: #00C2FF; font-weight: bold;>False/span> span stylecolor: #8D38C9; font-weight: bold;>End/span> span stylecolor: #E56717; font-weight: bold;>Function/span>/pre>/td>/tr>/table>p classtheCode styledisplay:none;>Function JestSprawdzaniePoprawnosci(KomSprawdzania As Range) As Boolean Dim Typ As Long On Error GoTo Obsluga Typ KomSprawdzania.Validation.Type JestSprawdzaniePoprawnosci True Exit Function Obsluga: JestSprawdzaniePoprawnosci False End Function/p>/div> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/excel-vba/ relcategory tag>Excel VBA/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/data-validation/ reltag>data validation/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-excel/ reltag>Konsultacje Excel/a>, a hrefhttps://akademia-vba.pl/tag/konsultacje-vba/ reltag>Konsultacje VBA/a>, a hrefhttps://akademia-vba.pl/tag/kursy-excel/ reltag>Kursy Excel/a>, a hrefhttps://akademia-vba.pl/tag/kursy-vba-2/ reltag>Kursy VBA/a>, a hrefhttps://akademia-vba.pl/tag/sprawdzanie-poprawnosci/ reltag>sprawdzanie poprawności/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-excel/ reltag>Szkolenia Excel/a>, a hrefhttps://akademia-vba.pl/tag/szkolenia-vba-2/ reltag>Szkolenia VBA/a>, a hrefhttps://akademia-vba.pl/tag/walidacja/ reltag>walidacja/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/funkcja-do-sprawdzania-sprawdzania-poprawnosci/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-935 --> article idpost-921 classpost-921 post type-post status-publish format-standard hentry category-ogolne tag-sap tag-sap-gui-scripting> header classentry-header> h1 classentry-title>a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/ relbookmark>Programowanie SAP-a w VBA :)/a>/h1> div classentry-meta> span classsep>Opublikowany /span>a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/ title8:42 pm relbookmark>time classentry-date datetime2018-03-05T20:42:12+00:00>5 marca, 2018/time>/a>span classby-author> span classsep> przez /span> span classauthor vcard>a classurl fn n hrefhttps://akademia-vba.pl/author/nowyadmin/ titleZobacz wszystkie wpisy opublikowane przez Dariusz Kolasa relauthor>Dariusz Kolasa/a>/span>/span> /div>!-- .entry-meta --> div classcomments-link> a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/#respond>span classleave-reply>Odpowiedz/span>/a> /div> /header>!-- .entry-header --> div classentry-content> p>VBA ma się jednak całkiem dobrze. Całkiem niedawno dowiedziałem się o narzędziu SAP Gui Scripting, które pozwala użytkownikom SAP-a nagrywać i odtwarzać kod … Visual Basic! Można do niego spokojnie dodawać standardowe odwołania do Excela! I robi się ciekawie 🙂/p> /div>!-- .entry-content --> footer classentry-meta> span classcat-links> span classentry-utility-prep entry-utility-prep-cat-links>Zaszufladkowano do kategorii/span> a hrefhttps://akademia-vba.pl/category/ogolne/ relcategory tag>Ogólne/a> /span> span classsep> | /span> span classtag-links> span classentry-utility-prep entry-utility-prep-tag-links>Otagowano/span> a hrefhttps://akademia-vba.pl/tag/sap/ reltag>SAP/a>, a hrefhttps://akademia-vba.pl/tag/sap-gui-scripting/ reltag>SAP Gui Scripting/a> /span> span classsep> | /span> span classcomments-link>a hrefhttps://akademia-vba.pl/programowanie-sap-a-w-vba/#respond>span classleave-reply>Dodaj komentarz/span>/a>/span> /footer>!-- .entry-meta --> /article>!-- #post-921 --> nav idnav-below> h3 classassistive-text>Nawigacja wpisu/h3> div classnav-previous>a hrefhttps://akademia-vba.pl/page/2/ >span classmeta-nav>←/span> Starsze wpisy/a>/div> /nav>!-- #nav-below --> /div>!-- #content --> /div>!-- #primary --> div idsecondary classwidget-area rolecomplementary> aside idblock-9 classwidget widget_block widget_search>form rolesearch methodget actionhttps://akademia-vba.pl/ classwp-block-search__button-outside wp-block-search__text-button wp-block-search >label classwp-block-search__label forwp-block-search__input-1 >Szukaj/label>div classwp-block-search__inside-wrapper >input classwp-block-search__input idwp-block-search__input-1 placeholder value typesearch names required />button aria-labelSzukaj classwp-block-search__button wp-element-button typesubmit >Szukaj/button>/div>/form>/aside>aside idmeta-3 classwidget widget_meta>h3 classwidget-title>Meta/h3> ul> li>a hrefhttps://akademia-vba.pl/wp-login.php>Zaloguj się/a>/li> li>a hrefhttps://akademia-vba.pl/feed/>Kanał wpisów/a>/li> li>a hrefhttps://akademia-vba.pl/comments/feed/>Kanał komentarzy/a>/li> li>a hrefhttps://pl.wordpress.org/>WordPress.org/a>/li> /ul> /aside>aside idblock-11 classwidget widget_block widget_recent_comments>ol classhas-avatars has-dates has-excerpts wp-block-latest-comments>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>Mateusz/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/odwieczny-problem-funkcja-slownie/#comment-6121>Odwieczny problem: Funkcja Slownie/a>time datetime2025-09-05T18:54:21+00:00 classwp-block-latest-comments__comment-date>5 września, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>normalnie polskie znaki występują ale po wprowadzeniu formuły slownie nie ma polskich znaków/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/fbd36fc22ebb54d8907424c2e9aea74114c113918cd8ef7dc5ee4cbacf5c2815?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>Mateusz/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/odwieczny-problem-funkcja-slownie/#comment-6120>Odwieczny problem: Funkcja Slownie/a>time datetime2025-09-05T18:49:57+00:00 classwp-block-latest-comments__comment-date>5 września, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Witam Funkcja działa jest super ale nie mam w niej polskich znaków, zamiast są znaki np potegi co w takim…/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/d4fba2e51865e294476b3552322816eec2603426e57e22fbe8c820e4b52bd012?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/d4fba2e51865e294476b3552322816eec2603426e57e22fbe8c820e4b52bd012?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>a classwp-block-latest-comments__comment-author hrefhttps://akademia-vba.pl>Dariusz Kolasa/a> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comment-5884>Słownie z groszami w postaci ułamka/a>time datetime2025-07-26T08:44:39+00:00 classwp-block-latest-comments__comment-date>26 lipca, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Hej Masz jakiś inny błąd. Liczby są prawidłowo konwertowane nawet gdy separatorem dziesiętnym jest kropka. Prawdopodobnie to co masz to…/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/c6ba13d71069e56beb2cb08f4fa7f41e3db1d4e61a1b6d39dad70e89d6edc5e2?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/c6ba13d71069e56beb2cb08f4fa7f41e3db1d4e61a1b6d39dad70e89d6edc5e2?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>nana/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/slownie-z-groszami-w-postaci-ulamka/#comment-5883>Słownie z groszami w postaci ułamka/a>time datetime2025-07-26T08:26:45+00:00 classwp-block-latest-comments__comment-date>26 lipca, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Hejka, a co w przypadku gdy mam w excelu zamiast przecinków kropki? Nie ma możliwości zmienienia tego bo to komputer…/p>/div>/article>/li>li classwp-block-latest-comments__comment>img alt srchttps://secure.gravatar.com/avatar/79c37f42890a74c30fc07d3033463bd66c4d05c461311854ba7518b93dcf14da?s48&dmm&rg srcsethttps://secure.gravatar.com/avatar/79c37f42890a74c30fc07d3033463bd66c4d05c461311854ba7518b93dcf14da?s96&dmm&rg 2x classavatar avatar-48 photo wp-block-latest-comments__comment-avatar height48 width48 />article>footer classwp-block-latest-comments__comment-meta>span classwp-block-latest-comments__comment-author>Adam Bortnik/span> - a classwp-block-latest-comments__comment-link hrefhttps://akademia-vba.pl/odwieczny-problem-funkcja-slownie/#comment-5789>Odwieczny problem: Funkcja Slownie/a>time datetime2025-06-22T20:03:51+00:00 classwp-block-latest-comments__comment-date>22 czerwca, 2025/time>/footer>div classwp-block-latest-comments__comment-excerpt>p>Uwaga, widzę, że moduł komentarzy blogu zamienia niektóre cudzysłowy na drukarskie - trzeba je ręcznie poprawić przy wprowadzaniu kodu. Kod…/p>/div>/article>/li>/ol>/aside> /div>!-- #secondary .widget-area --> /div>!-- #main --> footer idcolophon> div idsite-generator> a hrefhttps://pl.wordpress.org/ classimprint titleSemantyczna platforma publikowania osobistego> Dumnie wspierane przez WordPress /a> /div> /footer>!-- #colophon -->/div>!-- #page -->script typespeculationrules>{prefetch:{source:document,where:{and:{href_matches:/*},{not:{href_matches:/wp-*.php,/wp-admin/*,/wp-content/uploads/*,/wp-content/*,/wp-content/plugins/*,/wp-content/themes/twentyeleven/*,/*\\?(.+)}},{not:{selector_matches:arel~\nofollow\}},{not:{selector_matches:.no-prefetch, .no-prefetch a}}},eagerness:conservative}}/script>script typetext/javascript srchttps://akademia-vba.pl/wp-content/plugins/wp-syntax/js/wp-syntax.js?ver1.2 idwp-syntax-js-js>/script>script idwp-emoji-settings typeapplication/json>{baseUrl:https://s.w.org/images/core/emoji/17.0.2/72x72/,ext:.png,svgUrl:https://s.w.org/images/core/emoji/17.0.2/svg/,svgExt:.svg,source:{concatemoji:https://akademia-vba.pl/wp-includes/js/wp-emoji-release.min.js?ver6.9.1}}/script>script typemodule>/* !CDATA *//*! This file is auto-generated */const aJSON.parse(document.getElementById(wp-emoji-settings).textContent),o(window._wpemojiSettingsa,wpEmojiSettingsSupports),sflag,emoji;function i(e){try{var t{supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);tnew Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const anew Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)>eat)}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var ne.getImageData(16,16,1,1);for(let e0;en.data.length;e++)if(0!n.datae)return!1;return!0}function u(e,t,n,a){switch(t){caseflag:return n(e,\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f,\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f)?!1:!n(e,\ud83c\udde8\ud83c\uddf6,\ud83c\udde8\u200b\ud83c\uddf6)&&!n(e,\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f,\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f);caseemoji:return!a(e,\ud83e\u1fac8)}return!1}function f(e,t,n,a){let r;const o(rundefined!typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement(canvas)).getContext(2d,{willReadFrequently:!0}),s(o.textBaselinetop,o.font600 32px Arial,{});return e.forEach(e>{set(o,e,n,a)}),s}function r(e){var tdocument.createElement(script);t.srce,t.defer!0,document.head.appendChild(t)}a.supports{everything:!0,everythingExceptFlag:!0},new Promise(t>{let nfunction(){try{var eJSON.parse(sessionStorage.getItem(o));if(objecttypeof e&&numbertypeof e.timestamp&&(new Date).valueOf()e.timestamp+604800&&objecttypeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if(undefined!typeof Worker&&undefined!typeof OffscreenCanvas&&undefined!typeof URL&&URL.createObjectURL&&undefined!typeof Blob)try{var epostMessage(+f.toString()+(+JSON.stringify(s),u.toString(),c.toString(),p.toString().join(,)+));,anew Blob(e,{type:text/javascript});const rnew Worker(URL.createObjectURL(a),{name:wpTestEmojiSupports});return void(r.onmessagee>{i(ne.data),r.terminate(),t(n)})}catch(e){}i(nf(s,u,c,p))}t(n)}).then(e>{for(const n in e)a.supportsnen,a.supports.everythinga.supports.everything&&a.supportsn,flag!n&&(a.supports.everythingExceptFlaga.supports.everythingExceptFlag&&a.supportsn);var t;a.supports.everythingExceptFlaga.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((ta.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});//# sourceURLhttps://akademia-vba.pl/wp-includes/js/wp-emoji-loader.min.js/* > *//script>/body>/html>!-- Page cached by LiteSpeed Cache 7.7 on 2026-02-27 05:01:44 -->
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]