Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
W.bestimmt. Wert in Sp. D dann Eintrag in Sp. B
07.10.2008 05:58:58
Josef
Guten Morgen!
Ich habe in einem Tabellenblatt ca. 8000 Datensätze. Wenn z.B. in der Spalte D der Wert "MusterA" steht, dann soll in diesem Datensatz in der Spalte B ein kleines "c" eingetragen werden. wie würde hier bitte eine VBA Lösung lauten?
Danke
Josef

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: W.bestimmt. Wert in Sp. D dann Eintrag in Sp. B
07.10.2008 07:29:23
Hajo_Zi
Hallo Josef,
man muss nicht alles mit VBA lösen, da reicht auch eine Formel.
=Wenn(D1="MusterA";"c";"") und fomel auf die gesamte Splate übertragen.

AW: W.bestimmt. Wert in Sp. D dann Eintrag in Sp. B
07.10.2008 07:30:00
Tino
Hallo,
so müsste es auf dem aktiven Tabellenblatt funktionieren
Modul Modul1
Option Explicit 
 
Sub Test() 
Dim Bereich As Range 
Application.ScreenUpdating = False 
    Set Bereich = Range("D1", Cells(Rows.Count, "D").End(xlUp)).Offset(0, -2) 
    Bereich.FormulaR1C1 = "=IF(RC4=""MusterA"",""c"","""")" 
    Bereich.Value = Bereich.Value 
Application.ScreenUpdating = True 
End Sub 


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: W.bestimmt. Wert in Sp. D dann Eintrag in Sp. B
07.10.2008 07:52:07
Josef
Hallo Tino!
Danke für Deine Antwort. Klappt bereits super.
Eine Frage hätte ich bitte dazu noch.
Ginge dies auch mit der Suche nach 2 Kriterien?
Wenn z.B. in der Spalte D der Wert "MusterA" steht und in der Spalte C "MusterB" dann soll in diesem Datensatz in der Spalte B ein kleines "c" eingetragen werden.
auf jeden Fall mal ein großes Danke für Deine Lösung.
Josef
AW: W.bestimmt. Wert in Sp. D dann Eintrag in Sp. B
07.10.2008 08:01:00
Tino
Hallo,
es ist vieles mach bar.
Modul Modul1
Option Explicit 
 
 
  
Sub Test() 
Dim Bereich As Range 
Application.ScreenUpdating = False 
    Set Bereich = Range("D1", Cells(Rows.Count, "D").End(xlUp)).Offset(0, -2) 
     
    Bereich.FormulaR1C1 = _
            "=IF(AND(RC4=""MusterA"",RC3=""MusterB""),""c"","""")" 
     
    Bereich.Value = Bereich.Value 
Application.ScreenUpdating = True 
End Sub 
 


Gruß Tino

Anzeige
AW: W.bestimmt. Wert in Sp. D dann Eintrag in Sp. B
07.10.2008 08:41:00
Josef
Hallo Tino!
Danke herzlichst das war die Lösung. Schönen Tag noch.
Josef
An Tino!
07.10.2008 09:48:59
Josef
Hallo Tino!
Ich hätte bitte noch eine Frage:
Kann man statt MusterA und MusterB den jeweiligen Wert über eine Variable reinholen. (InputBox?)
Funktionieren würde der Code ja bestens.
MusterA könnte z.B. auch MusterD oder E oder F sein.
Danke
Josef
AW: An Tino!
07.10.2008 10:10:00
Tino
Hallo,
so gehts
Modul Modul1
Option Explicit 
 
Sub Test() 
Dim Bereich As Range 
Dim Wert(1) As String, strFormel As String 
 
Wert(0) = InputBox("Suchwert1", "Eingabe für Spalte C") 
Wert(1) = InputBox("Suchwert2", "Eingabe für Spalte D") 
strFormel = "=IF(AND(RC4=""" & Wert(1) & """,RC3=""" & Wert(0) & """),""c"","""")" 
 
Application.ScreenUpdating = False 
    Set Bereich = Range("D1", Cells(Rows.Count, "D").End(xlUp)).Offset(0, -2) 
      
    Bereich.FormulaR1C1 = _
            strFormel 
      
    Bereich.Value = Bereich.Value 
Application.ScreenUpdating = True 
End Sub 
 
 


Gruß Tino

Anzeige
AW: An Tino!
07.10.2008 10:47:00
Josef
Hallo Tino!
Funktioniert jetzt super. Habe das Ganze in eine Userform gepackt.
Ein kleines Problem hätte ich noch. In der Spalte B ist in der Zelle B1 bereits ein "c" vorhanden. Dieses sollte nicht gelöscht werden. Wenn der Buchstabe c richtig eingetragen wird, dann wird das c in B1 auch gelöscht. nur dieses c wäre wichtig wenn es drinnen bleibt.
Danke
Josef
AW: An Tino!
07.10.2008 11:07:48
Tino
Hallo,
kein Problem, lassen wir dass Makro erst ab Zeile 2 eintragen.
Habe noch eine Sicherheit eingebaut, damit die Zelle B1 nicht überschrieben werden kann,
sollte in Spalte D keine Daten sein.
Option Explicit

Sub Test()
Dim Bereich As Range
Dim Wert(1) As String, strFormel As String

Set Bereich = Range("D2", Cells(Rows.Count, "D").End(xlUp)).Offset(0, -2)
If Bereich(1).Address = Range("B1").Address Then
 MsgBox "In Spalte D sind keine Daten!", vbCritical, "Abbruch"
 Exit Sub
End If

Wert(0) = InputBox("Suchwert1", "Eingabe für Spalte C")
Wert(1) = InputBox("Suchwert2", "Eingabe für Spalte D")
strFormel = "=IF(AND(RC4=""" & Wert(1) & """,RC3=""" & Wert(0) & """),""c"","""")"
 
Application.ScreenUpdating = False
    Bereich.FormulaR1C1 = _
            strFormel
    Bereich.Value = Bereich.Value
Application.ScreenUpdating = True
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: An Tino!
07.10.2008 11:19:00
Josef
Hallo Tino!
Danke für Deine Mühe und Deine Hilfe.
Josef

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige