tjenis, Du får helt enkelt bygga upp en egen array med bladens namn liknande följande, flikarna heter data1, data2 och data3, checkboxarna heter chkData1 för flik data1 osv. Kollar alltså vilka checkboxar som är förkryssade och bygger upp strängen med komma som separator, tar bort sista kommatecknet eftersom det är överflödigt, fyller arr() med värden från strängen genom split-funktionen, kollar om det finns värden i arrayen och väljer då angivna blad om det finns några. hmm...tack för svaret.. Du får byta ut chkData1, chkData2 osv. mot namnen på dina egna checkboxar, en checkbox per blad som man ska kunna välja och byta ut "data1" i str = str & "data1," mot namnen på dina egna blad. hej Jag kör den utan problem i Excel XP(2002) HejExel VB fråga - problem med select
Jag har en modul med ett makro som kopierar alla sheets som blivit markerade till ett nytt excel dokument. Man väljer i ett formulär vilka som skall kopieras eller rättare sagt "markeras" genom att fylla i checkboxar. Koden för checkboxarna ser ut enligt nedan...problemet är att det bara markerar den sista när man använder .select i if satser ....när den andra markeras skall den första fortfarande markeras om man spelar in ett makro måste man på förhand veta vilka som skall markeras och då är koden
Sheets(Array("blad1", "blad5", "blad3", "blad2")).Select
...hur skall jag lösa det här?
Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
Sheets("project").Select
End If
If CheckBox2.Value = True Then
Sheets("RM11").Select
End If
If CheckBox2.Value = True Then
Sheets("Esm settings").Select
End If
If CheckBox2.Value = True Then
Sheets("WIP10").Select
End If
If CheckBox2.Value = True Then
Sheets("WIP20").Select
End If
If CheckBox2.Value = True Then
Sheets("OMD").Select
End If
VBAProject.Deklarationer.CopyWorkbook
End SubSv: Exel VB fråga - problem med select
<code>
Private Sub CommandButton2_Click()
Dim arr() As String
Dim str As String
If chkData1.Value = -1 Then
str = str & "data1,"
End If
If chkData2.Value = -1 Then
str = str & "data2,"
End If
If chkData3.Value = -1 Then
str = str & "data3,"
End If
If Right(str, 1) = "," Then str = Left(str, Len(str) - 1)
arr = Split(str, ",")
If UBound(arr) >= 0 Then 'välj blad endast om det finns värden i arrayen
Sheets(arr).Select
End If
End Sub
</code>Sv:Exel VB fråga - problem med select
men det går inte att kompilera det....chkData måste tydligen vara checkbox...sen så är det ngt fel med
If Right(str, 1) = "," Then str = Left(str, Len(str) - 1)
hmm...kan det vara ngt med inställningarna för egenskaperna på checkboxarna månne !?Sv: Exel VB fråga - problem med select
Om inte if-satserna med chkData fungerar kommer str vara tomt och då fungerar inte right-funktionen.Sv:Exel VB fråga - problem med select
jo, har ändrat allt det där..men
ja får det tyvärr inte att fungera..
Är du säker så den där koden är för Excel VB...det kan ju vara vissa skillnader ..Sv: Exel VB fråga - problem med select
Vart ligger dina checkboxar? Har du dom på ett formulär eller direkt i ett blad(worksheet)?
Vad får du för felmeddelande?Sv:Exel VB fråga - problem med select
på ett formulär, tror d va can´t find project or library...har dock fått tag på ett makro som fungerar nu..
Men tack så mycket för hjälpen iaf. !