I am Getting following error while using fragmentContainerview for navhost fragment in main activity - android-studio
i've tried many way to resolve this issue but ploblem still occures for every new project i create in android studio using java i need help to solve this issue
java.lang.RuntimeException: Cycle found (count=51) evaluating 'activity_main' with path 'PathString filesystemUri="file:///F:/" path="F:\AndroidStudio\AndroidProjects\PetrolRequestClient\app\src\main\res\layout\activity_main.xml" startIndex=3 suffixEndIndex=94 prefixEndIndex=3 separator='\'' (parserFiles=file://F:\AndroidStudio\AndroidProjects\PetrolRequestClient\app\src\main\res\layout\activity_main.xml)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.getParser(LayoutlibCallbackImpl.java:472)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.getParser(LayoutlibCallbackImpl.java:447)
at com.android.layoutlib.bridge.impl.ResourceHelper.getXmlBlockParser(ResourceHelper.java:321)
at android.content.res.Resources_Delegate.getLayout(Resources_Delegate.java:491)
at android.content.res.Resources.getLayout(Resources.java:1252)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:140)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater_Delegate.parseInclude(LayoutInflater_Delegate.java:204)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1165)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
at android.view.LayoutInflater.inflate(LayoutInflater.java:686)
at android.view.LayoutInflater.inflate(LayoutInflater.java:505)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:359)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:436)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:121)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:717)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$9(RenderTask.java:873)
at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$3.run(RenderExecutor.kt:192)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
i've tried many way to resolve this issue but ploblem still occures for every new project i create in android studio using java i need help to solve this issue
Related
Is there a way to speed up formatting thousands of lines?
I have made the following code which removes the need for a for loop but it still freezes up Excel. This code essentially will format 8 rows a specific way with borders, number formats, etc. I need to speed this up as I am running this alongside another macro I wrote that works in a reasonable amount of time but adding this formatting messes with something. Sub Format() 'Borders Range("A2:F9,G2:I3,G4:I5,G6:I7,G8:I9,J2:V3,J4:V5,J6:V7,J8:V9,W2:W9,X2:AI3,X4:AI5,X6:AI7,X8:AI9,AJ2:AJ9").Select With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With 'Format percentages Range("X3:AI3,X5:AI5,X7:AI7,X9:AI9").Select Selection.NumberFormat = "0.00%" Range("F:F,J2:W" & endRow).Select Selection.NumberFormat = "0" Range("J1:V1").Select Selection.NumberFormat = "mmm-yy" Range("X1:AI1").Select Selection.NumberFormat = "mmm" 'Text Alignment Range("A:A,C:C,D:D,F:AJ").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .ReadingOrder = xlContext End With Range("A2:AJ9").Copy Range("A2:AJ" & endRow).Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Range("A1,C1,D1,F1:I1,W1,AJ1").EntireColumn.AutoFit Range("B1").ColumnWidth = 32 Range("E1").ColumnWidth = 40 Range("J1:V1,X1:AI1").ColumnWidth = 7.5 End Sub The variable endRow is determined elsewhere as this macro is called inside of another. For simplicity let's assume the endRow = 80,002 (The extra 2 accounts for the headers). Edit 1: For clarification there is a header row and then the data to be formatted is below. A few lines of this code modifies the header data so the following is the code without the headers being formatted for clarity on the problem. Sub Format() 'Borders Range("A2:F9,G2:I3,G4:I5,G6:I7,G8:I9,J2:V3,J4:V5,J6:V7,J8:V9,W2:W9,X2:AI3,X4:AI5,X6:AI7,X8:AI9,AJ2:AJ9").Select With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With 'Format percentages Range("X3:AI3,X5:AI5,X7:AI7,X9:AI9").Select Selection.NumberFormat = "0.00%" Range("F:F,J2:W" & endRow).Select Selection.NumberFormat = "0" 'Text Alignment Range("A:A,C:C,D:D,F:AJ").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .ReadingOrder = xlContext End With Range("A2:AJ9").Copy Range("A2:AJ" & endRow).Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Range("A1,C1,D1,F1:I1,W1,AJ1").EntireColumn.AutoFit Range("B1").ColumnWidth = 32 Range("E1").ColumnWidth = 40 Range("J1:V1,X1:AI1").ColumnWidth = 7.5 End Sub Edit 2: I tried what Tim Williams suggested but that just causes all cells to have all borders which I do not want. Edit 3: This post is getting rather long, but here is what I have come up with that I suspect could be further optimized but I am unsure of as to how that would be accomplished. Sub Format() Dim rng As Range Set rng = Sht.Range("A2:F9,G2:I3,G4:I5,G6:I7,G8:I9,J2:V3,J4:V5,J6:V7,J8:V9,W2:W9,X2:AI3,X4:AI5,X6:AI7,X8:AI9,AJ2:AJ9") 'Borders With rng.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With rng.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With rng.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With rng.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With 'Format percentages Range("X3:AI3,X5:AI5,X7:AI7,X9:AI9").NumberFormat = "0.00%" Range("F:F,J2:W" & endRow).NumberFormat = "0" Range("J1:V1").NumberFormat = "mmm-yy" Range("X1:AI1").NumberFormat = "mmm" 'Text Alignment With Range("A:A,C:C,D:D,F:AJ") .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .ReadingOrder = xlContext End With Range("A2:AJ9").Copy Range("A2:AJ" & endRow).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Range("A1,C1,D1,F1:I1,W1,AJ1").EntireColumn.AutoFit Range("B1").ColumnWidth = 32 Range("E1").ColumnWidth = 40 Range("J1:V1,X1:AI1").ColumnWidth = 7.5 End Sub
Format Thousands of Lines Sub Format() Const EndRow As Long = 80001 Application.ScreenUpdating = False With ActiveSheet ' improve! ' Borders With .Range("A2:F9,G2:I3,G4:I5,G6:I7,G8:I9,J2:V3,J4:V5," _ & "J6:V7,J8:V9,W2:W9,X2:AI3,X4:AI5,X6:AI7,X8:AI9,AJ2:AJ9") With .Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With .Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With .Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With .Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With End With ' Number Formats .Range("X3:AI3,X5:AI5,X7:AI7,X9:AI9").NumberFormat = "0.00%" .Range("F1:F9,J2:W9").NumberFormat = "0" .Range("J1:V1").NumberFormat = "mmm-yy" .Range("X1:AI1").NumberFormat = "mmm" ' Text Alignment With .Range("A1:A9,C1:C9,D1:D9,F1:AJ9") .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .ReadingOrder = xlContext End With ' Copy Down Formats .Range("A2:AJ9").Copy .Range("A2:AJ" & EndRow).PasteSpecial Paste:=xlPasteFormats ' Column Widths .Range("A1,C1,D1,F1:I1,W1,AJ1").EntireColumn.AutoFit .Range("B1").ColumnWidth = 32 .Range("E1").ColumnWidth = 40 .Range("J1:V1,X1:AI1").ColumnWidth = 7.5 End With Application.CutCopyMode = False Application.ScreenUpdating = True End Sub Argumented Rewrite the previous sub by adding the worksheet argument. Sub FormatSheet(ByVal ws As Worksheet) Const EndRow As Long = 80001 Application.ScreenUpdating = False With ws End With Application.CutCopyMode = False Application.ScreenUpdating = True End Sub Finally, call the sub from another sub. Sub Test() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") FormatSheet ws End Sub Similarly, you could add the EndRow argument... Sub FormatSheet2(ByVal ws As Worksheet, ByVal EndRow As Long) End Sub and call it with e.g.: FormatSheet2 ws, 80001
create 2 new class modules and call them by whatever name you want, just for the sake of explanation let's call them SettingClass1 and SettingClass2. On SettingClass1 write the following code: Option Explicit Private calculation As XlCalculation Private displayStatus As Boolean Private enableEvents As Boolean Private screenUpdating As Boolean Public Sub Backup() calculation = Application.calculation displayStatus = Application.DisplayStatusBar enableEvents = Application.enableEvents screenUpdating = Application.screenUpdating End Sub Public Sub Restore() Application.calculation = calculation Application.DisplayStatusBar = displayStatus Application.enableEvents = enableEvents Application.screenUpdating = screenUpdating End Sub Public Sub TurnOff() Call Backup Application.calculation = xlCalculationManual Application.DisplayStatusBar = False Application.enableEvents = False Application.screenUpdating = False End Sub Public Sub TurnOn() Application.calculation = xlCalculationAutomatic Application.DisplayStatusBar = True Application.enableEvents = True Application.screenUpdating = True End Sub After that on SettingClass2 write the following code: Option Explicit Private Interactive As Boolean Private DisplayAlerts As Boolean Private AskUpdateLinks As Boolean Public Sub Backup() Interactive = Application.Interactive DisplayAlerts = Application.DisplayAlerts AskUpdateLinks = Application.AskToUpdateLinks End Sub Public Sub Restore() Application.Interactive = Interactive Application.DisplayAlerts = DisplayAlerts Application.AskToUpdateLinks = AskUpdateLinks End Sub Public Sub TurnOff() Call Backup Application.Interactive = False Application.DisplayAlerts = False Application.AskToUpdateLinks = False End Sub Public Sub TurnOn() Application.Interactive = True Application.DisplayAlerts = True Application.AskToUpdateLinks = True End Sub Afterwards edit your code by adding: Sub Format() Dim settings As New SettingClass1 Dim settingsAlerts As New SettingClass2 settings.TurnOff settingsAlerts.TurnOff 'Borders Then at the end of your code add: Range("J1:V1,X1:AI1").ColumnWidth = 7.5 settings.TurnOn settingsAlerts.TurnOn End Sub I have noticed that in your code sht isn't declared or set anywhere, and also endRow. So I wrote the code declaring sht as a worksheet and endRow as a Long, however you need to set sht and assign a value to endRow. You can also optimize further your code by changing it like this: Sub Format() Dim settings As New SettingClass1 Dim settingsAlerts As New SettingClass2 settings.TurnOff settingsAlerts.TurnOff Dim rng As Range Dim area As Variant Dim sht As Worksheet Dim endRow as Long 'Code here to set the worksheet sht 'Set sht = '''whatever you need to write here to set the worksheet 'Code here to assign a value to endRow 'endRow = '''whatever you need to write here to assign the appropiate value to endRow Set rng = sht.Range("A2:F9,G2:I3,G4:I5,G6:I7,G8:I9,J2:V3,J4:V5,J6:V7,J8:V9,W2:W9,X2:AI3,X4:AI5,X6:AI7,X8:AI9,AJ2:AJ9") 'Borders For Each area In rng.areas With area With .Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With .Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With .Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With .Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With End With Next area 'Format percentages With sht Set rng = .Range("X3:AI3,X5:AI5,X7:AI7,X9:AI9") For Each area In rng.areas With area .NumberFormat = "0.00%" End With Next area Set rng = .Range("F:F,J2:W" & endRow) For Each area In rng.areas With area .NumberFormat = "0" End With Next area .Range("J1:V1").NumberFormat = "mmm-yy" .Range("X1:AI1").NumberFormat = "mmm" 'Text Alignment Set rng = .Range("A:A,C:C,D:D,F:AJ") For Each area In rng.areas With area .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .ReadingOrder = xlContext End With Next area .Range("A2:AJ9").Copy .Range("A2:AJ" & endRow).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Set rng = .Range("A1,C1,D1,F1:I1,W1,AJ1") For Each area In rng.areas With area .EntireColumn.AutoFit End With Next area .Range("B1").ColumnWidth = 32 .Range("E1").ColumnWidth = 40 Set rng = .Range("J1:V1,X1:AI1") For Each area In rng.areas With area .ColumnWidth = 7.5 End With Next area End With settings.TurnOn settingsAlerts.TurnOn End Sub Let me know how this works for you. UPDATE: You can call functions and subs by using the following functions, choose carefully if you need to run a sub, a function that returns a variable which can be stored in a variant, or a variable that needs to be stored on an object. The optional arguments can only be variants, not objects, so you can't pass a worksheet as argument. wbk should be set to be the workbook where the macro you want to run is located, MacroName should be the name of the function/sub that you want to run. It will not work if the workbook is located on OneDrive, if such is the case I can modify the provided functions to work also if the workbook is located on the OneDrive. Public Function RunFunctionObject(wbk As Workbook, MacroName As String, Optional Arg1 As Variant = "", _ Optional Arg2 As Variant = "", Optional Arg3 As Variant = "", Optional Arg4 As Variant = "", Optional Arg5 As Variant = "", _ Optional Arg6 As Variant = "", Optional Arg7 As Variant = "", Optional Arg8 As Variant = "", Optional Arg9 As Variant = "", _ Optional Arg10 As Variant = "", Optional Arg11 As Variant = "", Optional Arg12 As Variant = "", Optional Arg13 As Variant = "", _ Optional Arg14 As Variant = "", Optional Arg15 As Variant = "", Optional Arg16 As Variant = "", Optional Arg17 As Variant = "", _ Optional Arg18 As Variant = "", Optional Arg19 As Variant = "", Optional Arg20 As Variant = "", Optional Arg21 As Variant = "", _ Optional Arg22 As Variant = "", Optional Arg23 As Variant = "", Optional Arg24 As Variant = "", Optional Arg25 As Variant = "", _ Optional Arg26 As Variant = "", Optional Arg27 As Variant = "", Optional Arg28 As Variant = "", Optional Arg29 As Variant = "", _ Optional Arg30 As Variant = "") As Object 'RunFunctionObject executes the function named MacroName which is found on the workbook Wbk _ ' and returns the functions RETURN object Dim MacroString As String MacroString = "'" & wbk.Path & Application.PathSeparator & wbk.name & "'!" & MacroName If Arg1 = "" Then Set RunFunctionObject = Application.Run(MacroString) ElseIf Arg2 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1) ElseIf Arg3 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2) ElseIf Arg4 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3) ElseIf Arg5 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4) ElseIf Arg6 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg5) ElseIf Arg7 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6) ElseIf Arg8 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7) ElseIf Arg9 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8) ElseIf Arg10 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9) ElseIf Arg11 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10) ElseIf Arg12 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11) ElseIf Arg13 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12) ElseIf Arg14 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13) ElseIf Arg15 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14) ElseIf Arg16 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15) ElseIf Arg17 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16) ElseIf Arg18 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17) ElseIf Arg19 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18) ElseIf Arg20 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19) ElseIf Arg21 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20) ElseIf Arg22 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21) ElseIf Arg23 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22) ElseIf Arg24 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23) ElseIf Arg25 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24) ElseIf Arg26 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25) ElseIf Arg27 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26) ElseIf Arg28 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27) ElseIf Arg29 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28) ElseIf Arg30 = "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29) ElseIf Arg30 <> "" Then Set RunFunctionObject = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30) End If End Function Public Function RunFunctionVariant(wbk As Workbook, MacroName As String, Optional Arg1 As Variant = "", _ Optional Arg2 As Variant = "", Optional Arg3 As Variant = "", Optional Arg4 As Variant = "", Optional Arg5 As Variant = "", _ Optional Arg6 As Variant = "", Optional Arg7 As Variant = "", Optional Arg8 As Variant = "", Optional Arg9 As Variant = "", _ Optional Arg10 As Variant = "", Optional Arg11 As Variant = "", Optional Arg12 As Variant = "", Optional Arg13 As Variant = "", _ Optional Arg14 As Variant = "", Optional Arg15 As Variant = "", Optional Arg16 As Variant = "", Optional Arg17 As Variant = "", _ Optional Arg18 As Variant = "", Optional Arg19 As Variant = "", Optional Arg20 As Variant = "", Optional Arg21 As Variant = "", _ Optional Arg22 As Variant = "", Optional Arg23 As Variant = "", Optional Arg24 As Variant = "", Optional Arg25 As Variant = "", _ Optional Arg26 As Variant = "", Optional Arg27 As Variant = "", Optional Arg28 As Variant = "", Optional Arg29 As Variant = "", _ Optional Arg30 As Variant = "") As Variant 'RunFunctionVariant executes the function named MacroName which is found on the workbook Wbk _ ' and returns the functions RETURN variable Dim MacroString As String MacroString = "'" & wbk.Path & Application.PathSeparator & wbk.name & "'!" & MacroName If Arg1 = "" Then RunFunctionVariant = Application.Run(MacroString) ElseIf Arg2 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1) ElseIf Arg3 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2) ElseIf Arg4 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3) ElseIf Arg5 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4) ElseIf Arg6 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg5) ElseIf Arg7 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6) ElseIf Arg8 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7) ElseIf Arg9 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8) ElseIf Arg10 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9) ElseIf Arg11 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10) ElseIf Arg12 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11) ElseIf Arg13 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12) ElseIf Arg14 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13) ElseIf Arg15 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14) ElseIf Arg16 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15) ElseIf Arg17 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16) ElseIf Arg18 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17) ElseIf Arg19 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18) ElseIf Arg20 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19) ElseIf Arg21 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20) ElseIf Arg22 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21) ElseIf Arg23 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22) ElseIf Arg24 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23) ElseIf Arg25 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24) ElseIf Arg26 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25) ElseIf Arg27 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26) ElseIf Arg28 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27) ElseIf Arg29 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28) ElseIf Arg30 = "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29) ElseIf Arg30 <> "" Then RunFunctionVariant = Application.Run(MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30) End If End Function Public Sub RunSub(wbk As Workbook, MacroName As String, Optional Arg1 As Variant = "", _ Optional Arg2 As Variant = "", Optional Arg3 As Variant = "", Optional Arg4 As Variant = "", Optional Arg5 As Variant = "", _ Optional Arg6 As Variant = "", Optional Arg7 As Variant = "", Optional Arg8 As Variant = "", Optional Arg9 As Variant = "", _ Optional Arg10 As Variant = "", Optional Arg11 As Variant = "", Optional Arg12 As Variant = "", Optional Arg13 As Variant = "", _ Optional Arg14 As Variant = "", Optional Arg15 As Variant = "", Optional Arg16 As Variant = "", Optional Arg17 As Variant = "", _ Optional Arg18 As Variant = "", Optional Arg19 As Variant = "", Optional Arg20 As Variant = "", Optional Arg21 As Variant = "", _ Optional Arg22 As Variant = "", Optional Arg23 As Variant = "", Optional Arg24 As Variant = "", Optional Arg25 As Variant = "", _ Optional Arg26 As Variant = "", Optional Arg27 As Variant = "", Optional Arg28 As Variant = "", Optional Arg29 As Variant = "", _ Optional Arg30 As Variant = "") 'RunSub executes the sub named MacroName which is found on the workbook Wbk Dim MacroString As String MacroString = "'" & wbk.Path & Application.PathSeparator & wbk.name & "'!" & MacroName If Arg1 = "" Then Application.Run MacroString ElseIf Arg2 = "" Then Application.Run MacroString, Arg1 ElseIf Arg3 = "" Then Application.Run MacroString, Arg1, Arg2 ElseIf Arg4 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3 ElseIf Arg5 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4 ElseIf Arg6 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg5 ElseIf Arg7 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6 ElseIf Arg8 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7 ElseIf Arg9 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8 ElseIf Arg10 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9 ElseIf Arg11 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10 ElseIf Arg12 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11 ElseIf Arg13 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12 ElseIf Arg14 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13 ElseIf Arg15 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14 ElseIf Arg16 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15 ElseIf Arg17 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16 ElseIf Arg18 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17 ElseIf Arg19 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18 ElseIf Arg20 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19 ElseIf Arg21 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20 ElseIf Arg22 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21 ElseIf Arg23 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22 ElseIf Arg24 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23 ElseIf Arg25 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24 ElseIf Arg26 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25 ElseIf Arg27 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26 ElseIf Arg28 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27 ElseIf Arg29 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28 ElseIf Arg30 = "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29 ElseIf Arg30 <> "" Then Application.Run MacroString, Arg1, Arg2, Arg3, Arg4, Arg6, Arg7, Arg8, Arg9, _ Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, _ Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30 End If End Sub IMPORTANT!!: If you're turning sreenupdating to false and then back to true in the overarching code, THEN you should declare and define the settings and settingsAlerts on the overarching code instead of doing it inside the Format() sub like I did here. The turning off of the settings and settingsAlerts will extremely speed up your code. Furthermore, by treating each different area separately the way I did using the For each loops, the speed is greatly improved on your code. Using the With statements will also help speed up the code because the compiler will need to interpret less code. I hope all of this was informative and helpfull to you. Let me know how this will work out.
I found a solution that has been inspired by many of the comments and other answers in this thread. I hope it will help any further viewers of this thread. Private Sub Format() Dim rng As Range Set rng = Sht.Range("A2:F9,G2:I3,G4:I5,G6:I7,G8:I9,J2:V3,J4:V5,J6:V7,J8:V9,W2:W9,X2:AI3,X4:AI5,X6:AI7,X8:AI9,AJ2:AJ9") With Sht 'Borders With rng.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With rng.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With rng.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With rng.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With 'Format percentages .Range("X3:AI3,X5:AI5,X7:AI7,X9:AI9").NumberFormat = "0.00%" .Range("F:F,J2:W" & endRow).NumberFormat = "0" .Range("J1:V1").NumberFormat = "mmm-yy" .Range("X1:AI1").NumberFormat = "mmm" 'Text Alignment With .Range("A:A,C:C,D:D,F:AJ") .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .ReadingOrder = xlContext End With .Range("A2:AJ9").Copy .Range("A2:AJ" & endRow).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False .Range("A1,C1,D1,F1:I1,W1,AJ1").EntireColumn.AutoFit .Range("B1").ColumnWidth = 32 .Range("E1").ColumnWidth = 40 .Range("J1:V1,X1:AI1").ColumnWidth = 7.5 End With End Sub Most of this is very specific to my situation though so this may not be the most helpful to others but I digress.
PDDL task help. Error message. Syntax error
I have this task: 16 compartments containing 3 red and 3 black balls are given as shown in the figure below. Rearrange the balls so that the three red balls next to each other are directly followed by the black balls! Two adjacent balls can be picked up from their compartment at the same time and moved to two adjacent compartments while maintaining their order. PFPFPF__________ I have deduced a possible solution, but I get an error message like this: /tmp/solver_planning_domains_tmp_41C20mfKR69ZM/domain.pddl: syntax error in line 110, '(': domain definition expected. Here is my solution, but i know there is a better, so i accept any help! Thanks! ;;; (define (problem ball) (:domain ball) (:objects vp vp vp vf vf vf) (:init (at vp pos1) (at vf pos2) (at vp pos3) (at vf pos4) (at vp pos5) (at vf pos6) (clear pos7) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) (:goal (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (clear pos7) (clear pos8) (at vp pos9) (at vp pos10) (at vp pos11) (at vf pos12) (at vf pos13) (at vf pos14) (clear pos15) (clear pos16) )) ) (define (domain ball) (:requirements :strips) (:predicates (pos1 ?v) (pos2 ?v) (pos3 ?v) (pos4 ?v) (pos5 ?v) (pos6 ?v) (pos7 ?v) (pos8 ?v) (pos9 ?v) (pos10 ?v) (pos11 ?v) (pos12 ?v) (pos13 ?v) (pos14 ?v) (pos15 ?v) (pos16 ?v)) ; _______ _______ ; P F P F P F_ _ _ _ _ _ _ _ _ _ ---> P F P F _ _PF _ _ _ _ _ _ _ _ ; (:action move1 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (pos1 ?vp) (pos2 ?vP) (pos3 ?vp) (pos4 ?vf) (pos5 ?vF) (pos6 ?vf) (clear pos7) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (pos1 ?vp) (pos2 ?vp) (pos3 ?vp) (pos4 ?vf) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (not (pos5 ?vp)) (not (pos6 ?vf)) (clear pos9) (clear pos10) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16)) ) ; P F P F _ _PF _ _ _ _ _ _ _ _ - - -> P _ _ F _ _P F F P _ _ _ _ _ _ (:action move2 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (pos1 ?vp) (pos2 ?vP) (pos3 ?vp) (pos4 ?vf) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (clear pos9) (clear pos10) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (pos1 ?vp) (clear pos2) (clear pos3) (pos4 ?vf) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (pos10 ?vp) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (pos2 ?vf)) (not (pos3 ?vp)) (not (clear pos9)) (not (clear pos10)) ) ; P _ _ F _ _ P F F P _ _ _ _ _ _ ---> P P F F _ _ _ _ F P _ _ _ _ _ _ (:action move3 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (pos1 ?vp) (clear pos2) (clear pos3) (pos4 ?vf) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (pos10 ?vp) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (pos1 ?vp) (pos2 ?vp) (pos3 ?vf) (pos4 ?vf) (clear pos5) (clear pos6) (clear pos7) (clear pos8) (pos9 ?vf) (pos10 ?vp) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (clear pos2)) (not (clear pos3)) (not (pos7 ?vp)) (not (pos8 ?vf)) ) ; P P F F _ _ _ _ F P _ _ _ _ _ _ ---> P P _ _ _ _ _ _ F P F F _ _ _ _ (:action move4 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (pos1 ?vp) (pos2 ?vP) (pos3 ?vf) (pos4 ?vf) (clear pos5) (pos6 ?vf) (clear pos7) (clear pos8) (pos9 ?vf) (pos10 ?vp) (clear pos11) (clear pos12) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (pos1 ?vp) (pos2 ?vp) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (clear pos7) (clear pos8) (pos9 ?vf) (pos10 ?vp) (pos11 ?vf) (pos12 ? vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (pos3 ?vf)) (not (pos4 ?vf)) (not (clear pos11)) (not (clear pos12)) ) ; P P _ _ _ _ _ _ F P F F _ _ _ _ ---> P P _ _ _ _ P F F _ _ F _ _ _ _ (:action move5 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (pos1 ?vp) (pos2 ?vP) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (clear pos7) (clear pos8) (pos9 ?vf) (pos10 ?vp) (pos11 ?vf) (pos12 ?vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (pos1 ?vp) (pos2 ?vp) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (clear pos10) (clear pos11) (pos12 ? vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (pos10 ?vp)) (not (pos11 ?vf)) (not (clear pos7)) (not (clear pos8)) ) ; P P _ _ _ _ P F F _ _ F _ _ _ _ ---> _ _ _ _ _ _ P F F P P F _ _ _ _ (:action move6 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (pos1 ?vp) (pos2 ?vP) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (clear pos10) (clear pos11) (pos12 ?vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (pos10 ?vp) (pos11 ?vp) (pos12 ? vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (pos1 ?vp)) (not (pos2 ?vp)) (not (clear pos10)) (not (clear pos11)) ) ; _ _ _ _ _ _ P F F P P F _ _ _ _ ---> _ _ P P _ _ P F F _ _ F _ _ _ _ (:action move7 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (pos10 ?vp) (pos11 ?vp) (pos12 ?vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (pos3 ?vp) (pos4 ?vp) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (clear pos10) (clear pos11) (pos12 ? vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (pos10 ?vp)) (not (pos11 ?vp)) (not (clear 3)) (not (clear 4)) ) ; _ _ P P _ _ P F F _ _ F _ _ _ _ ---> _ _P P F F P _ _ _ _ F _ _ _ _ (:action move8 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (clear pos1) (clear pos2) (pos3 ?vp) (pos4 ?vp) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vf) (pos9 ?vf) (clear pos10) (clear pos11) (pos12 ?vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (pos3 ?vp) (pos4 ?vp) (pos5 ?vf) (pos6 ?vf) (pos7 ?vp) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (pos12 ? vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) (not (pos8 ?vf)) (not (pos9 ?vf)) (not (clear 5)) (not (clear 6)) ) ; ---> _ _P P F F P _ _ _ _ F _ _ _ _ ---> _ _ P P _ _ P _ _ _ _ F F F _ _ (:action move9 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (clear pos1) (clear pos2) (pos3 ?vp) (pos4 ?vp) (pos5 ?vF) (pos6 ?vf) (pos7 ?vp) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (pos12 ?vf) (clear pos13) (clear pos14) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (pos3 ?vp) (pos4 ?vp) (clear pos5) (clear pos6) (pos7 ?vp) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) (not (pos5 ?vf)) (not (pos6 ?vf)) (not (clear 13)) (not (clear 14)) ) ; ---> _ _ P P _ _ P _ _ _ _ F F F _ _ ---> _ _ _ _ P P P _ _ _ _ F F F _ _ (:action move10 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (clear pos1) (clear pos2) (pos3 ?vp) (pos4 ?vp) (clear pos5) (clear pos6) (pos7 ?vp) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (pos5 ?vp) (pos6 ?vp) (pos7 ?vp) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) (not (pos3 ?vp)) (not (pos4 ?vp)) (not (clear 5)) (not (clear 6)) ) ; _ _ _ _ P P P _ _ _ _ F F F _ _ ---> _ _ _ _ _ _ P P P _ _ F F F _ _ (:action move11 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (pos5 ?vp) (pos6 ?vp) (pos7 ?vp) (clear pos8) (clear pos9) (clear pos10) (clear pos11) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vp) (pos9 ?vp) (clear pos10) (clear pos11) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) (not (pos5 ?vp)) (not (pos6 ?vp)) (not (clear 8)) (not (clear 9)) ) ; _ _ _ _ _ _ P P P _ _ F F F _ _ ---> _ _ _ _ _ _ _ _ P P P F F F _ _ (:action move12 :parameters (?vp ?vp ?vp ?vf ?vf ?vf) :precondition (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (pos7 ?vp) (pos8 ?vp) (pos9 ?vp) (clear pos10) (clear pos11) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) ) :effect (and (clear pos1) (clear pos2) (clear pos3) (clear pos4) (clear pos5) (clear pos6) (clear pos7) (clear pos8) (pos9 ?vp) (pos10 ?vp) (pos11 ?vp) (pos12 ?vf) (pos13 ?vf) (pos14 ?vf) (clear pos15) (clear pos16) (not (pos7 ?vp)) (not (pos8 ?vp)) (not (clear 10)) (not (clear 11)) )
You are missing parentheses to close the (domain ...) statement.
Using GetMem and VarPtr to get around Object default values [duplicate]
This question already has answers here: How can I assign a Variant to a Variant in VBA? (5 answers) Closed 3 years ago. So I'm making a funky VBA class for callback objects. Currently one of the issues is that when returning data from the function's call method I have to run the method twice, one to determine the variable type and another to return the variable: If VarType(Application.Run(Callback("Parent") & "." & Callback("Name"), args(0), args(1), args(2), args(3), args(4), args(5), args(6), args(7), args(8), args(9), args(10), args(11), args(12), args(13), args(14), args(15), args(16), args(17), args(18), args(19), args(20), args(21), args(22), args(23), args(24), args(25), args(26), args(27), args(28), args(29))) = vbObject Then Set CallCallback = Application.Run( _ Callback("Parent") & "." & Callback("Name"), _ args(0), args(1), _ args(2), args(3), _ args(4), args(5), _ args(6), args(7), _ args(8), args(9), _ args(10), args(11), _ args(12), args(13), _ args(14), args(15), _ args(16), args(17), _ args(18), args(19), _ args(20), args(21), _ args(22), args(23), _ args(24), args(25), _ args(26), args(27), _ args(28), args(29)) Else CallCallback = Application.Run( _ Callback("Parent") & "." & Callback("Name"), _ args(0), args(1), _ args(2), args(3), _ args(4), args(5), _ args(6), args(7), _ args(8), args(9), _ args(10), args(11), _ args(12), args(13), _ args(14), args(15), _ args(16), args(17), _ args(18), args(19), _ args(20), args(21), _ args(22), args(23), _ args(24), args(25), _ args(26), args(27), _ args(28), args(29)) End If Recently I figured that I might be able to do this without calling the VBA function multiple times by dereferencing the result using VarPtr and then using GetMem4: Private Declare Function GetMem4 Lib "msvbvm60.dll" (ByVal Addr As Long, ByRef RetVal As Any) As Long ... Dim vp As LongPtr, vRet as Variant vp = VarPtr(Application.Run(Callback("Parent") & "." & Callback("Name"), args(0), args(1), args(2), args(3), args(4), args(5), args(6), args(7), args(8), args(9), args(10), args(11), args(12), args(13), args(14), args(15), args(16), args(17), args(18), args(19), args(20), args(21), args(22), args(23), args(24), args(25), args(26), args(27), args(28), args(29))) Call GetMem4(vp, vRet) This specific example didn't work but I was wondering whether there was an obvious reason as to why this didn't work? Any ideas?
I asked the question to vbforums also and they got there much faster than stackoverflow! The solution is extremely simple: Public Declare Sub VariantCopy Lib "oleaut32.dll" (ByRef pvargDest As Variant, ByRef pvargSrc As Variant) ... VariantCopy CallCallback, Application.Run( _ Callback("Parent") & "." & Callback("Name"), _ args(0), args(1), _ args(2), args(3), _ args(4), args(5), _ args(6), args(7), _ args(8), args(9), _ args(10), args(11), _ args(12), args(13), _ args(14), args(15), _ args(16), args(17), _ args(18), args(19), _ args(20), args(21), _ args(22), args(23), _ args(24), args(25), _ args(26), args(27), _ args(28), args(29)) Simple!
Excel VBA If Else
Sorry for the way i posted this question earlier and in a way i was confused with where to type the question so that it's separate from the code. I have the code below in excel VBA. I'm trying to compare the string values in excel sheet with the String value in VBA.If a match is found,a 2 should be entered in cell ni where i is the cell position as per the looop else, x should be entered.The problem is in the if condition part,the truth condition is skipped and instead the else condition is executed which gives me wrong results.Despite checking in all forums on google since yesterday noon and tweaking it in all manner,i've not gotten a solution yet..i'm a newbie in VBA as well Sub outcome2() Dim LastRow As Long, i As Long LastRow = Cells(Rows.Count, "H").End(xlUp).Row For i = 1 To LastRow Dim stor1 As Integer Dim stor2 As String Dim stor3 As String Dim stor4 As String Dim stor5 As String Dim stor6 As String Dim stor7 As String Dim stor8 As String Dim stor9 As String Dim stor10 As String Dim stor11 As String Dim stor12 As String Dim stor13 As String Dim stor14 As String Dim stor15 As String Dim stor16 As String Dim stor17 As String Dim stor18 As String Dim stor19 As String Dim stor20 As String Dim stor21 As String Dim stor22 As String Dim stor23 As String Dim stor24 As String Dim stor25 As String Dim stor26 As String Dim stor27 As String Dim stor28 As String stor1 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "fair") And InStr(Range("l" & i).Value2, "null") And InStr(Range("m" & i).Value2, "poor") stor2 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "fair") And InStr(Range("l" & i).Value2, "null") And InStr(Range("m" & i).Value2, "fair") stor3 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "fair") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "good") stor4 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "fair") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "null") stor5 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "poor") stor6 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "fair") stor7 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "good") stor8 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "null") stor9 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "poor") stor10 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "fair") stor11 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "good") stor12 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "null") stor13 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "poor") stor14 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "fair") stor15 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "good") stor16 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "good") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "null") stor17 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "poor") stor18 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "fair") stor19 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "good") stor20 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "no ") And InStr(Range("m" & i).Value2, "null") stor21 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "poor") stor22 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "fair") stor23 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "good") stor24 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "yes") And InStr(Range("m" & i).Value2, "null") stor25 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "poor") stor26 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "fair") stor27 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "good") stor28 = InStr(Range("H" & i).Value2, "classified paved") And InStr(Range("i" & i).Value2, "null") And InStr(Range("j" & i).Value2, "no-side") And InStr(Range("k" & i).Value2, "null") And InStr(Range("l" & i).Value2, "nul") And InStr(Range("m" & i).Value2, "null") If stor1 > 0 Then Range("n" & i).Value2 = "2" Else Range("P" & i).Value2 = "x" End If Next i End Sub
The issue is in wrong usage of variable types, you've defined stor1 as integer, but further, to stor1 the Boolean value was assigned, and of course it converted into integer (false into 0, true into -1). That is why you can't achieve ... If stor1 > 0 Then ... condition, stor1 will be always less or equal to 0. Test below: change you variable types to Boolean, and use ... If stor1 Then ... Also, pay attention on defining of the variables inside loop, it is a bad practice. Below is the code from previous version of post (example), I think it will be more readable and more flexible to achieve what you need with less rows of code: Sub outcome123() Dim vStr$, cl As Range Dim rng As Range: Set rng = Range([H1], Cells(Rows.Count, "H").End(xlUp)) For Each cl In rng vStr = LCase(cl.Value2 & "|" & _ Range("i" & cl.Row).Value2 & "|" & _ Range("j" & cl.Row).Value2 & "|" & _ Range("k" & cl.Row).Value2 & "|" & _ Range("l" & cl.Row).Value2 & "|" & _ Range("m" & cl.Row).Value2) If vStr Like "*earth*|*none*|*both sides*|*poor*|*no*|*poor*" Then Range("n" & cl.Row).Value2 = "5" Else Range("n" & cl.Row).Value2 = "X" End If Next cl End Sub
How to shorten the length of my cell reference code using a loop in VBA?
Here's my VBA code about a Nonlinear Solver: Sub solver_macro() SolverOk SetCell:="$H$1", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$2:$E$33", _ Engine:=1, EngineDesc:="GRG Nonlinear" SolverAdd CellRef:="$F$5", Relation:=2, FormulaText:="$G$5" SolverAdd CellRef:="$F$9", Relation:=2, FormulaText:="$G$9" SolverAdd CellRef:="$F$13", Relation:=2, FormulaText:="$G$13" SolverAdd CellRef:="$F$17", Relation:=2, FormulaText:="$G$17" SolverAdd CellRef:="$F$21", Relation:=2, FormulaText:="$G$21" SolverAdd CellRef:="$F$25", Relation:=2, FormulaText:="$G$25" SolverAdd CellRef:="$F$29", Relation:=2, FormulaText:="$G$29" SolverAdd CellRef:="$F$33", Relation:=2, FormulaText:="$G$33" SolverOk SetCell:="$H$1", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$2:$E$33", _ Engine:=1, EngineDesc:="GRG Nonlinear" SolverOk SetCell:="$H$1", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$2:$E$33", _ Engine:=1, EngineDesc:="GRG Nonlinear" SolverSolve End Sub I'm trying to include a for-loop in the code above. My first try: Sub solver_macro() Dim i As Integer Dim PERIOD As Integer PERIOD = 7 SolverOk SetCell:="$H$1", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$2:$E$33", _ Engine:=1, EngineDesc:="GRG Nonlinear" For i = 0 To PERIOD SolverAdd CellRef:="$F$5+4*i", Relation:=2, FormulaText:="$G$5+4*i" Next i SolverOk SetCell:="$H$1", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$2:$5+4*PERIOD", _ Engine:=1, EngineDesc:="GRG Nonlinear" SolverOk SetCell:="$H$1", MaxMinVal:=2, ValueOf:=0, ByChange:="$E$2:$5+4*PERIOD", _ Engine:=1, EngineDesc:="GRG Nonlinear" SolverSolve End Sub Could you help me correcting this loop, please? Thank you in advance! Edit: Thank you for the answers. How can I do the same if I want to loop with letters instead of numbers? Still the same code, but the data is horizontal. Therefore, the loop goes through the letters (columns) instead of numbers (rows) : SolverAdd CellRef:="$G$88", Relation:=2, FormulaText:="$G$89" SolverAdd CellRef:="$K$88", Relation:=2, FormulaText:="$K$89" SolverAdd CellRef:="$O$88", Relation:=2, FormulaText:="$O$89" SolverAdd CellRef:="$S$88", Relation:=2, FormulaText:="$S$89" SolverAdd CellRef:="$W$88", Relation:=2, FormulaText:="$W$89" SolverAdd CellRef:="$AA$88", Relation:=2, FormulaText:="$AA$89"
I'd keep it simpler: For i = 5 To 33 Step 4 SolverAdd CellRef:="$F$" & i, Relation:=2, FormulaText:="$G$" & i Next i
You need to take the calculation outside the quotes, e.g. SolverAdd CellRef:="$F$" & 5+4*i, Relation:=2, FormulaText:="$G$" & 5+4*i