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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige