Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
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

Zelle in einer Tabelle finden

Zelle in einer Tabelle finden
13.08.2019 12:31:02
Falko
Liebe Experten,
ich scheitere gerade daran ein Makro zu bauen, welches einen bestimmten Wert in eine Tabelle (als Harteintrag) in Abhängigkeit von Zeilen und Spalten einfügt.
Beispiel:
In Spalte A stehen im Bereich A2:A5 die Jahre 2015 bis 2018 und in Zeile B1:D1 stehen Net, Gross und Inflation. Das Makro soll nun anhand von Vorgaben (z.B. Gross im Jahr 2015) wissen, dass der Wert in Spalte B2 einzutragen ist.
Wie würde der Code dazu aussehen?
Vielen Dank und beste Grüße
Falko

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lösungsvorschlag
13.08.2019 12:45:04
Beverly
Hi Falko,
Sub Ausgabe()
Dim rngZeile As Range
Dim rngSpalte As Range
Set rngZeile = Range("A2:A5").Find(2015, lookat:=xlWhole)
Set rngSpalte = Range("B1:D1").Find("Gross", lookat:=xlWhole)
If Not rngZeile Is Nothing And Not rngSpalte Is Nothing Then
MsgBox rngZeile.Offset(0, rngSpalte.Column - 1)
End If
End Sub


AW: Lösungsvorschlag
13.08.2019 12:56:59
Torsten
Oder ohne Message Box, gleich der Eintrag

Sub finde_zelle()
Dim tRow As Range, tColumn As Range, tCell As Range
Dim Jahr As String, Wort As String, Eingabe As String
Jahr = "2015"
Wort = "Gross"
Eingabe = "Was eingetragen werden soll"
Set tRow = ActiveSheet.Columns(1).Find(What:=Jahr, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
Set tColumn = ActiveSheet.Rows(1).Find(What:=Wort, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
ActiveSheet.Cells(tRow.Row, tColumn.Column).value = Eingabe
End Sub

So bist du auch nicht eingeschraenkt auf die Bereiche A1:A5 und B2:D2.
Gruss Torsten
Anzeige
AW: Lösungsvorschlag
13.08.2019 14:05:05
Falko
Vielen lieben Dank schon einmal!
Ich habe das Makro versucht so zu schreiben, dass ich über die Variable SaleYear die Zeile finden, in welche der gewünschte Wert eingetragen wird:
Dim ws As Worksheet
Set ws = Worksheets("Sensitivity")
Dim SaleYear As Range
Set SaleYear = wsInput.Range("S38:S66").Find(ws.Cells(12, 4), lookat:=xlWhole)
ws.Cells(14 + i, 4).Select
Selection.Copy
wsInput.Cells(37 + SaleYear, 20).PasteSpecial Paste:=xlPasteValues
Leider funktioniert es nicht. Der Fehler befindet sich in der letzten Zeile des eingefügten Makros.
Könnt ihr mir u.U. sagen, woran es liegt?!
Tausend Dank und beste Grüße
Falko
Anzeige
AW: Lösungsvorschlag
13.08.2019 14:11:21
Daniel
Verstehe nicht ganz, was du vorhast - aber dein Problem hier ist, dass SaleYear eine Range ist. Um 37 + SaleYear zu rechnen, bräuchtest du aber einen Wert.
Grüße
Daniel
AW: Lösungsvorschlag
13.08.2019 14:25:57
Falko
Ok, danke.
Was müsste ich ändern, um den Zeilenwert jener Zelle zu erhalten, in welche ich den Zielwert hineinkopieren möchte?
Danke!
Falko
AW: Lösungsvorschlag
13.08.2019 14:28:09
Torsten

SaleYear.Row

AW: Lösungsvorschlag
13.08.2019 14:32:46
Falko
Hi Thorsten,
vielen Dank erneut!
Meine Kenntnisse sind leider so gering, dass ich alleine damit wenig anfangen kann, sorry!
Könntest Du mir bitte sagen, wo ich diesen Hinweis in das nachfolgende Makro einbetten muss bzw. wie dieses abzuändern wäre:
Dim SaleYear As Integer
SaleYear.Row = wsInput.Range("S38:S66").Find(ws.Cells(12, 4), lookat:=xlWhole)
ws.Cells(14 + i, 4).Select
Selection.Copy
wsInput.Cells(37 + SaleYear, 20).PasteSpecial Paste:=xlPasteValues
Vielen Dank!!
Anzeige
AW: Lösungsvorschlag
13.08.2019 14:41:33
Daniel
Anders herum:
Dim SaleYear As Range
Set SaleYear = wsInput.Range("S38:S66").Find(ws.Cells(12, 4), lookat:=xlWhole)
ws.Cells(14 + i, 4).Copy
wsInput.Cells(37 + SaleYear.Row, 20).PasteSpecial Paste:=xlPasteValues
Das Select kannst du komplett weglassen.
Gruß
Daniel
AW: Lösungsvorschlag
13.08.2019 15:32:57
Falko
Großartig, vielen Dank an euch alle!

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige