« first day (2064 days earlier)      last day (1116 days later) » 
00:00 - 20:0020:00 - 00:00

12:00 AM
RELOAD!
[Minesweeper] Games Played: 49, Bombs Used: 24, Moves Performed: 6091, New Users: 10
RELOAD!
[rubberduck-vba/Rubberduck] 6 commits. 107 additions. 26 deletions. 1 issues closed. 5 issue comments
 
@jcrizk codereview.stackexchange.com/users/23788/mathieu-guindon. Before Mat changed his name he was known an Mat'sMug, abbreviated to Mug.
 
his "About Me" section is applause worthy
 
@MathieuGuindon twitter.com/laurieontech/status/1221058749596651520 is worth a RT. Readable code > Clever code.
Woot! Broke into top 10 of RD contributors. More enterweebs pionts 4 me.
 
@IvenBach it's that tigerblood
winning
 
Tigerblood? I got duckblood running through my veins.
 
12:16 AM
i stand corrected
 
1:14 AM
@IvenBach i expect the values in the range to update, which would affect some of the subsequent lines of code. was trying to pass the range not as a variant range...
 
1:35 AM
@this can i beg you for some more c# help please
it should be quick for right now
tldr is that with the strongly typed lists i have the individual classes for each meaningful vba value type (int, long, longlong, single, double, bool, date/currency)
date and currency just switch to the c# type underlying them dw
and i have these all inheriting from a base class ListWrapperBase
but i dont really get where im supposed to define the backing field for the list or how to do it
i currently have
private List<dynamic> list; in the backing class
which i then thought the derived implementations could override in their constructors with the correct generic type
but the compiler is yelling at me that i cant convert List<int> to List<dynamic>
so then i thought that i should keep the backing field in the base class completely abstract
but i have no idea how to do that with a generic because it expects a parameter
private List<> list; doesnt work obviously
so i have no idea what i should be doing, even after trying to read MS documentation on this
im surely missing something obvious but VBA to C# is a little less intuitive at times than it should be
im starting to get what Mat said about having to unlearn/relearn things
 
 
2 hours later…
3:27 AM
Duck check: ProcedureIsNotReferredTo is coming up for a Private Sub ModuleInitialize(). That doesn't feel right. Should be ignored when inside a module with the '@TestModule annotation?
Did a recently accepted PR change this behavior?
 
3:45 AM
'@ModuleDescription("Standard module to step through")
'Module1
Option Explicit

Public Sub MVCEExampleForCyril()
    Dim interfaceSourceArea As Range
    Set interfaceSourceArea = Sheet1.Range("C3").Resize(2, 2)
    interfaceSourceArea.Formula = "=""R""&ROW()&""C""&COLUMN()"
    Dim cyrilObjectAsInterface As ICyrilClass
    Set cyrilObjectAsInterface = CyrilClass.Create(interfaceSourceArea)

    Debug.Print cyrilObjectAsInterface.Dimension
    Debug.Print cyrilObjectAsInterface.ValueFromTopRightBackingField
'@Interface
'@Folder("Abstraction")
'@ModuleDescription("Interface allowing Read-only access")
'ICyrilClass
Option Explicit

Public Property Get Dimension() As Variant
End Property

Public Property Get ValueFromTopRightBackingField() As Variant
End Property

Public Property Get ValueFromBottomLeftBackingField() As Variant
End Property

Public Property Get ValueFromBottomRightBackingField() As Variant
End Property
'@PredeclaredId
'@Folder("Concretion")
'@ModuleDescription("Example to help Cyril understand class usage")
'CyrilClass
Option Explicit

Implements ICyrilClass

Private Type THelper
    BackingField As Range
End Type

Private this As THelper

Public Sub AssignSourceArea(ByVal value As Range)
    Const InvalidInput As Long = 5
    Const Source As String = "SourceArea"

    If value.Areas.Count > 1 Then
        Err.Raise InvalidInput, Source, "Non-contigous range provided."
    End If

    If value.Rows.Count <> 2 Or value.Columns.Count <> 2 Then
'@TestModule
'@Folder("Tests")
'TestCyrilClass
Option Explicit
Option Private Module

Private Assert As Object
Private Fakes As Object

'@ModuleInitialize
Private Sub ModuleInitialize()
    'this method runs once per module.
    Set Assert = CreateObject("Rubberduck.AssertClass")
    Set Fakes = CreateObject("Rubberduck.FakesProvider")
End Sub

'@ModuleCleanup
Private Sub ModuleCleanup()
    'this method runs once per module.
    Set Assert = Nothing
    Set Fakes = Nothing
End Sub

'@TestInitialize
@Cyril ^ Is what I came up with to try and breadcrumb you to comprehension.
 
4:23 AM
@Freeflow youtube.com/watch?v=y7Hyc3MRKno at 4:05 you get to see cool airplane related stuff. Thought it'd pique your interest.
 
4:48 AM
if you think that's cool, check this out

https://www.youtube.com/watch?v=cHThndE20oI
 
 
2 hours later…
7:08 AM
@IvenBach Are you on the very latest version of RD?
The issue about test related methods being reported by that inspection got fixed just yesterday.
 
8:04 AM
Then probably not. I pullled from next on my work machine. At home I thought I did. Will check after class tomorrow night.
 
8:51 AM
0
Q: How do i assign "ActiveCell.FormulaR1C1" to a String value of a cell instead of just a fixed String?

ChrisI am writing a code to display the properties of a Honda car when a macro button is pressed. However, i could only type fixed Strings like "Honda", "Motorized seats" etc. into the code which is not very flexible. I wish to replace "Honda" with the cell value so when i change the value of cell i...

 
 
3 hours later…
11:52 AM
@puzzlepiece87 there's a wiki for emoji? Of course there is... :/
 
 
1 hour later…
12:55 PM
@MathieuGuindon I've a couple of really basic questions for you on UserForm1.Show when you've got a min.
 
1:20 PM
Working my way through UserForm1.Show to create a simple login form for my Access app.
Access' forms don't seem to have a UserForm_QueryClose event that takes 2 parameters as you show in the example. The best I get is Form_Close() taking zero parameters.
As I'm understanding your article, the if CloseMode = vbQueryClose.vbFormControlMenu then : Cancel = True is to actually abort the "cancel" process initiated by clicking the [X] button. is that correct?
If so, how the heck do I abort that process in an Access form?
When I click the [X] it does drop into the Form_Close() event handler and executes OnCancel, but continues to close the form (by all appearances).
Second question:
I don't seem to have a .Show event. I get a boolean .Visible, but when I set that to True, it shows the form but doesn't pause to allow user interaction.
#ImDoingSomethingWrong...
 
2:10 PM
@IvenBach holy shit dude... thank you for that. just copied it all out so i can annotate and work towards the goal
 
2:27 PM
I'm now reading about [implement](https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/implements-statement) as i didn't know it existed; i hadn't made an interface, was just working on a class and using the same class... seeing those side by side makes a world of mental difference
Are the "@Folder()" references just where you store the modules?
 
'@Folder() is what builds the tree in RD's Code Explorer. Without it you're stuck with the horrible Forms, Basic Modules Class Modules sort order of the default Project Explorer
Organize your code any which way you like, and get rid of the HN naming conventions for your modules that used to be required to get stuff to sort together
 
copy; guess that will go on my list of things to read. thanks, @FreeMan
 
:thumbsup:
 
@FreeMan the article is about modal userforms, not Access forms =)
I know next to nothing about Access forms, they're document modules... not forms as far as VBA is concerned
 
2:53 PM
I was noting that there were differences... Is the MVP pattern still appropriate in this instance?
(maybe a better question for @this)
Or, would I be better off designing this as a userform instead? (Wonders how to do that...)
 
You can definitely do MVP on unbound Access forms
For bound Access forms, MVP seems... wrong.
The traditional manner to open Access forms is to use DoCmd.OpenForm, but that basically only work with the default instance... So that's equivalent to UserForm1.Show
To open an Access form in a similar manner to what Mat was suggesting for Userforms:
Private myForm As Form_Form1

Public Sub OpenMe()
  Set myForm = New Form_Form1
  myForm.Visible = True
End Sub

Public Sub CloseMe()
  Set myForm = Nothing
End Sub
 
This is most definitely unbound. A couple of labels and a UserID and Password text box to gather info from the user.
 
Note the scoping. That's important. If you let it out of the scope, the form goes away.
However, if you want to open a form as a dialog, you can't use that code. You must do DoCmd.OpenForm ... WindowMode:=acDialog
Note that you can set Modal property of the form but that does not have the same behavior -- the acDialog takes over the control of code execution and won't return until it has been closed or hidden whereas simply a modal form would not take over the control; it'd continue executing the rest of code after the opening.
Yes, you could use userforms in Access VBA project but in general I would not recommend it. It's not fully supported and you can get into errors with saving it in certain cases.
FWIW, I posted a CR post about making Access forms run as dialog piggybacking on Userform here: codereview.stackexchange.com/questions/180459/…
 
3:10 PM
I'll take a look at the CR post. Thanks to both of you. Imma try to do this right, but it sounds like Access doesn't want to make it easy. :/
 
It's because of the databinding
for login form which is unbound, it's easier and as I said, you can pretty much use MVP (with adjustments as indicated).
 
23 hours ago, by FreeMan
2 hours ago, by FreeMan
2 mins ago, by this
#BlameMicrosoft
 
@Cyril referencing a range like that is still an implicit public variable.
Other stuff can change it so be aware of that fact.
 
copy; trying to digest what was presented... i haven't made it to the test part, and i have honestly no idea about that entire aspect so will probably be asking conceptual questions in the next day or two
 
4:16 PM
@this a modal form does take control; execution resumes on the next instruction after the modal form is closed/hidden
it's non-modal forms that display and then continue executing the calling code
 
@MathieuGuindon in Access' language, that's not the same thing
a modal form doesn't take control; a dialog does.
Yay for Microsoft's consistency!
 
hm, modal == dialog where I sit :)
 
yeah, from the user's POV, a modal form and a dialog form is pretty much the same. But the code behaviors differently between those 2. :\
 
as far as I understand things, the only difference would be that a dialog returns some kind of result, like vbOk/vbCancel
anyway so a dialog is a modal form, but a modal form might not be a dialog
 
at least in Access' world, yeah
Hmm. Interesting. At win32 level there's no return.
No, I'm wrong - one has to call EndDialog to get it.
But the sucky thing about win32's dialogs is that CreateDialog and its variants all expect a template, and can't take an existing hWnd. That strongly implies you cannot have a open form and later make it a dialog.
 
4:58 PM
[rubberduck-vba/Rubberduck] BZngr pushed commit d3772dbe to next: Test ReferenceLibrary string names to enums
[rubberduck-vba/Rubberduck] BZngr pushed commit f703ce96 to next: Some clearnup unused elements
Merge pull request #5364 from BZngr/RemoveRefLibraryStrings

Replace string ReferenceLibrary keys
[rubberduck-vba/Rubberduck] build for commit 3da2aa09 on next: AppVeyor build failed
BUILD FAILURE!
 
Have you guys looked at packaging SQLite with RD?
It's basically an in-memory DB just for this kind of thing.
 
@RBarryYoung "what are all the dozens of different ways an Excel worksheet might break if I delete a public procedure in a VBA project" is not a good question to ask on this site, no. — Mathieu Guindon 8 secs ago
 
I have thought about it.
but didn't get that far with it.
(said the guy who has other PRs and todos on his list)
it'll be significant work that also needs to be benchmarked.
I'm also hesitant about using the in-process memory, as well.
 
5:15 PM
Yeah, just figured I'd throw it out there since I remembered a thread about using SQL Server Express.
 
yeah that's a hard no-go
 
You're a bit of a DB expert, right?
What do you think of SQL Server vs Postgres vs MariaDB?
 
@Duga love how the actual failure is nowhere near the error code
lol "a bit"
 
Honestly, I'd rather use either SQL Server or PostgreSQL.
 
I'm reconsidering the DB I'm using in a personal project.
 
5:17 PM
MariaDB/MySQL feels too loosey-goosey / fragmented.
when it was just MySQL, it was great for what it did
(e.g. provide a free simple to use DB for small web projects)
but as soon as you need a "fat" database, I find it fairly disappointing.
 
I'm leaning toward using SQL Server Express ATM. Only issue is it's harder to integrate it with Docker.
 
and I'm generally inclined toward fat database because SQL excels in the domain of managing data and you want as much as logic in that domain, not in the code.
for that reason, both PostgreSQL and SQL Server are very good candidate
 
The other thing I'm considering is just using Mongo.
I need Mongo anyway for unstructured data.
And it works perfectly well with structured data too.
 
for a small project, it certainly make sense to avoid investing into multiple database technology.
so if MongoDB meets all what you need to do, then go for it.
I've never actually worked on MongoDB.
 
[rubberduck-vba/Rubberduck] build for commit 3da2aa09 on next: AppVeyor build failed
BUILD FAILURE!
 
5:25 PM
@Duga oh, there's an invalidcastexception
how tf did the branch build then???
 
@MathieuGuindon It, umm, didn't?
Or, perhaps it's in the tests--they don't get compiled when you build the main projects.
 
it is in RDTests
 
Yeah, that project isn't built when you build the startup project.
 
hi @Allen, welcome to our little place on the Internet :)
great, and the source branch was deleted ugh, wrong PR
 
@Hosch250 AV is supposed to build all, including the tests. Even locally, it should get built if you build the solution
 
5:28 PM
@Allen welcome to the pond.
 
[rubberduck-vba/Rubberduck] web-flow pushed commit 8bcd3cf8 to revert-5364-RemoveRefLibraryStrings: Revert "Replace string ReferenceLibrary keys"
 
Trying to get back to IAddComponentService and I'm no closer to understanding it at all.
 
@this Correct. That's why the AV was failing, and if you build the solution, it would've failed there too.
But just debug-testing it isn't going to report a failure in the tests.
 
no, the PR passed all CI checks
 
Oh, it did?
Weird :(
 
5:30 PM
I wouldn't have merged it otherwise...
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request head (`revert-5364-RemoveRefLibraryStrings@8bcd3cf`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-head-commit).
> The diff coverage is `n/a`.
> Merge commit for linked PR failed to build on [next].
 
BTW, there's a setting in VS (I forget where) to auto-run tests on a build.
Pretty handy for stuff like that.
 
the problem isn't with the local build
the problem is that GitHub ran the CI checks, then other PRs were merged, and the CI checks were not re-ran.
and I was expecting GitHub to make the merge button red if something was off
 
> The merge commit for this PR failed to build, #5368 reverts this changeset to keep [next] a green build.
 
5:34 PM
@Duga geez you okay?
damn I put the comment on the wrong PR
 
@MathieuGuindon Duga is now asking if you're okay.
;-)
 
I do have a question about the PR. To be honest, it doesn't feel clean to have two events; one being basically a "high priority" version of the other. Why can't it be a part of the event argument to indicate the priority instead?
 
good question
ok screw this, I'm done.
@TimWilliams fine, I've put in the 3rd reopen vote. Question strikes me as something that can only be answered with an ever-growing list of Excel features, but eh whatever, I've cast my last vote-to-close on this site. — Mathieu Guindon 57 secs ago
OPEN THE FLOODGATES!
 
5:49 PM
seriously
juice the numbers
 
<~ might have posted his last SO answer, too.
although, that's ...harder than I'd like to admit
 
I honestly don't blame you.
 
OTOH, more than half my answers should really have been dupe-hammer close votes.
literally every single freakin' VBA question that comes up on the ticker feed is a dupe that's been answered twenty times over already
 
literally
I'm not on CR that much. Is the quality over there any better? I'm guessing probably, because there actually is code in the question?
 
5:54 PM
it's definitely way higher than SO, but then again there's a continuous stream of people coming to CR asking for debugging help
insta-close
 
so what's the answer? Codidact, reddit?
 
IDK
I think I just need a break
 
fair.
I've always wondered how SO balances the supply of answerers vs. the demand of askers.
If the answerers just stop, what's SO's answer?
 
nah. They'll just reform themselves into a Q & Q site.
 
5:56 PM
lol
 
and yet I was just told by a 100K+ and a 45K+ rep SO long-timers, that what I read as a blatantly off-topic question is actually perfectly fine
so, I must be in the wrong
hence I voted to reopen, and I'm done with closing crap on SO
 
eh from what I've seen Tim doesn't close questions as much as I'd argue he should
 
tbh, it's a reasonable question
 
As far as new "gimme-the-codez" questions, I downvote and vote to close. No time for leaving comments unfortunately.
it's a reasonable question - but I don't see how you can actually give an accurate answer: "-what-are-all-the-ways-a-macro-can-be-called"?
I'd side with Cindy's suggestion - try it and break it, then you'll find out.
 
wouldn't that be a case of community wiki where you can update the answer as needed?
note that I know nothing about SO curating whatsoever.
 
6:02 PM
hmmm that's an idea
 
Gonna love how there's lot of goop around the host and VBA project that you can never be sure if a piece of code is truly dead or not.
 
@this I also think that having two events is a bit clunky. However, I do not plan to write my own event handling framework.
Moreover, putting anything on the event arguments would not change anything.
 
@this "goop". I like that term in this application.
 
It is the event for higher priority handlers.
 
looking for all the places a bit of unknown code could be called from sounds very much like looking for all the places a workbook link could be hiding.
 
6:06 PM
The event is triggered from the same method as the usual one; it just runs the handlers for the high priority one first.
 
who are the higher priority handlers and why are they higher priority though?
 
The high priority one is the status label change.
We had the problem described in the PR.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
When the inspections start to run, the inspector changes the label to Inspecting and reverts to Ready once the inspections are done.
It runs async.
 
6:15 PM
TBH, I'm not a huge fan of that "inspecting" state.
We don't have a "testing" state or a "finding todo markers" state, etc.
 
Because of the internal implementation of event handling in .Net, the execution order of inspection handlers was that the inspections were triggered before the status label change for the status change.
 
@Hosch250 that's actually a very good argument against it
 
@Hosch250 It is just a label change, not a state.
 
To the end user, it's a "state", though.
 
to the end user, it says "ducky is doing something"
 
6:16 PM
I'm a bit confused, though. If the label changes first via the higher priority handler, why doesn't it get hijacked in the normal event that follows?
 
It tells you that something from the parse is still going on.
 
On another note, I just realized we could put a status bar on the inspections.
 
Let me continue.
 
It wouldn't be a perfect one, but it could be the percentage of completed inspectors.
 
@Hosch250 the spinning duckies kinda do that
hm
 
6:17 PM
So, you could see when 50% of the inspections have finished running, even if it's not 50% by time.
 
The problem with the inspections running first is that the status label change for the status change overwrites the label change to Inspecting.
 
@M.Doerner Didn't mean to cut you off. Please do.
 
@M.Doerner makes sense... so we'd get "inspecting..." at random/inappropriate times
 
This makes it look as if the inspections finished immediately.
No we do not get Inspecting at inappropriate times.
We revert to Ready way too early.
 
6:19 PM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
If the handlers run in the expected order the label change is Resolving REferences -> Ready -> Inspecting -> Ready.
However, we currently have Resolving References -> Inspecting -> Ready.
Hm, I think it is actually Resolved References.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@M.Doerner IIRC you'd need a very, very slow computer to visually see that state in the label :)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
(because "Ready" is fired pretty much immediately after)
 
6:25 PM
just a thought... if it was a subcaption, would that avoid the need?
e.g. Ready - Inspecting
 
I see that state regularly.
 
I think the reason why there's no dedicated status button for inspections (or tests or whatever) is because we don't want to have multiple toolbars
 
Just take any project with 150+ forms.
 
Anyway, the status change is not the first handler that runs for Ready so far.
I even think it is the last.
 
6:27 PM
@this and the reason we have a status button/label on a toolbar, is because VBE doesn't have a status bar in the first place :)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@M.Doerner yes, this!
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@M.Doerner am I the only one who heard Rodney Dangerfield "take my wife. Please!" ??
 
a subcaption would just let us (ab)use the existing toolbar, though.
 
6:33 PM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
> This fix is in 3.1.2 which is scheduled to release 2/18. Obviously things can happen between here and there to impact the final date but, that's the target.
Question: do we still want to get off the patched sunburst?
@MathieuGuindon which would become moot once we go Avalon.... AvalonMentions++;
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@this I would think so, yes. One less dependency, right?
 
yeah but no support for VS 2017, though.
hmm. can it be conditional.... I kind of doubt it but I could look into that.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
6:48 PM
@this hesitate to ask knowing the flaming hoops from hell you've jumped through on this in the past... would it be possible to have a 2017 build process (frozen with no changes to be applied) and a 2019 build process (maintained from here forward)?
The user just runs the one appropriate for his/her version of VS
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
Also, FTR, AvalonMentions = 196 (well, 197, now)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@MathieuGuindon The question is valid. It just looks like a no-research-done-gimme-answers type question. :+1: for swearing off SO. Stick to CR.
 
@FreeMan ouch
 
6:57 PM
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@this oh, I was thinking we were going to just ditch 2017... like we ditched 2015 when ...was it when we started using C#6?
@IvenBach eh, answering on CR is awesome... for a while. can be a long, long while. but eventually, you start feeling like a broken record that's constantly writing the same thing over and over...
and that's when you either take a break, or start reviewing other languages
 
0
Q: Adds text to specific cells then bolds one column and copies it to target sheet removing bolded column. Makes last column red

StruneSheet 1 I am very new to coding and have received alot of help from stack overflow to complete this code. I wanna hear if it is possible to shorten the code and make it more effective? It does exactly what i need it to do now. Just takes a bit of time. Private Sub CommandButton1_Click() Dim ws...

 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
I've hit that point too. I first did it to ego-boost/prove to myself I knew what I was doing. Then it became wanting to help others learn in the way you all helped me. Now it's a lot of BTDT answers for Option Explicit, Use descriptive variable names, extract into a dedicated function.
If CR isn't as fulfilling how about helping me struggle through mocking and finishing up my extract interface PR?
I may have time an a couple hours.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:05 PM
@QuackExchange OP let me introduce you to conditional formatting. It's magical.
 
seriously
 
@MathieuGuindon TBH, it sounds like a "bigger than a bread box" kinda problem. Not surprising that there's been a lot of talk and not too much action. (yet)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@IvenBach see, that's a nice, short CR, and it's something NEW!
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:11 PM
@FreeMan steps back from the cliff with lake of fire below
@MathieuGuindon I have no problem with ditching 2017 personally. Just want to be sure we don't leave out potential contributors in cold if we do so.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@this figured as much, but thought I'd ask.
@this there will always be those who are stuck on a version for the job, but most contributing from home should be able to install whatever version they want, right? Heck, you can't DL and install VS2017 from MS anymore. (Unless I just don't know the proper incantations to find it.)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
hey, @Duga what's with all the codecov spam??
 
@Duga why are you spamming us, mister codecov?
 
7:16 PM
jinx
 
@MathieuGuindon we really should try and break it down into bite sized pieces, though. Otherwise nobody will want to take it up.
or find a college intern
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@IvenBach Those are just the easy things. I burned out of saying that stuff too, then I looked for something deeper. Look at the architecture--tell them how they can do OOP instead of Procedural and help them restructure the code.
Eventually, I kind of burned out of that kind of thing too and mostly quit.
 
Natural progression for developers? Start with basic syntax, move on to more succinct syntax. Then get into design pattern, etc...
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:30 PM
@Hosch250 same
 
You're reinventing TEXTJOIN? There are already UDF examples of it here on SO. You could possibly use ParamArray. — BigBen 5 mins ago
 
@this we had one of those once, didn't we? What did we do with him...
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
Uggh I am become less friendlly
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:34 PM
@FreeMan he went on to become a millionaire, I think.
 
@this I should go back to college then
 
I disabled the codecov webhook
Can't have it spamming us....
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
hmm WTF
I guess it's actually the duga webhook we want to disable
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:39 PM
Well, @MathieuGuindon @Vogel612 I have no idea what's making Duga or CodeCov going in a circle.
I'm almost tempted to flag Duga as spam...
 
@this I sure as heck worked at the wrong place when I was in college!
I think Duga got to the end of her record and somebody just needs to put the tone-arm back on the rest. #OldSkewl #GetOffMahLawn
Do we need to call in Simon?
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
@FreeMan because I'm a young whippersnapper, I don't follow how being at end of record cause it to go in a loop. If you're out of the reel, how would you repeat the last instruction?
I kind of doubt it - if it's Codecov that's confused, then Duga is just parroting Codecov's confusion, so technically wouldn't be her fault.
 
sigh...
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
oooh, a vinyl record. I was thinking of reels to reels.
I did say I was a young whippersnapper....
 
yeah, a reel to reel just gives you a "whack, whack, whack, whack" sound as the last bit of tape hits stuff on its way 'round
of course, when you said "end of record" I thought you had your SQL hat on.
 
@FreeMan well, certain types self-combust, too.
 
ummmm... yikes?
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:49 PM
oh, nevermind.
"Your mission, should you chose to accept it..."
 
Yep
absolutely love that tv series. Yes, it's ridiculously old school but the right kind of old school.
 
I actually watched the first Tom Cruise MI movie just a few weeks ago.
Don't think I've seen any of the original TV series
 
did you know that the original cast wasn't very.... receptive of Tom's take.
 
didn't know that. Not at all shocked
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
7:52 PM
In fact, one left in middle of the viewing. Having seen both, I can see why the original cast can't play along with Tom's take.
 
Having not seen the original, Tom's isn't bad. However, I can see where it may have deviated quite significantly from the spirit of the original (1966 and all...)
 
I think if Tom just made it his own, it wouldn't have been that such a big deal.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=h1) Report
> Merging [#5368](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5368?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3da2aa0963ff51f60a42226ddeb6d0f57daf62d4?src=pr&el=desc) will **decrease** coverage by `0.33%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #5368 +/- ##
==========================
 
It wasn't stellar "Must see cinema", but it wasn't Peewee's Big Adventure horrible.
 
I did like some stuff in Tom's MI:1 - haven't seen later, though.
^
but the spirit is definitely wayyyy different
TBH it does annoys me a bit that hollywood is in the "let's remake original!" glut for a good while.
it's as if they're absolutely petrified of writing anything actually new or gasps original!
so they'd rather just butcher up classics.
 
7:57 PM
Frankly, they've run out of ideas.
Big Doctor Who fan, but the last 3.5 seasons have been meh at best. They're just trying too hard.
 
That's BBC, not Hollywood, though, right?
 
yeah. same group think, though.
 
which is depressing.
 
00:00 - 20:0020:00 - 00:00

« first day (2064 days earlier)      last day (1116 days later) »