Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabelle1.Cells(Target.Row, "G:Q")

Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 09:55:30
Juergen

Hallo zusammen,

ich habe hier ein Script, welches mir erlaubt einen kleinen Fuhrpark und die TÜV Fälligkeiten zu managen.
Besonders dabei ist, dass man bei Fälligkeit einen Termin zugleich in Outlook eingetragen bekommt und auch als Kommentar in der Zelle verbleibt.

Jetzt ist es so, dass jedes Jahr die Ziel-Spalte, welche dafür maßgeblich ist, händisch geändert werden muss (---->Tabelle1.Cells(Target.Row, "O")
Ich wollte das nun auf mehre Spalten (=Jahre) mittels Anpassung wie folgt erweitern, so dass man nicht das immer jährlich manuell machen muss.

So funktionierts mit einer Spalte:
Tabelle1.Cells(Target.Row, "Q")

Hier kommt dabei ein Fehler:
Tabelle1.Cells(Target.Row, "G:Q")

Ich komme nicht drauf, wie man das anders lösen kann. hat jemand einen Tipp?

Userbild

Danke & Gruß,
Juergen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 10:11:19
Rudi Maintaire
Hallo,
Tabelle1.Cells(Target.Row, 7).Resize(, 11)

Gruß
Rudi


AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 10:58:12
Juergen
Hallo Rudi,

vielen Dank für die schnelle Antwort.

Ich habe den Code wie folgt ergänzt, erhalte aber wieder einen Fehler:
Tabelle1.Cells(Target.Row, 7).Resize(, 11).AddComment Text:="Termin in Outlook eingetragen am " & Now
Interpretiere ich es richtig, dass bei Spalte 7(G) es beginnt und bei Spalte 11 (K) es endet? Wenn ich den Bereich von G bis Q abdecken möchte, wäre der Code dann so?
Tabelle1.Cells(Target.Row, 7).Resize(, 17).AddComment Text:="Termin in Outlook eingetragen am " & Now
Falls das richtig ist, muss ich irgendeinen Fehler beim einkopieren gemacht haben. Kannst du da helfen?


Sub erstelleOutlookTermin(Target As Range)
    If Target.Value > "" Then
        If MsgBox("Neuen Termin für " & Tabelle1.Cells(Target.Row, "C") & " (" & Tabelle1.Cells(Target.Row, "B") & ") erstellen?", vbOKCancel, "Outlook Termin") = vbOK Then
            Set OutApp = CreateObject("Outlook.Application")
            Set apptOutApp = OutApp.CreateItem(1)
            With apptOutApp
                'Kategorie
                .Categories = "TÜV Termin"
                'Start- & Enddatum
                .Start = DateSerial(Year(Tabelle1.Cells(Target.Row, "E")), Month(Tabelle1.Cells(Target.Row, "E")) + Tabelle1.Cells(Target.Row, "D"), 1)
                .End = DateSerial(Year(Tabelle1.Cells(Target.Row, "E")), Month(Tabelle1.Cells(Target.Row, "E")) + Tabelle1.Cells(Target.Row, "D"), 31)
                'Zusätzlicher Text
                .Body = "Letzter TÜV: " & Tabelle1.Cells(Target.Row, "E")
                'Betreff
                .Subject = Tabelle1.Cells(Target.Row, "C") & " (" & Tabelle1.Cells(Target.Row, "B") & ") | TÜV"
                'Ganztägiges Ereignis
                .AllDayEvent = True
                'Termin speichern
                .Save
                'Anzeigen
                '.Display
                Application.DisplayCommentIndicator = xlCommentIndicatorOnly
                Tabelle1.Cells(Target.Row, 7).Resize(, 17).AddComment Text:="Termin in Outlook eingetragen am " & Now
                'Kommentar einfügen
              End With
        End If
    End If
End Sub
Danke & Gruss,
Juergen



Anzeige
AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 12:22:53
Rudi Maintaire
Hallo,
ich hab dir nur die korrekte Syntax für den Bereich gezeigt.
Einen Kommentar kann man immer nur in eine Zelle schreiben.

Jetzt ist es so, dass jedes Jahr die Ziel-Spalte, welche dafür maßgeblich ist, händisch geändert werden muss
Was heißt maßgebliche Spalte? Wovon ist die abhängig?

Gruß
Rudi


AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 13:07:33
Juergen
Hallo Rudi,

anbei das Muster zu meinem Excel-Sheet. Das erklärt es vll. besser. Im Prinzip stellt jede Spalte ein Jahr dar, in welchem dann in jeweiliger Fahrzeug-Zelle/Zeile der letzte TÜV eingetragen wird. Dabei wird zugleich ein Outlook Eintrag für das nächste TÜV Ereignis gesetzt. Bislang muss nun jede Spalte immer manuell hinterlegt werden.

Mein Beispiel:
https://www.herber.de/bbs/user/158370.xlsm

Danke & Gruß,
Juergen


Anzeige
AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 13:22:23
Rudi Maintaire
Hallo,
teste mal:
Sub erstelleOutlookTermin(Target As Range)
  Dim dteStart As Date, dteEnde As Date
  If Target.Value > "" Then
    If MsgBox("Neuen Termin für " & Tabelle1.Cells(Target.Row, "C") & " (" _
        & Tabelle1.Cells(Target.Row, "B") & ") erstellen?", vbOKCancel, "Outlook Termin") = vbOK Then
      
      With Tabelle1
        dteStart = DateSerial(Year(.Cells(Target.Row, "E")), Month(.Cells(Target.Row, "E")) + .Cells(Target.Row, "D"), 1)
        dteEnde = DateSerial(Year(.Cells(Target.Row, "E")), Month(.Cells(Target.Row, "E")) + .Cells(Target.Row, "D"), 31)
      End With
      
      Set OutApp = CreateObject("Outlook.Application")
      Set apptOutApp = OutApp.CreateItem(1)
      
      With apptOutApp
        'Kategorie
        .Categories = "TÜV Termin"
        'Start- & Enddatum
        .Start = dteStart
        .End = dteEnde
        'Zusätzlicher Text
        .Body = "Letzter TÜV: " & Tabelle1.Cells(Target.Row, "E")
        'Betreff
        .Subject = Tabelle1.Cells(Target.Row, "C") & " (" & Tabelle1.Cells(Target.Row, "B") & ") | TÜV"
        'Ganztägiges Ereignis
        .AllDayEvent = True
        'Termin speichern
        .Save
        'Anzeigen
        '.Display
        'Kommentar einfügen
      End With
      
      Application.DisplayCommentIndicator = xlCommentIndicatorOnly
      With Tabelle1
        .Cells(Target.Row, Application.Match(Year(dteStart), .Rows(2), 0)).AddComment Text:="Termin in Outlook eingetragen am " & Now
      End With
      
    End If
  End If
End Sub
Gruß
Rudi


Anzeige
ich bin dumm ....
22.03.2023 13:27:50
Rudi Maintaire
eigentlich reicht doch
      Tabelle1.Cells(Target.Row, Target.Column).AddComment Text:="Termin in Outlook eingetragen am " & Now
Gruß
Rudi


AW: Vielen Dank!
27.03.2023 15:27:36
Juergen
Hallo Rudi,

sorry für meine späte Antwort.
Ganz herzlichen dank, das funktioniert so nun astrein!!
Somit kann ich die Tabellen bis zum sankt Nimmerleinstag verwenden...toll!

Danke nochmals & lieben Gruß,
Juergen


Anzeige
AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 11:08:14
Piet
Hallo Jürgen

ich habe mit dem Befehl ADDComment noch nie gearbeitet! Frage mich aber ob man ADD für mehrere Zellen verwenden kann???
Falls nein, setze ADD in die 1. Zelle Celle(Target.Row, "G") und kopiere diese Zelle in die anderen.
Würde mich interessieren ob es damit klappt???

mfg Piet


AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 13:20:20
Juergen
Hallo Piet,

vielen Dank für den Ansatz.
Ich habs ja schon geschrieben, so fit bin ich nicht. habs aber versucht, leider einen Sack Debugg Fehler. Könnte aber auch an meiner Umsetzung liegen und nicht am ADD Befehl.

Danke trotzdem!
Gruss Juergen


Anzeige
AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 11:40:23
GerdL
Hallo Jürgen,
,11) heißt bei Resize die Zelle + von 10 Spalten nach rechts die Zellen.
Dim C As Range

Application.DisplayCommentIndicator = xlCommentIndicatorOnly
With Tabelle1.Cells(Target.Row, "G").Resize(1, 11)
.ClearComments
For Each C In .Cells
    C.AddComment Text:="hallo"
Next
End With
Ggf. musst du am Beginn frd Makros mit
Application.Enableevents = False
die Ereignisse abschalten u. vor Makroende mit ... = True
wieder einschalten.
Gruß Gerd


AW: Tabelle1.Cells(Target.Row, "G:Q")
22.03.2023 13:12:26
Juergen
Hallo Gerd,

vielen Dank für deinen Hinweis.
Leider übersteigt das mein Excel-Horizont, das umzusetzen. Es hagelt Debugg Fehler rein.
Ich bin nur so ein Gelegenheits-Akteur mit mehr oder weniger rudimentären Kenntnissen.

Sorry aber Danke dir.
Gruss, Juergen

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige