Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  VBA 2 Zellen in Abhängigkeit.

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA 2 Zellen in Abhängigkeit. (666 mal gelesen)
AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 861
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 07. Mrz. 2017 13:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

durch Doppelklick in eine Zelle wird diese verändert. Dies geschieht auch in einer 2ten Zelle.
Soweit der Code unten.

Wie stelle ich es an, dass die beiden Zellen in Abhängigkeit (entgegengesetzt) unterschiedlich sind.

Code:
'Bei Doppelklick in Bestimmte Zelle soll der Text verändert werden.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    If Target.Address = "$A$3" Or Target.Address = "$A$4" Then
        With Target.Font
            .Strikethrough = Not .Strikethrough 'Durchstreichen oder nicht durchstreichen.
            .Bold = Not .Bold                  'Fett oder nicht fett.
            If .Size = 16 Then                  'Schriftgröße einstellen
                .Size = 14
            Else
                .Size = 16
            End If
        End With
        Cancel = True
    End If
End Sub


------------------
Gruß
AndreasBo
Ich nutze alte Boardsuche | Google | Netiquette | Wie stellt man Fragen richtig? | Systeminfo
********
PTC Creo 3
********
IntelCore i7-3820 CPU | @ 3,60 GHz | Windows 7 Pro 64 BIT | 16GB RAM | AMD FirePro W5000

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 861
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 07. Mrz. 2017 15:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Habe noch etwas selber Probiert und es funktioniert nach dem Code unten.
Für Verbesserungsvorschläge bin ich immer offen.
Code:
'Bei Doppelklick in Bestimmte Zelle soll der Text verändert werden.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    If Target.Address = "$A$3" Then
        With Target.Font
            .Strikethrough = Not .Strikethrough 'Durchstreichen oder nicht durchstreichen.
            .Bold = Not .Bold                  'Fett oder nicht fett.
            If .Size = 16 Then                  'Schriftgröße einstellen
                .Size = 14
            Else
                .Size = 16
            End If
        End With
        If Target.Font.Strikethrough = yes Then
            With Range("A4").Font
                .Bold = False
                .Size = 14
                .Strikethrough = True
            End With
        Else
            With Range("A4").Font
                .Bold = True
                .Size = 16
                .Strikethrough = False
            End With
        End If
        Cancel = True
    End If
'+++++++++++++++++++++++++++++++++++++++
'++++Ab hier die 2te Zelle auswerten++++
'+++++++++++++++++++++++++++++++++++++++
If Target.Address = "$A$4" Then
        With Target.Font
            .Strikethrough = Not .Strikethrough 'Durchstreichen oder nicht durchstreichen.
            .Bold = Not .Bold                  'Fett oder nicht fett.
            If .Size = 16 Then                  'Schriftgröße einstellen
                .Size = 14
            Else
                .Size = 16
            End If
        End With
        If Target.Font.Strikethrough = yes Then
            With Range("A3").Font
                .Bold = False
                .Size = 14
                .Strikethrough = True
            End With
        Else
            With Range("A3").Font
                .Bold = True
                .Size = 16
                .Strikethrough = False
            End With
        End If
        Cancel = True
    End If
End Sub


------------------
Gruß
AndreasBo
Ich nutze alte Boardsuche | Google | Netiquette | Wie stellt man Fragen richtig? | Systeminfo
********
PTC Creo 3
********
IntelCore i7-3820 CPU | @ 3,60 GHz | Windows 7 Pro 64 BIT | 16GB RAM | AMD FirePro W5000

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 778
Registriert: 18.05.2005

SolidWorks 2020 x64 SP3.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 21H1
Microsoft Office 365 ProPlus
Microsoft Visual Studio Enterprise 2022

erstellt am: 07. Mrz. 2017 16:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für AndreasBo 10 Unities + Antwort hilfreich

Hallo AndreasBo

Ich würde als erstes "Option Explicit" verwenden.
Dann merken man, dass die Variable "yes" nicht deklariert und ihr keinen Wert zugewiesen wurde.
In deinem Fall, also ohne "Option Explicit", ist "yes" ein Boolean mit dem Wert "False".

Und nach ein wenig entrümpeln sieht dein Code dann so aus.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    If Target.Address = "$A$3" Or Target.Address = "$A$4" Then
        Dim bRet As Boolean                'Hilfsvariable zum Umschalten
        With Range("A3").Font
            bRet = Not .Strikethrough
            .Strikethrough = bRet          'Durchstreichen oder nicht durchstreichen.
            .Bold = Not bRet                'Fett oder nicht fett.
            .Size = IIf(bRet, 14, 16)      'Schriftgröße einstellen
        End With

        With Range("A4").Font
            .Strikethrough = Not bRet
            .Bold = bRet
            .Size = IIf(bRet, 16, 14)
        End With

        Cancel = True
    End If
End Sub



Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AndreasBo
Mitglied
TZ & Konstruktion


Sehen Sie sich das Profil von AndreasBo an!   Senden Sie eine Private Message an AndreasBo  Schreiben Sie einen Gästebucheintrag für AndreasBo

Beiträge: 861
Registriert: 16.11.2006

********
Wenn am Anfang alles schief geht,
nenne es Version 1.0!

erstellt am: 09. Mrz. 2017 08:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank!

------------------
Gruß
AndreasBo
Ich nutze alte Boardsuche | Google | Netiquette | Wie stellt man Fragen richtig? | Systeminfo
********
PTC Creo 3
********
IntelCore i7-3820 CPU | @ 3,60 GHz | Windows 7 Pro 64 BIT | 16GB RAM | AMD FirePro W5000

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz