Ragazzi mi serve una mano in tempo super urgente:
ho un problema di questo tipo.Ho salvato in una stringa una condizione che volevo mettere in un programma vb.Ma ovviamente il programma non va perchè quando nell'If scrivo:
if stringa then (dove stringa è la variabile dove ho salvato la condizione),
mi dice dati non corrispondenti perchè prende gli apici " che chiudono e aprono la strigna.
Posso e se si in che modo estrarre solo iil testo senza gli apici?
Copio il codice:
Sub EstraiDatiP5()
MsgBox "Ciao", vbCritical, "ciao"
Foglio12.Range("B4:J130").Clear
Dim i, c, j As Integer
Dim f As Integer
Dim L, conta As Integer
Dim s, condizione As String
Dim ifI As Integer
Dim riga, linea, app, a, b As String
conta = 0
Foglio12.Cells(1, 1) = Foglio2.Cells(3, 1)
f = 3
For i = 5 To 700
'checkbox1
If Foglio12.CheckBox1.Value = "Vero" Then
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """C70"") "
End If
'checkbox2
If Foglio12.CheckBox2.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """D70"") "
conta = conta + 1
Else
If Foglio12.CheckBox2.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """D70"") "
End If
End If
'checkbox3
If Foglio12.CheckBox3.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """E70"") "
conta = conta + 1
Else
If Foglio12.CheckBox3.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """E70"") "
End If
End If
'checkbox4
If Foglio12.CheckBox4.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """F70"") "
conta = conta + 1
Else
If Foglio12.CheckBox4.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """F70"") "
End If
End If
'checkbox5
If Foglio12.CheckBox5.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """G70"") "
conta = conta + 1
Else
If Foglio12.CheckBox5.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """G70"") "
End If
End If
'checkbox6
If Foglio12.CheckBox6.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """H70"") "
conta = conta + 1
Else
If Foglio12.CheckBox6.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """H70"") "
End If
End If
'checkbox7
If Foglio12.CheckBox7.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """I70"") "
conta = conta + 1
Else
If Foglio12.CheckBox7.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """I70"") "
End If
End If
'checkbox8
If Foglio12.CheckBox8.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """J70"") "
conta = conta + 1
Else
If Foglio12.CheckBox8.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """J70"") "
End If
End If
'checkbox9
If Foglio12.CheckBox9.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """K70"") "
conta = conta + 1
Else
If Foglio12.CheckBox9.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """K70"") "
End If
End If
'checkbox10
If Foglio12.CheckBox10.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """L70"") "
conta = conta + 1
Else
If Foglio12.CheckBox10.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """L70"") "
End If
End If
'checkbox11
If Foglio12.CheckBox11.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """M70"") "
conta = conta + 1
Else
If Foglio12.CheckBox11.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """M70"") "
End If
End If
'checkbox12
If Foglio12.CheckBox12.Value = "Vero" And conta > 0 Then
condizione = condizione + " OR " + "(Foglio2.Cells(i, 2) = " & """N70"") "
conta = conta + 1
Else
If Foglio12.CheckBox12.Value = "Falso" Then
Else
conta = conta + 1
condizione = condizione + "(Foglio2.Cells(i, 2) = " & """N70"") "
End If
End If
MsgBox condizione, vbInformation, "fine"
If condizione Then
f = f + 1
Foglio12.Cells(f, 2) = Foglio2.Cells(i, 2)
Foglio12.Cells(f, 3) = Foglio2.Cells(i, 3)
Foglio12.Cells(f, 4) = Foglio2.Cells(i, 4)
L = Len(Foglio2.Cells(i, 5))
Foglio12.Cells(f, 5) = Mid(Foglio2.Cells(i, 5), 5, L)
Foglio12.Cells(f, 6) = Foglio2.Cells(i, 6)
Foglio12.Cells(f, 7) = Foglio2.Cells(i, 31)
app = Foglio2.Cells(i, 29)
'Lettura scheda
s = "\\cluster\serverunix\schede\" & app
If Dir(s) <> "" Then
ifI = FreeFile
Open s For Input As ifI
Do While Not EOF(1)
Line Input #ifI, linea
j = Len(linea)
'MsgBox linea, vbInformation, "Prova"
riga = riga & linea
Loop
Close #1
riga = InStr(1, riga, "Posizione saldatura :............................. ", 1)
c = Len("Posizione saldatura :............................. ")
riga = riga + c - 4
b = (InStr(1, a, "Posizione saldatura :............................. ", 1))
s = Mid(linea, riga, 25)
'MsgBox s, vbInformation, "Prova"
Foglio12.Cells(f, 8) = s
Else
MsgBox "Scheda " & app & " del TUBO" & Foglio12.Cells(f, 5) & " non è stata Trovata!", vbExclamation, "Impossibile aprire la scheda"
End If
End If
Next i
s = "H" & f
Foglio12.Range("B3", s).Borders.Weight = xlThin
s = "B4:" + s
'Ordina x Lotto
Columns("B:B").Select
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Cl ear
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("B1"), SortOn _
:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Range(s).Select
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Cl ear
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("B4"), SortOn _
:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("P5").Sort
.SetRange Range(s)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Ordina per progressivo e lotto
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Cl ear
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("B4:B25"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("P5").Sort.SortFields.Ad d Key:=Range("D425"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("P5").Sort
.SetRange Range("B3:H25")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub