Stack layered lookup excel vba
$begingroup$
So this is code i wrote to check Product structure from 1 table in a database......so..... yea, why not right?
so its based on type which can have area(s) and area(s) can have group(s)
so I have
type and code area: blank group: blank
type and area and code group:blank
type and area and group and code
so as you can see it is stacked and the lookup is layered to find the correct code...Is there somethings I can do to improve it?
Public Function StackLayeredLookup()
Dim Start As Integer
Dim lStart As Integer
Dim cRows As Integer
Dim lRows As Integer
Dim TypeValue As String
Dim TypeCode As String
Dim AreaValue As String
Dim AreaCode As String
Dim GroupValue As String
Dim GroupCode As String
Dim aValue As String
Dim dValue As String
Const TypeCol = "G"
Const AreaCol = "H"
Const GroupCol = "I"
Const RegCol = "E"
Const tValueCol = "P"
Const aValueCol = "Q"
Const gValueCol = "R"
'Region = "MEX"
Start = 2
cRows = Worksheets(2).UsedRange.Rows.Count
lRows = Worksheets("TagCodes").UsedRange.Rows.Count
Do Until Start = cRows
TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value
If (TypeValue <> "") Then
TypeCode = ""
lStart = 1
Do Until TypeCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then
aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (aValue = " " And gValue = " ") Then
Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value
TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value
Exit Do
End If
Else
lStart = lStart + 1
End If
Loop
If (TypeCode = "") Then
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaValue <> "") Then
AreaCode = ""
lStart = 1
Do Until AreaCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then
Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (AreaCode = "") Then
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then
GroupCode = ""
lStart = 1
Do Until GroupCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then
Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (GroupCode = "") Then
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Start = Start + 1
Loop
End Function
vba
$endgroup$
add a comment |
$begingroup$
So this is code i wrote to check Product structure from 1 table in a database......so..... yea, why not right?
so its based on type which can have area(s) and area(s) can have group(s)
so I have
type and code area: blank group: blank
type and area and code group:blank
type and area and group and code
so as you can see it is stacked and the lookup is layered to find the correct code...Is there somethings I can do to improve it?
Public Function StackLayeredLookup()
Dim Start As Integer
Dim lStart As Integer
Dim cRows As Integer
Dim lRows As Integer
Dim TypeValue As String
Dim TypeCode As String
Dim AreaValue As String
Dim AreaCode As String
Dim GroupValue As String
Dim GroupCode As String
Dim aValue As String
Dim dValue As String
Const TypeCol = "G"
Const AreaCol = "H"
Const GroupCol = "I"
Const RegCol = "E"
Const tValueCol = "P"
Const aValueCol = "Q"
Const gValueCol = "R"
'Region = "MEX"
Start = 2
cRows = Worksheets(2).UsedRange.Rows.Count
lRows = Worksheets("TagCodes").UsedRange.Rows.Count
Do Until Start = cRows
TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value
If (TypeValue <> "") Then
TypeCode = ""
lStart = 1
Do Until TypeCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then
aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (aValue = " " And gValue = " ") Then
Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value
TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value
Exit Do
End If
Else
lStart = lStart + 1
End If
Loop
If (TypeCode = "") Then
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaValue <> "") Then
AreaCode = ""
lStart = 1
Do Until AreaCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then
Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (AreaCode = "") Then
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then
GroupCode = ""
lStart = 1
Do Until GroupCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then
Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (GroupCode = "") Then
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Start = Start + 1
Loop
End Function
vba
$endgroup$
add a comment |
$begingroup$
So this is code i wrote to check Product structure from 1 table in a database......so..... yea, why not right?
so its based on type which can have area(s) and area(s) can have group(s)
so I have
type and code area: blank group: blank
type and area and code group:blank
type and area and group and code
so as you can see it is stacked and the lookup is layered to find the correct code...Is there somethings I can do to improve it?
Public Function StackLayeredLookup()
Dim Start As Integer
Dim lStart As Integer
Dim cRows As Integer
Dim lRows As Integer
Dim TypeValue As String
Dim TypeCode As String
Dim AreaValue As String
Dim AreaCode As String
Dim GroupValue As String
Dim GroupCode As String
Dim aValue As String
Dim dValue As String
Const TypeCol = "G"
Const AreaCol = "H"
Const GroupCol = "I"
Const RegCol = "E"
Const tValueCol = "P"
Const aValueCol = "Q"
Const gValueCol = "R"
'Region = "MEX"
Start = 2
cRows = Worksheets(2).UsedRange.Rows.Count
lRows = Worksheets("TagCodes").UsedRange.Rows.Count
Do Until Start = cRows
TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value
If (TypeValue <> "") Then
TypeCode = ""
lStart = 1
Do Until TypeCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then
aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (aValue = " " And gValue = " ") Then
Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value
TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value
Exit Do
End If
Else
lStart = lStart + 1
End If
Loop
If (TypeCode = "") Then
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaValue <> "") Then
AreaCode = ""
lStart = 1
Do Until AreaCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then
Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (AreaCode = "") Then
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then
GroupCode = ""
lStart = 1
Do Until GroupCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then
Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (GroupCode = "") Then
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Start = Start + 1
Loop
End Function
vba
$endgroup$
So this is code i wrote to check Product structure from 1 table in a database......so..... yea, why not right?
so its based on type which can have area(s) and area(s) can have group(s)
so I have
type and code area: blank group: blank
type and area and code group:blank
type and area and group and code
so as you can see it is stacked and the lookup is layered to find the correct code...Is there somethings I can do to improve it?
Public Function StackLayeredLookup()
Dim Start As Integer
Dim lStart As Integer
Dim cRows As Integer
Dim lRows As Integer
Dim TypeValue As String
Dim TypeCode As String
Dim AreaValue As String
Dim AreaCode As String
Dim GroupValue As String
Dim GroupCode As String
Dim aValue As String
Dim dValue As String
Const TypeCol = "G"
Const AreaCol = "H"
Const GroupCol = "I"
Const RegCol = "E"
Const tValueCol = "P"
Const aValueCol = "Q"
Const gValueCol = "R"
'Region = "MEX"
Start = 2
cRows = Worksheets(2).UsedRange.Rows.Count
lRows = Worksheets("TagCodes").UsedRange.Rows.Count
Do Until Start = cRows
TypeValue = Worksheets(2).Range(TypeCol & CStr(Start)).Value
AreaValue = Worksheets(2).Range(AreaCol & CStr(Start)).Value
GroupValue = Worksheets(2).Range(GroupCol & CStr(Start)).Value
If (TypeValue <> "") Then
TypeCode = ""
lStart = 1
Do Until TypeCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = TypeValue) Then
aValue = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (aValue = " " And gValue = " ") Then
Worksheets(2).Range(tValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("B" & CStr(lStart)).Value
TypeCode = Worksheets(2).Range(tValueCol & CStr(Start)).Value
Exit Do
End If
Else
lStart = lStart + 1
End If
Loop
If (TypeCode = "") Then
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaValue <> "") Then
AreaCode = ""
lStart = 1
Do Until AreaCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = AreaValue) Then
gValue = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And gValue = " ") Then
Worksheets(2).Range(aValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("C" & CStr(lStart)).Value
AreaCode = Worksheets(2).Range(aValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (AreaCode = "") Then
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
If (TypeCode <> "" And AreaCode <> "" And GroupValue <> "") Then
GroupCode = ""
lStart = 1
Do Until GroupCode <> "" Or lStart = lRows + 1
If (Worksheets("TagCodes").Range("A" & CStr(lStart)).Value = GroupValue) Then
If (Worksheets("TagCodes").Range("B" & CStr(lStart)).Value = TypeCode And Worksheets("TagCodes").Range("C" & CStr(lStart)).Value = AreaCode And Worksheets("TagCodes").Range("D" & CStr(lStart)).Value <> " ") Then
Worksheets(2).Range(gValueCol & CStr(Start)).Value = Worksheets("TagCodes").Range("D" & CStr(lStart)).Value
GroupCode = Worksheets(2).Range(gValueCol & CStr(Start)).Value
Exit Do
Else
lStart = lStart + 1
End If
Else
lStart = lStart + 1
End If
Loop
If (GroupCode = "") Then
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(0, 255, 0)
End If
Else
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Else
Worksheets(2).Range(TypeCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(AreaCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
Worksheets(2).Range(GroupCol & CStr(Start)).Interior.Color = RGB(255, 0, 0)
End If
Start = Start + 1
Loop
End Function
vba
vba
asked 3 mins ago
BanMeBanMe
417
417
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "196"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f213282%2fstack-layered-lookup-excel-vba%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f213282%2fstack-layered-lookup-excel-vba%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown