Anzeige
Archiv - Navigation
1592to1596
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

Target.Row Excel VBA

Target.Row Excel VBA
04.12.2017 11:48:23
lio
Hallo liebes Team,
ganz dumme Frage:
ich würde mit Target.Row auch gerne die zweite Zeile ansprechen, aber irgendwie wird es nicht erkannt.
Target.Row = 1 funktioniert , aber sobald ich Target.Row = 2 nutze funktioniert es nicht (bekomme auch keinen Fehler).
Danke.

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target.Row Excel VBA
04.12.2017 12:39:41
ChrisL
Hi
Dim lngZeile As Long
lngZeile = Target.Row + 1
cu
Chris
AW: Target.Row Excel VBA
04.12.2017 13:09:17
lio
Hallo Chris, danke für deine Antwort.
Habe aber eben bemerkt das mit row =1 jede Zelle in der Zeile 1 gemeint ist, ich möchte aber nur eine spezifische sprich die Spalte A und die Zeilen A1,A2,A3....
Dies ist mein Code

If Target.Row = 1 Then
ThisRow = Target.Row
cb = Target.Value
Application.Workbooks("Mappe1").Worksheets(1).Name = cb
If Target.Row + 1 Then
ThisRow = Target.Row
cb = Target.Value
Application.Workbooks("Mappe1").Worksheets(2).Name = cb

es funktioniert leider nicht
danke.
Anzeige
Beispielmappe bitte
04.12.2017 13:14:25
Werner
Hallo,
du zeigst hier nur ein paar Codeschnipsel, so kann doch kein Mensch etwas sinnvolles dazu sagen. Zeig mal den kompletten Code in dem das drin steht. Am besten eine Beispielmappe hier hochladen. Eine Beschreibung, was du eigentlich vor hast gibt es auch noch nicht.
Gruß Werner
AW: Target.Row Excel VBA
04.12.2017 13:19:09
ChrisL
Hi
If Target.Row + 1 Then
... ist keine Bedingung, daher falsch.
Beispiel:
Wenn 1+1 dann... (falsch)
Wenn 1+1 = 2 dann... (richtig)
Mehr kann ich nicht helfen, weil ich keine Ahnung habe, was du eigentlich willst.
cu
Chris
AW: Target.Row Excel VBA
04.12.2017 13:25:34
lio
Lieber Werner,
danke für deine Antwort, du hast recht, entschuldige.
Ich habe nur drei Leere Tabellen und in der vierten Tabelle sollen in einer bestimmten Spalte (A1-A3) die Namen der drei Tabellen(Registername) gepflegt werden. Immer wenn ich in der Zeile A1:Registername(Tabelle1),A2:Registername(Tabelle2), oder A3.. einen Namen eingeben soll sich das jeweilige Register ändern.
zb:
Ich schreibe in die Zelle A1: "test1", dann bekommt die Tabelle1 den Registernamen test.
Ich schreibe in die Zelle A2: "test11", dann bekommt die Tabelle2 den Registernamen test11.
Ich hoffe es war verständlich. Danke.
Anzeige
AW: Target.Row Excel VBA
04.12.2017 13:29:27
ChrisL
Hi
Ohne Fehlerhandling:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Worksheets(Target.Row).Name = Target
End Sub
cu
Chris
AW: Target.Row Excel VBA
04.12.2017 13:20:16
yummi
hallo lio,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cb As String
If Target.Column = 1 Then
cb = Target.Value
If Application.Workbooks("Mappe1").Worksheets.Count >= Target.Row Then
Application.Workbooks("Mappe1").Worksheets(Target.Row).Name = cb
End If
End If
End Sub
Meinst Du so etwas? dann wird in dein x. Tabellenblatt der Wert aus Zeile x Spalte A der Wert übernommen.
Gruß
yummi
Anzeige
AW: Target.Row Excel VBA
04.12.2017 13:32:07
lio
Hi Yummi !! Danke es funktioniert !!
Eine Frage, nur aus Interesse, kann ich mit Target.Column oder Target.Row immer nur eine ganze Zeile/Spalte ansprechen?
AW: Target.Row Excel VBA
04.12.2017 13:34:40
yummi
Hallo lio
ja mit row immer die ganze zeile und mit column immer die ganze Spalte, aber mit
target.row = 4 and target.column = 3
kannst du die Zelle C4 ansprechen.
Gruß
yummi
AW: Target.Row Excel VBA
04.12.2017 13:35:39
lio
ich bekomme eben an der Stelle

cb=Target.Value
den Fehler "Typen unverträglich"
AW: Target.Row Excel VBA
04.12.2017 13:38:39
lio
Der Fehler kam, als ich versuchte die Namen zu löschen.
gruß
lio
AW: Target.Row Excel VBA
04.12.2017 13:43:33
Daniel
HI
wenn du mehrere Zellen gleichzeitig änderst, dann ergibt Target.Value keinen Einzelwert, sondern ein Array! (was das ist, sollte bei VBA-gut bekannt sein)
Ein Array kannst du nicht einer Einzelwertvariable (Typ Long, Double oder String) zuweisen, sondern cb müsste in diesem Fall als Variant deklariert sein.
Gruß Daniel
Anzeige
AW: Target.Row Excel VBA
04.12.2017 13:48:29
Daniel
HI
wenn du mehrere Zellen gleichzeitig änderst, dann ergibt Target.Value keinen Einzelwert, sondern ein Array! (was das ist, sollte bei VBA-gut bekannt sein)
Ein Array kannst du nicht einer Einzelwertvariable (Typ Long, Double oder String) zuweisen, sondern cb müsste in diesem Fall als Variant deklariert sein.
Gruß Daniel
AW: Target.Row Excel VBA
04.12.2017 13:40:31
lio
Der Fehler kam, als ich versuchte die Namen zu löschen.
gruß
lio
AW: Target.Row Excel VBA
04.12.2017 13:43:39
yummi

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cb As String
If Target.Column = 1 and Target.Value  "" Then
cb = Target.Value
If Application.Workbooks("Mappe1").Worksheets.Count >= Target.Row Then
Application.Workbooks("Mappe1").Worksheets(Target.Row).Name = cb
End If
End If
End Sub
mit fehlerabfrage ob was drin steht
Gruß
yummi
Anzeige
AW: Target.Row Excel VBA
04.12.2017 13:40:55
yummi
ich weiß ja nciht was du in deienr Zelle drin stehen hast, aber es scheinen nicht nur Zeichenketten zub sein
cb = CStr(Target.value)
vor dem Schreiben deines neuen Tabellenblattnamens evtl noch

if len(cb) >0 then
dein code
end if
Gruß
yummi
AW: Target.Row Excel VBA
04.12.2017 13:51:07
lio
In der Zelle steht immer der letzte String der für das Register zuletzt eingegeben wurde.
Der Fehler(Typen unverträglich) kommt auch nur wenn ich versuche alle Strings raus zu löschen

If Target.Column = 1 Then
cb = Target.Value
If Len(cb) > 0 Then
If Application.Workbooks("Mappe1.xlsm").Worksheets.Count >= Target.Row Then
Application.Workbooks("Mappe1.xlsm").Worksheets(Target.Row).Name = cb
End If
End If
End If
End Sub
Habe ich es falsch eingebaut? bekomme den Fehler immer noch.
Tut mir total leid, für die ganzen Fragen.
Anzeige
AW: Target.Row Excel VBA
04.12.2017 13:57:35
yummi
siehe posting von 13:43
AW: Target.Row Excel VBA
04.12.2017 13:24:03
Daniel
Hi
wie schon geschrieben, nur ein Codeschnipsel ist als Information recht wenig.
das gezeigte würde ich so schreiben:
If Target.column = 1 Then
cb = Target.Value
ThisRow = Target.Row
If ThisRow 
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige