Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle finden

Forumthread: Zelle finden

Zelle finden
01.12.2018 13:01:56
Henner
Hallo zusammen
Ich habe eine Tabelle, in der in Spalte A untereinander ganze Zahlen und in Zeile 1 nebeneinander Begriffe stehen. In jeder Zelle befindet sich nur 1 Wert und jeder Wert ist einmalig. Zelle A1 ist leer. Der Aufbau ist also sehr ähnlich wie bei "Schiffe versenken" (Koordinaten sind Zahlen und Buchstaben), darum geht es aber nicht.
Ich möchte nun, dass ich dem Code eine Zahl und ein Begriff angebe, in die Zelle mit den Koordinaten (bspw. 77 und EE) soll dann ein X geschrieben wird. Befindet sich in der Zelle bereits ein "X", soll ein weiteres "X" dahinter geschrieben werden.
Folgender Code von mir führt genau das aus was ich möchte, meine Frage ist nur ob sich diese Anforderung "sauberer" (schneller/besser) realisieren lässt.
Besten Dank für Eure Vorschläge, Gruss Henner

Option Explicit
Sub SucheZelle()
Dim iLCol As Integer
Dim lLRow As Long
Dim ic As Integer
Dim lr As Long
iLCol = Sheets(1).Cells(1, 256).End(xlToLeft).Column
lLRow = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
For lr = 1 To lLRow
If Sheets(1).Cells(lr, 1).Value = 77 Then Exit For
Next
For ic = 1 To iLCol
If Sheets(1).Cells(1, ic).Value = "EE" Then Exit For
Next
Sheets(1).Cells(lr, ic).Value = Sheets(1).Cells(lr, ic).Value & "X"
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle finden
01.12.2018 13:12:49
Sepp
Hallo Henner,
Sub SucheZelle()
  Dim varRet As Variant, lngRow As Long, lngCol As Long
  
  Const SEARCHROW = 2
  Const SEARCHCOL = "C"

  With Sheets(1)
    varRet = Application.Match(SEARCHROW, .Columns(1), 0)
    If IsNumeric(varRet) Then
      lngRow = varRet
      varRet = Application.Match(SEARCHCOL, .Rows(1), 0)
      If IsNumeric(varRet) Then
        lngCol = varRet
      End If
    End If
    If lngRow > 0 And lngCol > 0 Then
      .Cells(lngRow, lngCol).Value = .Cells(lngRow, lngCol).Value & "X"
    End If
  End With
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Zelle finden
01.12.2018 13:21:56
Henner
Hallo Sepp
Danke für Deinen Vorschlag. Die Überprüfung ob X und Y einen gültigen Wert (Grösser 0) enthalten fehlt bei mir schonmal. Die Application.Match Methode kannte ich noch gar nicht, dank auch dafür!
Gruss Henner
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige