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

VBA Range Wert....

VBA Range Wert....
23.06.2015 10:18:34
Malte
....einer Zelle derselben Zeile einer anderen Spalte ausgeben
Dim rngZelle As Range
XXX = rngZelle.Value
Das sieht ja als Ergebnis so aus, dass der Inhalt der Range wiedergegeben wird.
Ich hätte gerne, dass stattdessen der Inhalt einer anderen Zelle wiedergegeben wird, und zwar der Zelle B in derselben Zeile wie Range.
XXX = rngZelle(ActiveCell.Row, 2).Value
scheint nicht zu funktionieren, habe aber nichts anderes gefunden (oder die falschen Suchbegriffe eingegeben)
Vielen Dank im Voraus!
Malte

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Cells(ActiveCell.Row, 2)
23.06.2015 10:27:00
Matthias
Hallo
probiers mal so
ActiveCell = Cells(ActiveCell.Row, 2).Value Wobei ActiveCell auch ne belibig andere Zelle sin kann.
Gruß Matthias

AW: Cells(ActiveCell.Row, 2)
23.06.2015 10:45:01
Malte
Hm das gibt mir den Wert FALSCH in der Zelle raus,
aber das liegt wahrscheinlich daran, dass das ganze ein wenig komplexer ist und ich einfach dachte ich könne es ohne posten von Zusammenhängen lösen...
Also hier der Zusammenhang:
Ich habe eine Liste in die alle Änderungen ausgelesen werden (freundlicherweise gecoded von einem anderen Forenmitglied)

Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)
Dim lngLZ As Long
Dim rngZelle As Range
On Error GoTo Fehler
'Zellwertänderungen aller Tabellen in Tabelle 'wksDoku' eintragen
'Ausnahme: Zelländerung in wksDoku
If Sh.CodeName  "wksDoku" Then
'damit DIESE Prozedur durch Eingaben in wksDoku
'NICHT gestartet wird
Application.EnableEvents = False
With wksDoku
'erste freie Zeile in wksDoku ermitteln
lngLZ = .Cells(1, 1).End(xlDown).Row + 1
'wenn wksDoku voll dann alte Inhalte löschen
If lngLZ > Rows.Count Then
Call NeuesProtokoll
'erste freie Zeile in wksDoku ermitteln
lngLZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
.Cells(lngLZ, 2) = ActiveSheet.Name
.Cells(lngLZ, 3) = ActiveSheet.Name 'Hier soll der Personenname rein,
'zu finden in derselben Zeile Spalte B wie rngZelle
.Cells(lngLZ, 6) = Environ("Username")
.Cells(lngLZ, 7) = Environ("Computername")
.Cells(lngLZ, 8) = ThisWorkbook.FullName
'falls gleichzeitige Eingabe in mehreren Zellen
For Each rngZelle In Target
.Cells(lngLZ, 1) = Now
.Cells(lngLZ, 4) = rngZelle.Value 'Hier soll der Modulname rein,
'zu finden in derselben Spalte, Zeile 7 wie rngZelle
If rngZelle.Value = "" Then
.Cells(lngLZ, 5) = ""
Else
.Cells(lngLZ, 5) = rngZelle.Value
End If
lngLZ = lngLZ + 1
If lngLZ > Rows.Count Then
Call NeuesProtokoll
'erste freie Zeile in wksDoku ermitteln
lngLZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Next
End With
Application.EnableEvents = True
End If
Exit Sub
Vielen Dank fürs Helfen!
Malte

Anzeige
das ist aber auch nicht komplett
23.06.2015 10:59:32
Matthias
Hallo
Da fehlt aber immer noch Einiges.
Fehlersprungmarke ist z.B. nicht vorhanden
End Sub fehlt
wo steht den der einzutragende Name?
Bei mir sieht das so aus.
 ABCDEFGH
1        
223.06.2015 10:57Tabelle2Tabelle2HalloHallogeändertgeändertMappe2
323.06.2015 10:57Tabelle3Tabelle3TestTestgeändertgeändertMappe2


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: das ist aber auch nicht komplett
23.06.2015 11:18:02
Malte
ich Hänge dir einfach die ganze Mappe an, dann besteht auch nicht die Chance, dass ich wieder was vergesse.
https://www.herber.de/bbs/user/98399.xlsm

ich hab gerade nochmal geantwortet
23.06.2015 11:23:36
Matthias
Hallo
Schau mal bitte in meinen letzte Beitrag, ob das Dein Problem schon löst.
Gruß Matthias

Du musst in die Schleife rein!
23.06.2015 11:21:35
Matthias
Hallo
Du musst die Zeilen innerhalb der For Each-Schleife schreiben!
    For Each rngZelle In Target
.Cells(lngLZ, 1) = Now
.Cells(lngLZ, 2) = ActiveSheet.Name
MsgBox rngZelle.Row 'Test
.Cells(lngLZ, 3) = Cells(rngZelle.Row, 2) 'Hier soll der Personenname rein,
' usw
Gruß Matthias

Anzeige
AW: Du musst in die Schleife rein!
23.06.2015 11:32:35
Malte
Juhu!
Hat super geklappt!
Danke dir vielmals!
Auf geht's zum nächsten Problem...
LG
Malte

AW: gelöst
24.06.2015 08:32:13
Malte
Vielleicht nicht für euch Gurus ;-)
LG
Malte

AW: VBA Range Wert....VBA? Als Formel "=A2" oT
23.06.2015 10:27:36
JoWE

AW: VBA Range Wert....
23.06.2015 10:39:55
Daniel
Hi
entweder:
xxx = rngZelle.worksheet.Cells(rngZelle.Row, 2).Value
oder:
xxx = rngZelle.Offset(0, 2 - rngZelle.Column).Value
die 2 steht für Spalte B
Gruß Daniel

Anzeige
AW: VBA Range Wert....
23.06.2015 10:54:19
Malte
Habe ich ausprobiert,
funktioniert in dem Zusammenhang nicht, siehe Antwort mit Code weiter oben.
Trotzdem Danke!
Malte

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige