Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1220to1224
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

Zellgenaue Abfrage

Zellgenaue Abfrage
Gegga
Ich nochmals, Hallo an alle...
Mal ne Frage: Kann ich in einem nicht zusammenhängenden Bereich auch Zellgenau via VBA abfragen?
Ich möchte folgendes: Ab Spalte D, jede zweite Spalte (F;H;J;L... usw bis Spalte DE) in den Zeilen 6-16 und 19-33 soll, falls in diesem Bereich ein "x" gesetzt wird, ne kleine UF geöffnet werden, in der ein Text eingegeben werden kann, und dieser dann in der Zelle in der das X gesetzt worden ist, als Kommentar abgespeichert werden
Die anderen dazwischenliegenden Spalten möchte ich von der Abfrage ausschliessen, da hier ebenfalls n X gesetzt werden kann, aber hier keine UF geöffnet werden soll... Somit kommt ja ein WorksheetChange Ereigniss leider nicht in Frage, oder?
Wer kann mir da der Abfrage bezüglich unter die Arme greifen? Das mit der UF und als Kommentar abspeichern sollte ich über die Suche hier dann schon finden...
Greetz Gegga
AW: Zellgenaue Abfrage
26.07.2011 12:58:10
Rudi
Hallo,
das kannst du so eingrenzen:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D6:DE33")) Is Nothing Then
If Target.Column Mod 2 = 0 Then
Select Case Target.Row
Case 6 To 16, 19 To 33
'Tu was
End Select
End If
End If
End Sub

Gruß
Rudi
AW: Zellgenaue Abfrage
26.07.2011 13:15:50
Gegga
Hallo Rudi
Danke für die prompte Hilfe.
ich stehe etwas auf dem Schlauch, wie bekomme ich jetzt die Zelle in der genau ein X gesetzt worden ist?
Also nehmen wir an, ich setze in Spalte L Zeile 9 ein X (wobei es ja wahrscheinlich egal ist was ich rein schreibe, bei deinem Vorschlag geht es ja nur um eine "Änderung" in diesem Bereich, richtig?)
wie komme ich an den "Wert" L9? Diesen brauche ich ja um in der richtigen Zelle den Kommentar zurück zu schreiben...
Kannst mir nochmals helfen?
Gruß Gegga
Anzeige
msgbox target.address(0,0),o.T.
26.07.2011 13:31:53
Marc
Gruß, Marc
AW: msgbox target.address(0,0) "- 1 Spalte :)
26.07.2011 13:40:40
Gegga
Vielen Dank Marc!!!
Darf ich noch um einen klitzekleinen Gefallen bitten?
Die "Adresse" passt, allerdings ist mir gerade aufgefallen das ich den kommentar lieber eine Spalte weiter links hätte.
Um mein o.g. Beispiel zu nehmen, ich ändere Zelle L9 und ausgeben soll es mir K9.
Wie kann ich das noch bewerkstelligen? Weil dann isses Perfekt ;)
Vielen Dank nochmals
msgbox target.OffSet(,-1).address(0,0)
26.07.2011 13:58:59
Rudi
Hallo,
aber die Adresse brauchst du doch gar nicht. Du hast doch Target als Range-Objekt.
Das könnte so aussehen:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "x" Then
If Not Intersect(Target, Range("D6:DE33")) Is Nothing Then
If Target.Column Mod 2 = 0 Then
Select Case Target.Row
Case 6 To 16, 19 To 33
SetComment Target
End Select
End If
End If
End If
End Sub
Sub SetComment(Target As Range)
UserForm1.Show
If UserForm1.TextBox1  "" Then
With Target.Offset(, -1)
If .Comment Is Nothing Then
.AddComment (UserForm1.TextBox1)
Else
.Comment.Text (UserForm1.TextBox1)
End If
End With
End If
End Sub
Gruß
Rudi
Anzeige
AW: msgbox target.OffSet(,-1).address(0,0)
26.07.2011 14:20:10
Gegga
Hallo Rudi :)
Super... aber nur eine Frage... Wie krieg ich jetzt den Kommentar in meine Zelle...
Meine Userform öffnet sich uber Sub, ich geb den Text ein und dann?
ich stell mich gerade an wie der erste Mensch... Brauch ich da nicht nen Button wo ich sage "so jetzt trage an der gewünschten Stelle ein...
?
Gruss Gegga
AW: msgbox target.OffSet(,-1).address(0,0)
26.07.2011 14:35:51
Tino
Hallo,
schau mal in meinem Beispiel da habe ich eine Public Variable als String deklariert und
diese wird über die Userform gefüllt und am ende wieder leer gemacht.
Wichtig ist nur die Form mit ShowModal = 1 (also gebunden, ist Standard) aufzurufen.
Gruß Tino
Anzeige
AW: msgbox target.OffSet(,-1).address(0,0)
26.07.2011 14:42:21
Gegga
aha...*kopfkratz*
Sorry... so gut bin ich dann doch wieder ned um DAS jetzt zu verstehen... ;) oder so umzubauen wie ich das möchte oder benötige *wirr*
Gruss Gegga
nochmalls angepasst...
26.07.2011 15:17:09
Tino
Hallo,
habe den Code nochmals angepasst.
Kommentar wird gelöscht wenn Textbox in Userform leer bzw. wenn das x gelöscht wird.
https://www.herber.de/bbs/user/75887.xls
Gruß Tino
AW: nochmalls angepasst...
26.07.2011 15:39:44
Gegga
Hallo
Ich habs mal erweitert... nun bekomme ich hier nen Fehler:
Set rngRange = Intersect(Range("$D$6:$D$33,$F$6:$F$33,$H$6:$H$33,$J$6:$J$33,$L$6:$L$33,$N$6:$N$33,$P$6:$P$33,$R$6:$R$33,$T$6:$T$33,$V$6:$V$33,$X$6:$X$33,$Z$6:$Z$33," & _
"$AB$6:$AB$33,$AD$6:$AD$33,$AF$6:$AF$33,$AH$6:$AH$33,$AJ$6:$AJ$33,$AL$6:$AL$33,$AN$6:$AN$33,$AP$6:$AP$33,$AR$6:$AR$33,$AT$6:$AT$33,$AV$6:$AV$33,$AX$6:$AX$33,$AZ$6:$AZ$33," & _
"$BB$6:$BB$33,$BD$6:$BD$33,$BF$6:$BF$33,$BH$6:$BH$33,$BJ$6:$BJ$33,$BL$6:$BL$33,$BN$6:$BN$33,$BP$6:$BP$33,$BR$6:$BR$33,$BT$6:$BT$33,$BV$6:$BV$33,$BX$6:$BX$33,$BZ$6:$BZ$33," & _
"$CB$6:$CB$33,$CD$6:$CD$33,$CF$6:$CF$33,$CH$6:$CH$33,$CJ$6:$CJ$33,$CL$6:$CL$33,$CN$6:$CN$33,$CP$6:$CP$33,$CR$6:$CR$33,$CT$6:$CT$33,$CV$6:$CV$33,$CX$6:$CX$33,$CZ$6:$CZ$33," & _
"$DB$6:$DB$33"), Target)
Das sind jetzt alle Spalten.
Laufzeitfehler 1004:
Die Methode Range für das Objekt '_Worksheet' ist fehlgeschlagen.
Sind das zuviele Angaben?
Gru? Just
Anzeige
AW: String ist zu lang
27.07.2011 09:42:43
Gegga
Guten Morgen
Leider funzt das ned... Also entweder geht gar nix oder (nach dem ich den Rechner neu gestartet habe)
geht der jedes auf dem Blatt befindliche X durch...
Gruss Gegga
kann ich so nicht nachvollziehen, ...
27.07.2011 11:00:00
Tino
Hallo,
habe die Datei unter xl2003 u. xl2007 getestet XP habe ich nicht.
Aber Du hast ja jetzt eine Lösung. ;-)
Gruß Tino
AW: msgbox target.OffSet(,-1).address(0,0)
26.07.2011 15:03:39
Rudi
Hallo,
sobald die UF geschlossen wird, wird der Kommentar aus Textbox1 in die Zelle eingetragen.
Gruß
Rudi
Anzeige
AW: msgbox target.OffSet(,-1).address(0,0)
26.07.2011 15:06:56
Gegga
Hallo Rudi...
Schliessen über das rote X oder über nen button Unload me?
Gruss
Gegga
AW: msgbox target.OffSet(,-1).address(0,0)
26.07.2011 15:16:48
Rudi
Hallo,
kein Unload. Bei Unload geht der Inhalt der Textbox verloren.
Button und Me.Hide.
Gruß
Rudi
AW: msgbox target.OffSet(,-1).address(0,0)
27.07.2011 09:57:37
Gegga
Guten Morgen
Super Rudi!!! Funzt einwandfrei!!!
Aber eine Frage / Bitte / Anliegen hätte ich noch (bedank dich bei Tino ;) )
Kannst du mir da noch dazubasteln, das wenn ich das x wieder entferne, das es mir auch den Kommentar wieder löscht?
Is jetzt ned soooo zwingend notwendig, aber es würde die Tabelle noch "feiner" machen :)
Vielen Dank nochmals...
Hier noch mal der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "x" Then
If Not Intersect(Target, Range("D6:DE33")) Is Nothing Then
If Target.Column Mod 2 = 0 Then
Select Case Target.Row
Case 6 To 16, 19 To 33
SetComment Target
End Select
End If
End If
End If
End Sub
Sub SetComment(Target As Range)
UserForm1.Show
If UserForm1.TextBox1 "" Then
With Target.Offset(, -1)
If .Comment Is Nothing Then
.AddComment (UserForm1.TextBox1)
Else
.Comment.Text (UserForm1.TextBox1)
End If
End With
End If
End Sub Gruss Gegga
Anzeige
AW: Zellgenaue Abfrage
26.07.2011 14:01:30
Gegga
Hi Tino...
Ned ganz... (oder ich blicks ned was du gemeint hast)
Wenn ich ein X in Zelle L9 setze, soll die UF geöffnet werden, ich schreib meinen Comment, klicke speichern, dann soll dieser Comment in die Zelle LINKS neben der geschrieben werden, in der ich das X gesetzt habe, in dem Fall K9.
Nich aufregen, ursprünglich war es schon so gedacht, das der Comment in die Zelle geschrieben wird, in der auch das X gesetzt wurde... Allerdings habe ich nette Mitarbeiter, die alles noch n Ticken besser finden ;)
Gruss Gegga
Anzeige
Dann habe ich Dich falsch verstanden oT.
26.07.2011 14:21:40
Tino
Sorry wenn Frage dumm gestellt wurde!!!
26.07.2011 14:24:11
Gegga
o.O
es gibt doch keine dumme Frage nur Antworten oT.
26.07.2011 14:28:24
Tino
;) danke, das hab ich verstanden owT
26.07.2011 14:32:59
Gegga
.
Das ist nur'n Gerücht! owT
27.07.2011 00:07:55
Luc:-?
:-?
aber mansche sind wie Zecken?! oT.
27.07.2011 00:59:12
Tino

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige