Word 2010: CeckBoxabfrage mit VBA

3 Antworten

Nimm mal diesen Code, hier einfach nur noch oben und unten das mein passwort durch deins was du für den Blattschutz eingegeben hast ersetzen.

Private Sub CheckBox1_Click()
ActiveSheet.Unprotect Password:="mein passwort"
If CheckBox1.Value = True Then
    ActiveDocument.Tables(1).Cell(2, 3).Range.Text = "43,00€"
Else
    ActiveDocument.Tables(1).Cell(2, 3).Range.Text = "0,00€"
End If
ActiveSheet.Protect Password:="mein passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Damit wird am Anfang der Blattschutz aufgehoben und am Ende automatisch wieder gestezt. Das was blablub7 meint.

Da hier Word benutzt wird, muss man meiner Meinung nach statt ActiveSheet das ActiveDocument benutzen.

Ansonsten: DH

1
@blablub7

Mist du hast recht, habe ich total überlesen.

Ich wurde wohl über VBA informiert und habe das Word 2010 oben gar nicht wahrgenommen.

Danke für die Info

0

die zelle (cell) hat auch ein attribute locked, das du du auf false (beschreibbar) und zurück auf true setzen kannst.

Kannst du nicht vor dem If den Blattschutz aufheben und danach wieder setzen?

VBA für Excel Verknüpfungen aktualisieren?

Hallo alle zusammen,

ich bin am verzweifeln.. :-(

Ich möchte über VBA Verknüpfungen in einem aktiven Tabellenblatt ändern. Ich finde aber immer nur Antworten wie man Verknüpfungen der gesamten Arbeitsmappe ändert.

Die Verknüpfungen beziehen sich auf ein anderes (nicht aktives) Tabellenblatt in der selben Arbeitsmappe.

In der Zelle steht zum Beispiel =WENN(ISTFEHLER('04.2016'!$C8);"";'04.2016'!$C8) und VBA soll mir aus '04.2016' nun '06.2016' machen.

Bei meiner VBA Idee kommt immer der Fehler 438 (Objekt unterstützt diese Eigenschaft oder Methode nicht) und kennzeichnet Vardat = ActiveSheet.LinkSources(Type:=xlLinkTypeExcelLinks) an

Hier meine VBA Idee. Wer kann mir helfen? Dank Euch im Voraus.... :-)

Sub Verknüpfungenaktualisieren()

Dim Vardat As Variant Dim strNeuerLink As String

strNeuerLink = "'06.2016'" strAlterLink = "'04.2016'"

Vardat = ActiveSheet.LinkSources(Type:=xlLinkTypeExcelLinks)

If IsEmpty(Vardat) Then

MsgBox "Keine Verknüpfungen enthalten!"

Exit Sub

End If

For intz = 1 To UBound(Vardat)

If Vardat(intz) = ActiveSheet.Path & "(" & strAlterLink Then ActiveSheet.ChangeLink ActiveSheet.Path & "(" & strAlterLink, _ ActiveSheet.Path & "(" & strNeuerLink, xlExcelLinks

Exit For

End If

Next intz

End Sub

...zur Frage

hallo brauche hilfe in vbaaaaaa excel?

hallo, ich brauche hilfe in excel vba, hab eine aufgabenstellung in excel und vba erstellt, allerdings klappt das so net mit vba.

Aufgabenstellung: Habe in den zellen A9 bis A13 Personalnummer angegeben, in Zellen B9 bis B13 stehen Überstunden, wenn man in Zelle C3 die personalnummer eingibt, erscheint in Zelle 4 die Anzahl der Überstunden von der jeweiligen personalnummer, es ist auch eine ampel integriert, so das diese dann immer zwischen grün gelb und rot schaltet, bis alles was kleiner als 110 ist, ist grün, zwischen 110-140 geld, alles was 140 überschreitet ist rot.

das will ich als vba nutzen mit einem button, wenn mann drauf klickt so das mann aufgefordert ist die personalnummer einzugeben und dann ein dialog erscheint und mir sagt , die personalnummer hat soviel überstunden und ist im gelben bereich zb.

aber mit vba klappt das so net ganz, habe drei screenschots gemacht, bild 1 und 2 sind von mir, bild drei ist ein beipspiel, das will auch so bei mir einbinden... ich kriege das aber net gebacken, bei mit kommt immer der fehler laufzeitfehler 424 objekt erforderlich, was heisst, kriege die vba funktion nicht auf excel übertragen

Vba code

Private Sub ComboBox1_Change() y = "" bc = &H8000000F

z = ComboBox1.ListIndex If z > -1 Then y = Cells(9 + z, 2) If y < 110 Then bc = &HC000& If (y >= 110) And (y < 140) Then bc = &HFFFF& If y >= 140 Then bc = &HFF& End If

Label1.Caption = y Image1.BackColor = bc End Sub Private Sub CommandButton1_Click() UserForm1.Hide End Sub Private Sub UserForm_Initialize() For t = 9 To 13 ComboBox1.AddItem (Cells(t, 1)) Next End Sub

hoffe einer kann mir helfen...

danke im voraus

beste grüße matheasi

...zur Frage

Organigram Excel mit einklappen und ausklappen (per Makro?)?

Hallo Zusammen,

etwas komplizierteres Problem hier: (zumindest bin ich nach stundenlangem Googeln auf englisch und deutsch auf kein akzeptables ergebis gekommen)

Im Prinzip klingt es einfach: Ich will ein Organigramm erstellen per Excel (Word wuerde auch noch gehen, keine sonstige Freeware da ich im Buero keine Software runterladen kann/darf). Nun will ich aber kein "statisches" Organigram (zb per SmartArt). Es soll eher so etwas sein wo ich auf einen Namen klicke und dann alle untergeordneten Leute/Mitarbeiter aufklappen (NUR DIE VON DEM JEWEILIGEN "BOSS").

Mit Gruppieren etc. komme ich nicht vorran da ich 1. will dass es per Mausklick auf den namen geht und 2. ich nicht mehr als 8 untergruppen erstellen kann damit.

Am liebsten auch ein Makro dass ich anpassen koennte ?Hab hier noch ein Bild was vllt etwas besser erklaert was ich meine.

Zum Bild:Ich will dann quasi dass am Anfang nur "CEO" da steht. Dann klicke ich zb auf "C" dann poppen 1,2,3,4,5 auf und ich klicke auf "1" dann poppen 11,12,13 auf etc.. der rest soll am besten verborgen bleiben (viel uebersichtlicher)

Hoffe, dass war einigermassen gut erklaert. Bei Fragen etc einfach nachfragen...Ich finde dazu leider auch wirklich nirgends etwas (ausser irgendwelcher Freeware etc.) Aber es MUSS doch moeglich sein?

Danke euch vieeelmals schonmal!!!

EDIT:

hab jetzt mal probiert einen Makro zu schreiben:

Sub collapse()

Selection.Offset(1, 1).Select
Range(Selection, Selection.End(xlDown)).

Select Selection.EntireRow.Hidden = True

End Sub

_______

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If Target.Column = 2 Then

Target.Select

Call collapse

End If

If Target.Address = "$B$10" Then

Target.Select

Call collapse

End If

End Sub

____

Problem: Wenn ich es mit "target.column" mache (was mir lieber ist) dann wuerde ich gerne haben dass er bei leeren zellen nichts macht in dieser spalte... wie geht das genau? und hat einer eine ahnung wie ich das hinkrieg dass wenn ich WIEDER auf die gleiche zelle gehe er mir des rueckgaengig macht? Ich hab so eine ahnugn mit true/false denke ich mal aber habe keine ahnung wie ich das umsetzen kann..

Also irgendwie dass wenn ich einmal draufdruecke und des eingeklappt ist er weiss visibile = false oder sowas und wenn ich wieder draufdruecke soll er halt true machen versteht ihr mich :D?

...zur Frage

Zellen mit gleichem Inhalt pro Spalte automatisch verbinden ?

Hallo Community, möchte gerne alle Zellen gleichen Inhalts pro Spalte automatisch verbinden lassen (Inhalte müssen, wie bei Excel üblich nur einmal erhalten bleiben). Später soll also der Konfernzname, das Datum und der Ort nur noch einmal pro Konferenz auftauchen. Die Teilnehmer und ihre Beiträge könnte man dann zwar auch noch verbinden, aber hier müssten natürlich die ganzen Zellinhalte erhalten bleiben (was Excel üblicherweise nicht macht). Ist wahrscheinlich nur mit VBA möglich oder? Danke im Vorraus

Bild siehe Anhang

...zur Frage

Was möchtest Du wissen?