• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

2 tabbladen op 1 scherm via VBA

Status
Niet open voor verdere reacties.

PaulMak

Gebruiker
Lid geworden
29 jan 2015
Berichten
95
Goedemiddag,

Handmatig lukt het mij best om uit 1 Workbook, 2 sheets tegelijk te bekijken.

Openen Workbook 'Verplaatste orders'
Selecteer Tabblad 'Gisteren'
Kies Beeld > Nieuw venster
Resultaat Geeft een nieuw workbook 'Verplaatste orders - 2'

Type Windows + pijltje links (voor halveren én verplaatsen naar linkerzijde scherm)
Selecteer Workbook 'Verplaatste orders'

Resultaat is dat beide sheets op 1 staan

Maar ik krijg het niet voor elkaar om het VBA commando te vinden voor Windows + pijltje naar links

Kan iemand mij daaraan helpen?



Code:
Sub Splitsen_scherm()
'
' Splitsen_scherm Macro
'

'
    Range("A1").Select
    ActiveWindow.NewWindow
    Windows("Verplaatste orders.xlsm  -  1").Activate

''    Application.WindowState = xlNormal
End Sub

Groet
Paul Mak
 
Ik kom een heel eind met:

Code:
Sub M_snb()
  Sheet1.Select
  Windows(ThisWorkbook.Name).NewWindow

  With ThisWorkbook.Windows(1)
    .WindowState = xlNormal
    .Top = 5
    .Width = 400
    .Left = 4
  End With
  With Windows(2)
    .Top = 5
    .Width = 300
    .Left = 410
    .Activate
    Sheet2.Select
  End With
End Sub
 
Of zo:
Code:
Sub Split()
    ActiveWindow.NewWindow
    Windows(ActiveWorkbook.Name & ":1").Activate
    Sheets("Blad1").Select
    Windows.Arrange ArrangeStyle:=xlVertical
    Windows(ActiveWorkbook.Name & ":2").Activate
    Sheets("Blad2").Select
End Sub
 
snb

Mogug snb

Fijn dat ik weer op je respons kan rekenen.
Ik heb je oplossing toegepast maar helaas gaat het fout bij de 2e bewerking

Code:
  With ThisWorkbook.Windows(2)
''  With Windows(2)
 [B][I][U]   .Top = 5[/U][/I][/B]
    .Width = 300
    .Left = 410
    .Activate
    Sheet2.Select
  End With
 
Dank AHulpje

Goedemorgen AHulpje

Om te beginnen wil ik jou ook danken voor de tijd die je eraan hebt besteed

Ook jouw code heb ik toegepast (en een klein beetje aangepast.) Jouw oplossing werkt perfect .... zolang er geen andere Excel rapporten open staan !!!
Ik heb een soort Excel menu gemaakt waar gebruikers meerdere rapporten kunnen bekijken. Wanneer gebruikers een rapport kiezen dan staat het gekozen rapport open én het menu

Wanneer ik het rapport "Verplaatste orders" rapport ga splitsen dan krijg ik 3 schermen, netjes verdeeld over mijn scherm
1 "Verplaatste orders" splits - 1
2 "Verplaatste orders" splits - 2
3 "Menu"

Wanneer jouw code uitgebreid kan worden met een functie waardoor alleen splits -1 en splits -2 het scherm delen dan ben ik er !!

Code:
    ActiveWindow.NewWindow
    Windows("Verplaatste orders.xlsm  -  1").Activate
''    Windows(ActiveWorkbook.Name & ":1").Activate
    Sheets("Rapport gisteren").Select
    Windows.Arrange ArrangeStyle:=xlVertical


    Windows("Verplaatste orders.xlsm  -  2").Activate
''Windows(ActiveWorkbook.Name & ":2").Activate
    Sheets("Rapport vandaag").Select
 
Voeg deze regel toe bovenaan je script:
Code:
    Windows("Werkboek met menu").WindowState = xlMinimized
 
Hi AHulpje, ik heb je commando toegevoegd en het pad erin verwerkt.
Helaas stopt de macro bij dat punt. Ik heb het nog even geprobeerd met CHDir maar ook dat werkt niet

Code:
''    ChDir "G:\Management  IDNL\Menu IDNL"
''    Workbooks.Open Filename:= _
''        "G:\Management  IDNL\Menu IDNL\Menu IDNL.xlsm"




''  ChDir "G:\Management  IDNL\Koppelingen voor menu"
''    Workbooks.Open Filename:= _
''        "G:\Management  IDNL\Koppelingen voor menu\Verplaatste orders.xlsm"


Windows("G:\Management IDNL\Menu IDNL\Menu IDNL.xlsm").WindowState = xlMinimized

    
    ActiveWindow.NewWindow
    Windows("Verplaatste orders.xlsm  -  1").Activate
    Sheets("Rapport gisteren").Select
    Windows.Arrange ArrangeStyle:=xlVertical


    Windows("Verplaatste orders.xlsm  -  2").Activate
    Sheets("Rapport vandaag").Select

Heb ik ergens een schrijf of denkfout gemaakt?
 
Het is altijd handig om de foutmelding te vermelden.
Maar vervang dit:
Code:
[COLOR=#333333]Windows("G:\Management IDNL\Menu IDNL\Menu IDNL.xlsm").WindowState = xlMinimized[/COLOR]
eens door:
Code:
[COLOR=#333333]Windows("Menu IDNL.xlsm").WindowState = xlMinimized[/COLOR]
 
probeer:
Code:
Sub M_snb()
  Sheet1.Select
  Windows(ThisWorkbook.Name).NewWindow

  With ThisWorkbook.Windows(1)
    .WindowState = xlNormal
    .Top = 5
    .Width = 400
    .Left = 4
  End With
  With ThisWorkbook.Windows(2)
    .WindowState = xlNormal
    .Top = 5
    .Width = 300
    .Left = 410
    .Activate
    Sheet2.Select
  End With
End Sub

Ik kan testen tot ik een ons weeg: het code doet hier wat gewenst is.
Ik ga ervan uit dat er geen enkele vorm van beveiliging in het werkboek zit.
 
Laatst bewerkt:
@AHulpje
Met schaamte moet ik bekennen dat in het pad én documentnaam “Menu IDNL” 2 spaties staan ipv 1 !! Daarom kreeg ik steeds de foutmelding 7.
Inmiddels alles opnieuw ingericht volgens jouw coderingen en nu werkt het precies zoals gewenst.

@snb
Omdat je me telkens weer helpt vindt het best lastig om de schrijven dat ik met jouw code niet uitkwam. Ik vermoed dat ik het aanpassen van “ThisWorkbook.Name” en “sheet1.select” niet correct heb aangepast.

Gelukkig werkt de macro en dank ik jullie beide voor jullie tijd en jullie geduld met mij.

Groet
Paul Mak

Dit is het geworden ...

Code:
Sub Splitsen_scherm()
'
' Splitsen_scherm Macro
'

    
Windows("Menu  IDNL.xlsm").WindowState = xlMinimized


  ChDir "G:\Management  IDNL\Koppelingen voor menu"
    Workbooks.Open Filename:= _
        "G:\Management  IDNL\Koppelingen voor menu\Verplaatste orders.xlsm"

    
    ActiveWindow.NewWindow
    Windows("Verplaatste orders.xlsm  -  1").Activate
    Sheets("Rapport gisteren").Select
    Windows.Arrange ArrangeStyle:=xlVertical


    Windows("Verplaatste orders.xlsm  -  2").Activate
    Sheets("Rapport vandaag").Select

    
End Sub
 
Zet de macro in de macromodule van het werkboek dat moet worden gesplitst
Het enige wat ik nog kan bedenken:

Code:
Sub M_snb()
  Sheets(1).Select
  Windows(ThisWorkbook.Name).NewWindow

  With ThisWorkbook.Windows(1)
    .WindowState = xlNormal
    .Top = 5
    .Width = 400
    .Left = 4
  End With
  With ThisWorkbook.Windows(2)
    .WindowState = xlNormal
    .Top = 5
    .Width = 300
    .Left = 410
    .Activate
    Sheets(2).Select
  End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan